In [1]:
path = 'F:/my_downloads/seo/'
filename = 'text'
filename_start = path+filename
filename_phrases = path+filename+'-phrases'
filename_bin = path+filename+'.bin'
filename_clusters = path+filename+'-clusters.txt'
import word2vec
word2vec.word2phrase(filename_start, filename_phrases, verbose=True)
word2vec.word2vec(filename_phrases, filename_bin, size=100, verbose=True)
word2vec.word2clusters(filename_start, filename_clusters, 100, verbose=True)
Starting training using file F:/my_downloads/seo/text
Words processed: 1200K     Vocab size: 471K  
Vocab size (unigrams + bigrams): 269277
Words in train file: 1254685
Starting training using file F:/my_downloads/seo/text-phrases
Vocab size: 12103
Words in train file: 1142810
Alpha: 0.002531  Progress: 90.80%  Words/thread/sec: 1187.28k  Starting training using file F:/my_downloads/seo/text
Vocab size: 10121
Words in train file: 1216493
Alpha: 0.001502  Progress: 94.88%  Words/thread/sec: 1191.13k  
In [14]:
import word2vec
model = word2vec.load('F:/my_downloads/seo/text.bin')
model.vocab
model.vectors.shape
Out[14]:
(12103L, 100L)
In [4]:
indexes, metrics = model.cosine('seo')
model.generate_response(indexes, metrics).tolist()
Out[4]:
[(u'\u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433',
  0.8220082438844729),
 (u'\u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0439',
  0.7946355966942703),
 (u'\u0440\u0430\u0441\u043a\u0440\u0443\u0442\u043a\u0430',
  0.793088586857793),
 (u'\u043f\u043b\u043e\u0434\u043e\u0442\u0432\u043e\u0440\u043d\u044b\u0439',
  0.7745861185503472),
 (u'\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0432\u0430\u0442\u044c',
  0.7515910704357612),
 (u'\u0440\u0435\u043f\u043e\u0441\u0442_\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e',
  0.7499990854123586),
 (u'\u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435', 0.7481315499526671),
 (u'\u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0446\u0438\u044f_\u0430\u043a\u0446\u0438\u044f',
  0.7438995704245295),
 (u'\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c_v', 0.7414494117985405),
 (u'\u0431\u043b\u043e\u0433\u0433\u0438\u043d\u0433', 0.7399095591973531)]
In [8]:
indexes, metrics = model.cosine(u'яндекс')
test = model.generate_response(indexes, metrics).tolist()
for i in test:
    print i[0]
гугл
google
поисковый_система
апдейт
санкция
панель_вебмастер
алгоритм
фильтр
топ-_выдача
выпалить
In [42]:
indexes, metrics = model.analogy(pos=[u'заголовок', u'title'], neg=[u'линк'], n=10)
test = model.generate_response(indexes, metrics).tolist()
for i in test:
    print i[0] 
h
идентификация
релевантный
плотность
вхождение
тег_title
вхождение_ключевой
чистый_вхождение
вид
итальянский
In [61]:
clusters = word2vec.load_clusters('F:/my_downloads/seo/text-clusters.txt')
model.clusters = clusters
indexes, metrics = model.analogy(pos=[u'analytics', u'яндекс'], neg=[u'google'], n=10)
test = model.generate_response(indexes, metrics).tolist()
for i in test:
    print i[0] 
близкий_к
различие
воздействие
стоимость_клик
накрутка
возможный_причина
частотный
диаграмма
пересечение
когорта
In [ ]:

Чтобы занять пустое место: Когда-нибудь Word2vec обязательно будет применяться и в этом проекте тоже, возможно даже скоро. Заходим, проверяем сайты, не стесняемся.