使用word2vec时删除停用词

时间:2016-01-11 12:49:11

标签: nlp gensim word2vec

我一直在使用gensim的word2vec库尝试word2vec一段时间。我的问题是我是否必须从输入文本中删除停用词?因为,根据我最初的实验结果,当我执行<div id="customerdetailsDIV" class="well main-well clearfix"> @Html.Partial("_customer_details", Model.customerviewmodel) </div> 时,我会看到&#39;&#39;,&#39; ...(停用词)弹出的字样?

但我没有看到任何提到word2vec需要删除停用词的地方? word2vec是否应该处理停用词,即使你没有删除它们?

预处理事项必须做些什么(比如主题建模,你几乎必须要删除掉词)?

2 个答案:

答案 0 :(得分:29)

Gensim的实现基于word2vec的原始Tomas Mikolov模型,然后根据频率自动对所有频繁的单词进行下采样。

the paper中所述:

  

我们展示了训练期间频繁单词的子采样结果   显着的加速(大约2x - 10x),并提高了准确性   不常用词的表示。

这意味着这些词有时不会在要预测的词的窗口中被考虑。默认为0.001的样本参数用作修剪这些单词的参数。如果您想删除一些根据频率不会删除的特定停用词,您可以这样做。

总结:如果您停止删除单词,结果将不会产生任何显着差异。

答案 1 :(得分:9)

Personaly我认为,删除停用词会产生更好的效果,请检查Tokenization.

同样对于主题建模,您应该按照必须执行的操作对文本执行预处理,

  1. 删除停用词。
  2. Stemming and Lemmatization
  3. strtotime()