Я запускаю код gensim word2vec в корпусе резюме (стоп-слова удалены), чтобы идентифицировать похожие контекстные слова в корпусе из списка заранее определенных ключевых слов.
Несмотря на несколько итераций с входными параметрами, удалением стоп-слов и т. Д., Похожие контекстные слова вообще не имеют смысла (с точки зрения расстояния или контекста) Например. корреляция и матрица встречаются в одном окне несколько раз, но матрица не попадает в большинство_подобных результатов для корреляции
Ниже приведены подробные сведения о системе и кодах gensim 2.3.0, работающих на Python 2.7. Резюме обучения Anaconda: 55 418 предложений. Среднее количество слов в предложении: 3-4 слова (после удаления игнорируемых слов) Код:
wordvec_min_count=int()
size = 50
window=10
min_count=5
iter=50
sample=0.001
workers=multiprocessing.cpu_count()
sg=1
bigram = gensim.models.Phrases(sentences, min_count=10, threshold=5.0)
trigram = gensim.models.Phrases(bigram[sentences], min_count=10, threshold=5.0)
model=gensim.models.Word2Vec(sentences = trigram[sentences], size=size, alpha=0.005, window=window, min_count=min_count,max_vocab_size=None,sample=sample, seed=1, workers=workers, min_alpha=0.0001, sg=sg, hs=1, negative=0, cbow_mean=1,iter=iter)
model.wv.most_similar('correlation')
Out[20]:
[(u'rankings', 0.5009744167327881),
(u'salesmen', 0.4948525130748749),
(u'hackathon', 0.47931140661239624),
(u'sachin', 0.46358123421669006),
(u'surveys', 0.4472047984600067),
(u'anova', 0.44710394740104675),
(u'bass', 0.4449636936187744),
(u'goethe', 0.4413239061832428),
(u'sold', 0.43735259771347046),
(u'exceptional', 0.4313117265701294)]
Я не понимаю, почему результаты такие случайные? Есть ли способ проверить точность word2vec?
Также есть ли альтернатива word2vec для функции most_similar ()? Я читал о gloVE, но не смог установить пакет.
Любая информация по этому поводу будет полезна