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

问题描述 投票:0回答:3

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

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

nlp pytorch bert-language-model
3个回答
11
投票

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

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

1
投票

对于套管部分,检查预训练模型

根据训练方式,输出中存在有案例和无案例的 BERT。

BERT 训练通常在原始文本上完成,使用用于 BERT 的 WordPiece 分词器。

因此不需要词干提取、词形还原或类似的 NLP 任务。

词形还原假设形态词分析返回单词的基本形式,而词干提取通常是粗暴地删除词尾或词缀。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.