问题标签 [huggingface-tokenizers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
12966 浏览

pytorch - 如何禁用 TOKENIZERS_PARALLELISM=(true | false) 警告?

我使用 pytorch 来训练 huggingface-transformers 模型,但是每个 epoch 总是输出警告:

如何禁用此警告?

0 投票
2 回答
4199 浏览

nlp - 如何使用 HuggingFace 将中文翻译成英文?

我想使用 HuggingFace 使用预训练"xlm-mlm-xnli15-1024"模型的转换器将中文翻译成英文。本教程展示了如何从英语到德语。

我尝试按照教程进行操作,但没有详细说明如何手动更改语言或解码结果。我不知道从哪里开始。抱歉,这个问题再具体不过了。

这是我尝试过的:

0 投票
1 回答
2294 浏览

python-3.x - 拥抱脸:蒙面 lm 问题的标记器

我正在为我的项目使用变压器版本 3.0.0 并且有一些问题。

我想对蛋白质序列使用带有掩码 lm 预训练的 bert 模型。为了获得我从 BertTokenizer 派生的字符级标记器

我的词汇看起来像这样

用法似乎与我在文档中看到的非常相似:

从这里我正在构建一个带有自定义整理功能的 pytorch 数据集。collat​​e 函数所做的就是获取所有输入张量并将它们堆叠起来

问题 1:所以我想知道 BatchEncoding 或其他类是否已经能够做到这一点(并且做得更好?)。或者完全使用不同的 Dataset/DataLoader 类。

问题 2:此外,我想根据屏蔽 LM 的要求屏蔽一些输入,但是我没有设法在转换器库中找到任何实现。有什么建议这样做吗?

0 投票
1 回答
388 浏览

deep-learning - 如何为 CoLA 使用 HuggingFace nlp 库的 GLUE

我一直在尝试使用 HuggingFace nlp 库的 GLUE 指标来检查给定句子是否是语法英语句子。但是我遇到了一个错误并且被卡住而无法继续。

到目前为止我已经尝试过什么;

参考和预测是2个文本句子

我得到的错误;

但是,我可以使用与上述相同的解决方法获得“stsb”的结果(pearson 和 spearmanr)。非常感谢(可乐)的一些帮助和解决方法。谢谢你。

0 投票
0 回答
357 浏览

python - 用 Huggingface 只屏蔽特定的单词

在 LM 培训期间仅掩盖特定单词的最佳策略是什么?

我的目标是在批处理时仅动态屏蔽我之前在列表中收集的感兴趣的单词。

我已经查看了 中的mask_tokens()函数DataCollatorForLanguageModeling class,该函数实际上是在每批期间屏蔽标记,但我找不到任何有效且智能的方法来仅屏蔽特定单词及其相应的 ID。

我尝试了一种简单的方法,包括将每个批次的所有 ID 与要屏蔽的单词 ID 列表进行匹配。但是,for 循环方法对性能有负面影响。

.


关于单词前缀空格的附带问题 - 已修复

感谢 @amdex1 和 @cronoik 帮助解决一个附带问题。之所以出现这个问题,是因为标记器不仅将单个单词拆分为多个标记,而且如果该单词没有出现在句子的开头,它还会添加特殊字符。例如:

“女武神”一词:

  • 在句子的开头被拆分为 ['V', 'alky', 'ria'] 并具有相应的 ID:[846, 44068, 6374]。
  • 而在句子中间为 ['ĠV', 'alky', 'ria'] 对应的 ID:[468, 44068, 6374],

它是通过add_prefix_space=True在标记器中设置来解决的。

0 投票
1 回答
1059 浏览

python - Python ImportError:从转换器导入 BertTokenizer、BertConfig

我正在尝试使用 BERT 在 Python 中进行命名实体识别,并使用pip install transformers . 然后,当我尝试运行此代码时:

我收到此错误:

错误发生在这一行:from transformers import BertTokenizer, BertConfig但我不知道如何解决这个问题。

0 投票
0 回答
329 浏览

python - HuggingFace BartModel 应该定义一个“get_encoder”函数

我正在使用 HuggingFace 预训练模型通过和facebook/bart-large-cnn进行文本摘要。模型和标记器都加载正常:AutoModelAutoTokenizer

但是当我在标记器上调用解码时出现此错误tokenizer.batch_encode_plus

0 投票
1 回答
1710 浏览

nlp - HuggingFace 变形金刚:BertTokenizer 改变字符

我已经从https://github.com/botxo/nordic_bert下载了挪威 BERT 模型,并使用以下方法加载它:

这非常有效,但是当我尝试对给定句子进行标记时,一些北欧字符(例如“ø”和“æ”)保持不变,而所有具有字符“å”的单词都被替换为“a”。例如:

产量:

谢谢

0 投票
0 回答
1260 浏览

huggingface-transformers - “ValueError:您必须在使用 Trainer 时指定 input_ids 或 inputs_embeds”

"ValueError: You have to specify either input_ids or inputs_embeds"从一个看似简单的培训示例中得到:

我的目标是采用预训练模型并根据其他数据进一步训练它。变压器新手。一定是做错了什么。请帮忙!

我改编了https://huggingface.co/blog/how-to-train如下:

上述错误在脚本启动几秒钟后触发,并且是第一个输出。

0 投票
1 回答
149 浏览

merge - BPE 多种方式对单词进行编码

使用 BPE 或 WordPiece 可能有多种方法可以对单词进行编码。例如,假设(为简单起见)令牌词汇表包含所有字母以及合并的符号(“to”、“ke”、“en”)。那么单词“token”可以编码为(“to”,“ke”,“n”)或(“to”,“k”,“en”)。本教程中也提到了这种模棱两可的编码https://blog.floydhub.com/tokenization-nlp/

但是,在 hugginface 教程中提到“BPE 和 WordPiece [...] 以特定顺序制定规则,然后您可以在标记新文本时以相同顺序应用”,请参阅https://huggingface.co/变压器/master/tokenizer_summary.html

在使用 BPE/WordPiece 时,这些规则是如何存储和应用的,例如,在我上面的示例中,它是如何确定要使用哪个标记化的?