首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理HuggingFace模型的令牌

处理HuggingFace模型的令牌
EN

Data Science用户
提问于 2021-03-24 03:19:40
回答 1查看 247关注 0票数 1

我有几个问题,关于标记词/字符/表情的不同拥抱面模型。

据我理解,只有当输入语句的令牌在模型的令牌上进行训练时,模型才能在推理过程中表现最佳。

我的问题是:

  1. 是否有一种方法可以轻松地找出某个特定的单词/表情符号是否与模型兼容(在模型培训期间)?(在拥抱的语境中)
  2. 如果在模型培训中没有包含这个单词/表情符号,那么处理这些单词/表情符号的最佳方法是什么,这样的模型推理将提供尽可能好的输出,考虑到将这些单词/表情符号作为输入。(对于2.如果可能的话,如果能在下面的拥抱面设置中回答,那就太好了。)

我目前的设置如下:

代码语言:javascript
复制
from transformers import pipeline, AutoTokenizer, AutoModelForSequenceClassification
pre_trained_model = 'facebook/bart-large-mnli'
task = 'zero-shot-classification'
candidate_labels = ['happy', 'sad', 'angry', 'confused']
tokenizer = AutoTokenizer.from_pretrained(pre_trained_model)
model = AutoModelForSequenceClassification.from_pretrained(pre_trained_model)
zero_shot_classifier = pipeline(model=model, tokenizer=tokenizer, task=task)

zero_shot_classifier('today is a good day ', candidate_labels=candidate_labels)

任何帮助都是非常感谢的。

EN

回答 1

Data Science用户

发布于 2021-03-30 13:20:36

对于第一个问题,您可以使用以下内容检查令牌程序是否覆盖了某个字符串:

代码语言:javascript
复制
text = 'today is a good day '
ids2string = lambda ids: tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(ids))
ids2string(tokenizer(text)['input_ids'])
> <s>today is a good day </s>

如果标记器创建中没有包含emoji,则令牌器将用未知的特殊令牌替换它。您可以使用tokenizer.special_tokens_map['unk_token'].访问它,您可以删除或保留它们,应该不会有太大的区别。

或者,如果要进行微调,可以使用tokenizer.add_special_tokens将自己的令牌添加到现有的令牌程序中。但是,在这种情况下,该令牌的嵌入将是随机的。你需要训练他们。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/91073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档