2. Word2Vec, принципы
• Для каждого слова в поисковых запросах
создаётся вектор связи этого слова с другими
словами запроса (би-граммы).
• С использованием нейронных сетей происходит
снижение размерности векторов слов.
• Полученные вектора используются для:
вычисления косинусной меры расстояния
между словами;
кластеризации слов.
3. Word2Vec в нашей инфраструктуре
• Обученный на логах поисковых запросов Word2Vec
находится:
ltr-cooker-2:/data/SPonomarev/W2V
• В ходе экспериментов не забывайте, что поисковые
запросы — язык специфический, и поэтому хорошие
результаты могут быть получены только по интернет
тематике.
• Доступно два обученных набора:
●
vectors.bin — оценка слов по их окружению (skipgrams);
●
vectors2.bin — оценка слов совместно с их окружением
(bag of words).
4. Исправление опечаток
Правильно написанные слова и слова с опечатками относятся к единому
кластеру. Это позволяет не только разрешать слова с опечатками, но и
получить список наиболее типичных опечаток:
./distance vectors.bin
Enter word or sentence (EXIT to break): преключение
Word: преключение Position in vocabulary: 124515
Word Cosine distance
------------------------------------------------------------------------
приключение 0.748698
преключения 0.726111
приключения 0.692828
приключеия 0.670168
прключение 0.666706
приключеня 0.663286
прключения 0.660438
приключени 0.659609
5. Транслитерация
./distance vectors.bin
Enter word or sentence (EXIT to break): avito
Word: avito Position in vocabulary: 1999
Word Cosine distance
------------------------------------------------------------------------
awito 0.693721
авито 0.675299
fvito 0.661414
авита 0.659454
irr 0.642429
овито 0.606189
аviто 0.598056
6. Не та раскладка
./distance vectors.bin
Enter word or sentence (EXIT to break): пщщпду
------------------------------------------------------------------------
пщщщпду 0.723194
пщщпд 0.721070
пщпд 0.712373
пщппду 0.704579
пщщаду 0.695897
пщщпдк 0.694641
пщпду 0.692646
ппщду 0.681183
пщщп 0.660203
пгпд 0.653649
гугл 0.649897
поопду 0.647420
ппщпду 0.643923
пщщплу 0.641619
нфтвуч 0.640587
пщщпдуюкг 0.631423
пщщпу 0.620105
gogle 0.616396
иштп 0.612234
google 0.608240
7. Названия сайтов
./distance vectors.bin
Enter word or sentence (EXIT to break): гугл
------------------------------------------------------------------------
гугол 0.850174
гугле 0.809912
гогл 0.786360
гугль 0.760508
гоогл 0.734248
гуг 0.731465
гугла 0.726011
гуугл 0.725497
гкгл 0.724901
гугул 0.722874
гогле 0.719596
гугд 0.719277
гугел 0.715329
гугал 0.713950
яндекс 0.695366
google 0.690433
googl 0.669867
8. Cайты - аналоги
./distance vectors.bin
Enter word or sentence (EXIT to break): mail
------------------------------------------------------------------------
rambler 0.777771
meil 0.765292
inbox 0.745602
maill 0.741604
yandex 0.696301
maii 0.675455
myrambler 0.674704
zmail 0.657099
mefr 0.655842
jandex 0.655119
gmail 0.652458
вкmail 0.639919
10. Торговые марки - модели
./distance vectors2.bin
Enter word or sentence (EXIT to break): инфинити
------------------------------------------------------------------------
infiniti 0.746495
фх35 0.738955
ифинити 0.703671
fx35 0.702062
фх 0.684293
инфинети 0.665378
ех35 0.657006
fx37 0.654360
инфиити 0.637436
куикс 0.636734
qx56 0.633903
инфините 0.624106
фх37 0.620566
fx45 0.616750
infinity 0.616650
мурано 0.615190
инфинти 0.612305
м35х 0.611854
фх45 0.609111
qx70 0.608287
ех25 0.608071
11. Семантически близкие слова
./distance vectors.bin
Enter word or sentence (EXIT to break): кофе
------------------------------------------------------------------------
коффе 0.734483
чая 0.690234
чай 0.688656
капучино 0.666638
кофн 0.636362
какао 0.619801
эспрессо 0.599390
кофя 0.595211
цикорий 0.594247
кофэ 0.593993
копучино 0.587324
шоколад 0.585655
капучинно 0.580286
кардамоном 0.566781
латте 0.563224
12. Семантически близкие слова
./distance vectors.bin
Enter word or sentence (EXIT to break): москва
------------------------------------------------------------------------
новосибирск 0.804480
омск 0.787765
красноярск 0.785023
тверь 0.783458
воронеж 0.782832
уфа 0.778134
самара 0.776742
иркутск 0.774995
архангельск 0.772794
екатеринбург 0.770458
брянск 0.770376
казань 0.768221
волгоград 0.765648
тула 0.765345
моска 0.764339
астрахань 0.760762
тамбов 0.755488
рязань 0.755295
13. Разница между skipgrams и bag of words
./distance vectors.bin
Enter word or sentence (EXIT to break): кофе
------------------------------------------------------------------------
коффе 0.734483
чая 0.690234
чай 0.688656
капучино 0.666638
кофн 0.636362
какао 0.619801
эспрессо 0.599390
кофя 0.595211
цикорий 0.594247
кофэ 0.593993
копучино 0.587324
шоколад 0.585655
капучинно 0.580286
кардамоном 0.566781
латте 0.563224
./distance vectors2.bin
Enter word or sentence (EXIT to break): кофе
------------------------------------------------------------------------
зернах 0.757635
растворимый 0.709936
чая 0.709579
коффе 0.704036
mellanrost 0.694822
сублемированный 0.694553
молотый 0.690066
кофейные 0.680409
чай 0.679867
декофеинизированный 0.678563
капучино 0.677856
monoarabica 0.676757
свежесваренный 0.676544
декаф 0.674104
гевалия 0.673163
расстворимый 0.659948
etiopia 0.657329
электротурке 0.652837
14. Кластеризация запроса
Суммируя вектора слов запроса получаем итоговый вектор,
характеризующий запрос в целом.
./distance vectors2.bin
Enter word or sentence (EXIT to break): мобильный телефон
------------------------------------------------------------------------
сотовый 0.811114
телефона 0.776416
смартфон 0.730191
телфон 0.719766
мобильного 0.717972
мобильник 0.706131
телефо 0.698894
тлефон 0.695520
тлф 0.693121
мобильнный 0.692854
телеон 0.688251
телефоны 0.685480
телефрн 0.674768
сотового 0.673612
15. Кластеризация по ненашенски
./distance vectors.bin
Enter word or sentence (EXIT to break): mobile phone
------------------------------------------------------------------------
phon 0.691160
android 0.685729
mobail 0.683566
pfone 0.639239
phoone 0.638273
phones 0.628972
cellphone 0.628955
modile 0.626365
smartphone 0.623621
fhone 0.619103
pda 0.618522
phonr 0.609837
pnone 0.605921
4pda 0.605245
wp8 0.598727
drawbitmap 0.592093
unlock 0.590962
phohe 0.585546
unlocked 0.585184
whatsapp 0.585014
16. Отношения между словами
Требуется найти такое слово, которое относится к Германии так-же, как
Париж относится ко Франции.
./word-analogy vectors2.bin
Enter three words (EXIT to break): франция париж германия
------------------------------------------------------------------------
мюнхен 0.716158
берлин 0.671514
дюссельдорф 0.665014
гамбург 0.661027
кельн 0.646897
амстердам 0.641764
франкфурт 0.638686
прага 0.612585
ашаффенбург 0.609068
дрезден 0.607926
нюрнберг 0.604550
люденшайд 0.604543
гмунден 0.590301
17. Отношения по ненашенски
Enter three words (EXIT to break): france paris germany
---------------------------------------------------------------------
berlin 0.605693
erlangen 0.564802
dakatec 0.558184
hungary 0.552812
koln 0.549028
dresden 0.548145
friedberg 0.547200
hamburg 0.544002
potsdam 0.543372
magdeburg 0.541480
stuttgart 0.540955
bielefeld 0.537488
london 0.537083
18. Отношения между словами
Требуется найти такое слово, которое относится к Украине так-же, как доллар
относится к США.
./word-analogy vectors2.bin
Enter three words (EXIT to break): сша доллар украина
------------------------------------------------------------------------
гривне 0.622719
долар 0.607078
гривны 0.597969
рубля 0.596636
доллара 0.588882
гривна 0.584129
рублю 0.578501
рубль 0.574094
доллару 0.565995
тенге 0.561814
долара 0.561768
валют 0.556239
доллор 0.548859
гривня 0.544302
19. Отношения между словами - переводы
Enter three words (EXIT to break): france франция germany
---------------------------------------------------------------------
германия 0.748171
англия 0.692712
нидерланды 0.665715
великобритания 0.651329
польша 0.643118
голландия 0.634778
португалия 0.631533
венгрия 0.631244
дания 0.630158
австрия 0.627997
бельгия 0.624365
румыния 0.623177
италия 0.609178
швейцария 0.601199
япония 0.600262
норвегия 0.590909
испания 0.588349
шотландия 0.572040
чехия 0.571055
20. Оценка значимости слов в запросе
Рабочая гипотеза: Если кластеризовать запрос в целом, то наиболее значимыми в запросе
словами будут являться слова, максимально удалённые от кластера запроса.
./importance vectors.bin
Enter word or sentence (EXIT to break): купить пиццу в москве
Importance купить = 0.159387
Importance пиццу = 1
Importance в = 0.403579
Importance москве = 0.455351
Enter word or sentence (EXIT to break): скачать сумерки
Importance скачать = 0.311702
Importance сумерки = 1
Enter word or sentence (EXIT to break): владимир путин
Importance владимир = 0.28982
Importance путин = 1
Enter word or sentence (EXIT to break): никита путин
Importance никита = 0.793377
Importance путин = 0.529835
21. Где уже используется?
●
Расширение списка стоп-слов в
классификаторе геозапросов (QP);
●
Определение класса выводимых на карту
объектов в классификаторе 2ГИС (карты);
●
Расширение запроса синонимами (QP);
●
Расширение названий
достопримечательностей словами с
опечатками в геонтологии (QP).
22. Как ещё планируется использовать?
Снятие омнимии по контексту и
полнофразный лемматизатор.