NLP - 在预处理期间何时小写文本

Lem*_*mon 5 python nlp machine-learning nltk

我想建立一个语言建模模型,它应该预测句子中的下一个单词,给出前一个单词和/或前一个单词.

使用案例:我想自动编写报告.所以模型应该自动完成我写的句子.因此,重要的是名词和句子开头的单词大写.

数据:数据采用德语,包含许多技术术语.

我的文本语料库是德语,我目前正在进行预处理.因为我的模型应该预测格式正确的句子我决定使用/不使用以下预处理步骤:

  • 没有禁止删除
  • 没有词形还原

  • 用NUMBER替换所有带有数字的表达式

  • 同义词和缩写的规范化
  • 用RARE替换罕见的单词

但是,我不确定是否将语料库转换为小写.在网上搜索时,我发现了不同的意见.虽然较低的套管很常见,但它会导致我的模型错误地预测名词的大写,句子的开头等.

我还发现了在下一个斯坦福页面上只将句子开头的单词转换为小写的想法.

这个用例的最佳策略是什么?我应该将文本转换为小写并在预测后将单词更改为正确的大小写吗?我应该按原样离开大写吗?我应该只在句子开头小写单词吗?

非常感谢任何建议和经验!

Moh*_*hif 6

我认为对于您的特定用例,最好将其转换为小写,因为最终,您需要预测给定某个上下文的单词.您可能不需要预测用例中的句子开头.此外,如果预测名词,您可以稍后将其大写.但是请考虑反过来.(假设你的语料库是英文的)你的模型可能会处理一个句子开头的单词,这个单词的大写字母与句子后面出现但后面没有任何首字母的同一个单词不同.这可能会导致准确性下降.我认为,降低这些话会更好.我在问答系统上做了一个项目,将文本转换为小写是一个很好的权衡.

编辑:由于您的语料库是德语,因此保留大写是更好的,因为它是德语的一个重要方面.

如果它有任何帮助,Spacey支持德语.你用它来训练你的模型.