我在python上的Gensim上训练我自己的word2vec模型,在一个相对较小的数据集上。该数据由来自不同人的约3000个短文本条目组成,其中大多数是两个或三个句子。我知道这对于word2vec数据集来说很小,但我见过类似的数据集在过去。
出于某种原因,当我训练我的模型时,所有的功能都不切实际地彼此接近。例如:
model.most_similar('jesus/NN')
[(u'person/NN', 0.9999418258666992),
(u'used/VB', 0.9998890161514282),
(u'so/RB', 0.9998359680175781),
(u'question/NN', 0.9997845888137817),
(u'just/RB', 0.9996646642684937),
(u'other/NN', 0.9995589256286621),
(u'allow/VB', 0.9995476603507996),
(u'feel/VB', 0.9995381236076355),
(u'attend/VB', 0.9995047450065613),
(u'make/VB', 0.9994802474975586)]
包含词性,因为我将数据推理出来。
这是我的培训代码:
cleanedResponses = []
#For every response
for rawValue in df['QB17_W6'].values:
lemValue = lemmatize(rawValue)
cleanedResponses.append(lemValue)
df['cleaned_responses'] = cleanedResponses
bigram_transformer = Phrases(df.cleaned_responses.values)
model = Word2Vec(bigram_transformer[df.cleaned_responses.values], size=5)
当我没有使用二元变压器进行训练时也会发生这种情况。有没有人知道为什么距离如此接近?