SlideShare a Scribd company logo
1 of 23
Word2Vec для поискового
движка II
Сергей Пономарёв
serv@newmail.ru
Первая часть:
slideshare.net/ServPonomarev/word2-vec
Word2Vec, принципы
• Для каждого слова в поисковых запросах
создаётся вектор связи этого слова с другими
словами запроса (би-граммы).
• С использованием нейронных сетей происходит
снижение размерности векторов слов.
• Полученные вектора используются для:

вычисления косинусной меры расстояния
между словами;

кластеризации слов.
Word2Vec в нашей инфраструктуре
• Обученный на логах поисковых запросов Word2Vec
находится:
ltr-cooker-2:/data/SPonomarev/W2V
• В ходе экспериментов не забывайте, что поисковые
запросы — язык специфический, и поэтому хорошие
результаты могут быть получены только по интернет
тематике.
• Доступно два обученных набора:
●
vectors.bin — оценка слов по их окружению (skipgrams);
●
vectors2.bin — оценка слов совместно с их окружением
(bag of words).
Исправление опечаток
Правильно написанные слова и слова с опечатками относятся к единому
кластеру. Это позволяет не только разрешать слова с опечатками, но и
получить список наиболее типичных опечаток:
./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
Транслитерация
./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
Не та раскладка
./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
Названия сайтов
./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
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
Аналогичные торговые марки
./distance vectors.bin
Enter word or sentence (EXIT to break): инфинити
------------------------------------------------------------------------
infiniti 0.802426
ифинити 0.728141
инфинети 0.675174
инфити 0.642169
инфините 0.637356
инфинти 0.603123
инфининити 0.582622
infinity 0.571108
инфини 0.559907
лексус 0.545725
infiti 0.544261
инфиниити 0.532945
инфиити 0.530720
ledsbike 0.522690
хендай 0.518083
инфинит 0.515099
хундай 0.506930
камри 0.506887
Торговые марки - модели
./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
Семантически близкие слова
./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 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
Разница между 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
Кластеризация запроса
Суммируя вектора слов запроса получаем итоговый вектор,
характеризующий запрос в целом.
./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
Кластеризация по ненашенски
./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
Отношения между словами
Требуется найти такое слово, которое относится к Германии так-же, как
Париж относится ко Франции.
./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
Отношения по ненашенски
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
Отношения между словами
Требуется найти такое слово, которое относится к Украине так-же, как доллар
относится к США.
./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
Отношения между словами - переводы
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
Оценка значимости слов в запросе
Рабочая гипотеза: Если кластеризовать запрос в целом, то наиболее значимыми в запросе
словами будут являться слова, максимально удалённые от кластера запроса.
./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
Где уже используется?
●
Расширение списка стоп-слов в
классификаторе геозапросов (QP);
●
Определение класса выводимых на карту
объектов в классификаторе 2ГИС (карты);
●
Расширение запроса синонимами (QP);
●
Расширение названий
достопримечательностей словами с
опечатками в геонтологии (QP).
Как ещё планируется использовать?
Снятие омнимии по контексту и
полнофразный лемматизатор.
Спасибо за внимание
Сергей Пономарёв
serv@newmail.ru

More Related Content

Similar to Word2vec для поискового движка II

C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...corehard_by
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Yandex
 
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareКак сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareYandex
 
Как команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы TizenКак команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы TizenAndrey Karpov
 
SAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеSAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеAndrey Karpov
 
Наташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смертьНаташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смертьYandex
 
CSS-менеджмент в 2016
CSS-менеджмент в 2016CSS-менеджмент в 2016
CSS-менеджмент в 2016Timophy Chaptykov
 
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"Dev2Dev
 
Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаYandex
 
Вёрстка для мобильных телефонов
Вёрстка для мобильных телефоновВёрстка для мобильных телефонов
Вёрстка для мобильных телефоновtoWave.ru
 
Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Yandex
 
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...Tatyanazaxarova
 
Valentin Simonov “Who cracks our games and how that is done”
Valentin Simonov “Who cracks our games and how that is done”Valentin Simonov “Who cracks our games and how that is done”
Valentin Simonov “Who cracks our games and how that is done”DevGAMM Conference
 
Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.StAlKeRoV
 
Статический анализ и написание качественного кода на C/C++ для встраиваемых с...
Статический анализ и написание качественного кода на C/C++ для встраиваемых с...Статический анализ и написание качественного кода на C/C++ для встраиваемых с...
Статический анализ и написание качественного кода на C/C++ для встраиваемых с...Andrey Karpov
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache MahoutTechnopark
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDKrivoy Rog IT Community
 
Коллекция примеров 64-битных ошибок в реальных программах
Коллекция примеров 64-битных ошибок в реальных программахКоллекция примеров 64-битных ошибок в реальных программах
Коллекция примеров 64-битных ошибок в реальных программахTatyanazaxarova
 

Similar to Word2vec для поискового движка II (20)

C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
 
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareКак сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
 
Как команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы TizenКак команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы Tizen
 
SAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеSAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в коде
 
Наташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смертьНаташа Арефьева — Семантика или смерть
Наташа Арефьева — Семантика или смерть
 
CSS-менеджмент в 2016
CSS-менеджмент в 2016CSS-менеджмент в 2016
CSS-менеджмент в 2016
 
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
 
Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кода
 
Вёрстка для мобильных телефонов
Вёрстка для мобильных телефоновВёрстка для мобильных телефонов
Вёрстка для мобильных телефонов
 
Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"
 
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
 
Valentin Simonov “Who cracks our games and how that is done”
Valentin Simonov “Who cracks our games and how that is done”Valentin Simonov “Who cracks our games and how that is done”
Valentin Simonov “Who cracks our games and how that is done”
 
Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.
 
Статический анализ и написание качественного кода на C/C++ для встраиваемых с...
Статический анализ и написание качественного кода на C/C++ для встраиваемых с...Статический анализ и написание качественного кода на C/C++ для встраиваемых с...
Статический анализ и написание качественного кода на C/C++ для встраиваемых с...
 
Sharp 10
Sharp 10Sharp 10
Sharp 10
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
 
Коллекция примеров 64-битных ошибок в реальных программах
Коллекция примеров 64-битных ошибок в реальных программахКоллекция примеров 64-битных ошибок в реальных программах
Коллекция примеров 64-битных ошибок в реальных программах
 

Word2vec для поискового движка II

  • 1. Word2Vec для поискового движка II Сергей Пономарёв serv@newmail.ru Первая часть: slideshare.net/ServPonomarev/word2-vec
  • 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
  • 9. Аналогичные торговые марки ./distance vectors.bin Enter word or sentence (EXIT to break): инфинити ------------------------------------------------------------------------ infiniti 0.802426 ифинити 0.728141 инфинети 0.675174 инфити 0.642169 инфините 0.637356 инфинти 0.603123 инфининити 0.582622 infinity 0.571108 инфини 0.559907 лексус 0.545725 infiti 0.544261 инфиниити 0.532945 инфиити 0.530720 ledsbike 0.522690 хендай 0.518083 инфинит 0.515099 хундай 0.506930 камри 0.506887
  • 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. Как ещё планируется использовать? Снятие омнимии по контексту и полнофразный лемматизатор.
  • 23. Спасибо за внимание Сергей Пономарёв serv@newmail.ru