word2vec训练前语料库的词形化

时间:2014-05-26 20:35:36

标签: nlp word2vec gensim lemmatization

Word2vec似乎主要是针对原始语料库数据进行培训。然而,词形还原是许多语义相似性任务的标准预处理。我想知道是否有人在训练word2vec之前有使词库语法化的经验,以及这是否是一个有用的预处理步骤。

2 个答案:

答案 0 :(得分:5)

我认为用这个解决你想解决的问题真的很重要。这取决于任务。

基本上通过词形还原,您可以使输入空间更稀疏,如果您没有足够的训练数据,这可能会有所帮助。

但是,由于Word2Vec相当大,如果你有足够大的训练数据,词形还原不应该让你获得太多。

更有趣的是,如何针对W2V(或其他任何内容)中现有的单词向量词进行标记化。就像“好松饼在纽约花费3.88美元一样。”需要被标记为['Good','muffins','cost','$','3.88','in','New York。'然后你可以用它的W2V向量替换它。挑战在于,我将一些标记符“纽约”称为“新纽约”,这没有多大意义。 (例如,NLTK犯了这个错误https://nltk.googlecode.com/svn/trunk/doc/howto/tokenize.html)当你有很多多字短语时,这是一个问题。

答案 1 :(得分:3)

我正在研究的当前项目涉及使用Word2Vec创建的向量空间在生物学论文摘要中识别基因名称。当我们运行算法而不使语料库进行语法化时,主要出现了两个问题:

  • 词汇量太大了,因为你有不同形式的单词,最终具有相同的含义。
  • 如上所述,你的空间越来越稀疏,因为你得到更多代表某个"意思"但同时,其中一些含义可能会在其代表中分开,让我澄清一下举个例子

我们目前对首字母缩略词BAD认可的基因感兴趣。同时,"坏"是一个英语单词,有不同的形式(严重,最糟糕,......)。由于Word2vec基于上下文(其周围的单词)概率构建其向量,当您不将这些形式中的某些形式引理时,最终可能会丢失其中某些单词之间的关系。这样,在BAD的情况下,你最终会得到一个更接近基因名称而不是向量空间中的形容词的单词。