word2vec的作者是如何从语料库抽取词组的?

1. phrase公式基本介绍

在将语料库喂给word2vec进行训练之前,我们首先需要将其中一些常见的词组组合起来变成一个单词,这样对训练的精度会非常有帮助。

word2vec的作者采用的是下面的公式:

wi,wj : 第i跟第j个单词  (实际上我认为j=i+1, 不需要用两个下标)

δ 是一个调节参数。 (由于字体问题,公式截图跟文字里面的delta看起来不完全一样)

 

在gensim之中,这个公式稍有不同:

score = ( cnt(a, b) –  min_count ) * N / (cnt(a) * cnt(b))

其中: a,b 分别是两个单词, N为所有单词的总数。 可以认为min_count ≈ δ

 

2. gensim使用提示

gensim之中可以通过下面的代码自动生成bigram:

其中sentences为str list.比如:[“a b c”, “a b c d”]

根据上面的公式,第一次运行只能生成bigram,如果需要生成3,4gram 词组,只需要将bigram phrase替换进去之后再重复运行一次即可。

比如第一次生成了New_York, 再运行一次,就可以生成New_York_Times这个词组了。

 

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注