使用经过训练的 BERT 模型和数据预处理

SFD*_*SFD 10 nlp pytorch bert-language-model

当使用 pytorch 中预先训练的 BERT 嵌入(然后进行微调)时,是否应该像任何标准 NLP 任务一样对输入模型的文本数据进行预处理?

例如,应该执行词干提取、删除低频单词、去大写字母化,还是应该将原始文本简单地传递给“transformers.BertTokenizer”?

小智 11

我认为预处理不会改变你的输出预测。我会尽力解释你提到的每个案例 -

  1. 词干提取或词形还原:Bert 使用 BPE(字节对编码来缩小其词汇大小),因此像 run 和 running 这样的词最终将被解码为run + ##ing。 因此,最好不要将running转换为run,因为在某些 NLP 问题中,您需要该信息。
  2. De-Capitalization - Bert 提供两种模型(小写和无大小写)。一个将你的句子转换为小写,其他的不会因你的句子的大小写而改变。因此,您无需在此处进行任何更改,只需选择适合您的用例的模型即可。
  3. 删除高频词- Bert 使用 Transformer 模型,该模型基于注意力原理。因此,当您针对任何问题对其进行微调时,它只会查看那些会影响输出的单词,而不是所有数据中常见的单词。


Adn*_*n S 0

在大多数情况下,输入原始文本效果很好。如果您需要更具体的答案,请分享有关您的用例的示例数据。