Sim*_*n H 5 nlp stanford-nlp gensim word2vec doc2vec
一些关于词和文档嵌入主题的论文(word2vec、doc2vec)提到他们使用斯坦福 CoreNLP 框架来标记/词形还原/词性标记输入的词/句子:
语料库使用斯坦福 CoreNLP (Manning et al., 2014) 进行词形还原和 POS 标记,并且每个标记都被替换为其引理和词性标记
( http://www.ep.liu.se/ecp/131/039/ecp17131039.pdf )
对于预处理,我们使用斯坦福 CoreNLP 对单词进行标记和小写
( https://arxiv.org/pdf/1607.05368.pdf )
所以我的问题是:
为什么第一篇论文应用 POS 标签?然后每个令牌会被替换为类似的东西{lemma}_{POS},整个东西用来训练模型吗?还是标签用于过滤令牌?例如,gensims WikiCorpus 默认应用词形还原,然后只保留几种类型的词性(动词、名词等)并去除其余部分。那么推荐的方式是什么?
在我看来,第二篇论文中的引述就像他们只是将单词分开然后小写。这也是我在使用维基语料库之前第一次尝试的。在我看来,这应该为文档嵌入提供更好的结果,因为大多数 POS 类型都有助于句子的含义。我对吗?
在最初的 doc2vec 论文中,我没有找到有关其预处理的详细信息。
对于你的第一个问题,答案是“这取决于你想要完成什么!”
没有推荐的方法来预处理文本。要清理文本语料库,通常第一步是tokenization和lemmatization。接下来,要删除不重要的术语/标记,您可以删除stop-words甚至应用POS tags,以便能够根据其语法类别删除标记,基于某些语法类别(例如形容词)不包含对建模有价值的信息的假设例如一个主题。但这完全取决于预处理步骤后您要进行的分析类型。
对于问题的第二部分,如上所述,标记化和lower case标记是预处理例程的标准部分。所以我也怀疑,无论稍后使用什么 ML 算法,如果你仔细地预处理你的数据,你的结果会更好。我不确定 POS 标签是否有助于句子的含义。
希望我为您的研究提供了一些有价值的反馈。如果没有,您可以提供代码示例来进一步讨论此问题。