【问题标题】:Using trained BERT Model and Data Preprocessing使用经过训练的 BERT 模型和数据预处理
【发布时间】:2021-01-06 19:08:02
【问题描述】:

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

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

【问题讨论】:

    标签: nlp pytorch bert-language-model


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      对于外壳部分,请查看pretrained models

      根据他们的训练方式,输出中有带壳和不带壳的 BERT。

      训练 BERT 通常是在原始文本上,使用 BERT 的 WordPeace 分词器。

      因此没有词干提取或词形还原或类似的 NLP 任务。

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

      【讨论】:

        【解决方案3】:

        在大多数情况下,提供原始文本可以正常工作。如果您想要更具体的答案,请分享您的用例的示例数据。

        【讨论】:

          猜你喜欢
          • 2019-07-23
          • 2020-12-08
          • 2021-06-01
          • 2020-07-04
          • 2014-12-19
          • 1970-01-01
          • 2017-08-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多