【问题标题】:word2vec lemmatization of corpus before training训练前语料库的word2vec词形还原
【发布时间】:2014-07-15 15:43:40
【问题描述】:

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

【问题讨论】:

  • 你的意思是来自gensim的word2vec?
  • 是的,但通常也是 word2vec 算法
  • 例如,土耳其语具有凝集(en.0wikipedia.org/…)特征,这是非常复杂的形态学检查。对于这些情况,需要进行词干提取/词形还原,以便将语料库精简为一个非常合理的小集合。

标签: nlp word2vec gensim lemmatization


【解决方案1】:

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

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

但是由于 Word2Vec 相当大,如果你有足够大的训练数据,词形还原应该不会给你带来太多好处。

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

【讨论】:

  • >> “更有趣的是,如何根据 W2V(或其他任何东西)中现有的词向量分类进行标记化”,在这种情况下,标记化是什么意思?谢谢
  • 就像“纽约的好松饼售价 3.88 美元\”。需要将其标记为 ['Good', 'muffins', 'cost', '$', '3.88', 'in', 'New York.'] 然后您可以将其替换为来自 W2V 的向量。挑战在于,一些标记器将“纽约”标记为 ['New' 'York'],这没有多大意义。 (例如 NLTK 犯了这个错误nltk.googlecode.com/svn/trunk/doc/howto/tokenize.html)当你有很多多词短语时这是一个问题。
  • >>“基本上通过词形还原可以使输入空间更稀疏”。你的意思是如果你同时保留标记的词形还原和原始形式?否则词形还原不会使输入空间更小吗?
  • 词形还原使数据更加密集,从而减少了充分训练所需的数据量。
【解决方案2】:

我正在进行的当前项目涉及使用 Word2Vec 创建的向量空间识别生物学论文摘要中的基因名称。当我们在不对语料库进行词形还原的情况下运行算法时,主要会出现两个问题:

  • 词汇量太大了,因为你有不同形式的单词最终具有相同的含义。
  • 如上所述,您的空间变得不那么稀疏了,因为您获得了更多代表某种“意义”,但与此同时,其中一些意义可能会在其代表之间分裂,让我举个例子来说明一下李>

我们目前对首字母缩写词 BAD 识别的基因感兴趣。同时,“bad”是一个英文单词,有不同的形式(badly,worst,...)。由于 Word2vec 基于上下文(其周围的词)概率构建其向量,因此当您不对其中一些形式进行词形还原时,您最终可能会丢失其中一些词之间的关系。这样,在 BAD 情况下,您最终可能会得到一个更接近基因名称的词,而不是向量空间中的形容词。

【讨论】:

  • 如果首字母缩写词始终为 BAD,则使标记区分大小写。
  • 但是,出现在句子开头的每个单词都会产生很多噪音,因此以大写字母开头。另一种方法是使用词性标记将“坏”识别为名词或形容词
猜你喜欢
  • 2021-07-08
  • 2021-10-22
  • 1970-01-01
  • 2016-07-28
  • 2019-08-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
相关资源
最近更新 更多