word2vec для поискового движка ii

23
Word2Vec для поискового движка II Сергей Пономарёв [email protected] Первая часть: slideshare.net/ServPonomarev/word2-vec

Upload: -

Post on 20-Jul-2015

1.108 views

Category:

Data & Analytics


6 download

TRANSCRIPT

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

Сергей Пономарёв[email protected]

Первая часть: slideshare.net/ServPonomarev/word2-vec

Word2Vec, принципы

• Для каждого слова в поисковых запросах создаётся вектор связи этого слова с другими словами запроса (би-граммы).

• С использованием нейронных сетей происходит снижение размерности векторов слов.

• Полученные вектора используются для:

вычисления косинусной меры расстояния между словами;

кластеризации слов.

Word2Vec в нашей инфраструктуре

• Обученный на логах поисковых запросов Word2Vec находится:

ltr-cooker-2:/data/SPonomarev/W2V

• В ходе экспериментов не забывайте, что поисковые запросы — язык специфический, и поэтому хорошие результаты могут быть получены только по интернет тематике.

• Доступно два обученных набора:

● vectors.bin — оценка слов по их окружению (skipgrams);● vectors2.bin — оценка слов совместно с их окружением

(bag of words).

Исправление опечаток

Правильно написанные слова и слова с опечатками относятся к единому кластеру. Это позволяет не только разрешать слова с опечатками, но и получить список наиболее типичных опечаток:

./distance vectors.binEnter 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.binEnter 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.binEnter 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.binEnter 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.binEnter 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.binEnter 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.binEnter 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.159387Importance пиццу = 1Importance в = 0.403579Importance москве = 0.455351

Enter word or sentence (EXIT to break): скачать сумерки

Importance скачать = 0.311702Importance сумерки = 1

Enter word or sentence (EXIT to break): владимир путин

Importance владимир = 0.28982Importance путин = 1

Enter word or sentence (EXIT to break): никита путин

Importance никита = 0.793377Importance путин = 0.529835

Где уже используется? ● Расширение списка стоп-слов в

классификаторе геозапросов (QP);

● Определение класса выводимых на карту объектов в классификаторе 2ГИС (карты);

● Расширение запроса синонимами (QP);

● Расширение названий достопримечательностей словами с опечатками в геонтологии (QP).

Как ещё планируется использовать?

Снятие омнимии по контексту и полнофразный лемматизатор.

Спасибо за вниманиеСергей Пономарёв

[email protected]