query expansion

65
Тезаурусные расширения в информационном поиске Евгений Соловьёв,

Upload: nlpseminar

Post on 29-Nov-2014

1.594 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Query expansion

Тезаурусные расширения в информационном поиске

Евгений Соловьёв,

Page 2: Query expansion

О чём эта лекция?

• Что такое тезаурусные расширения и почему они так важны при поиске?

• Какие бывают виды тезаурусных расширений?

• Как устроен общий процесс автоматической сборки тезауруса?

• Как используется машинное обучение в этом процессе?

• Примеры

Page 3: Query expansion

Поисковые системы: от сложного к простому

Специализированные поисковые системы:

• рассчитаны на подготовленного пользователя

• требуют максимально полной спецификации запроса

• выдают результаты, точно соответствующие запросу

Page 4: Query expansion

Поисковые системы: от сложного к простому

Массовые поисковые системы:

• рассчитаны на рядового пользователя

• пытаются «понимать» запрос в произвольной формулировке

• нацелены на удовлетворение распознанных информационных потребностей пользователя

Page 5: Query expansion

Расширение запросов – основная идея

• Тезаурусное расширение запросов –процесс дополнения, переформулировкизапросов с целью улучшения ответа на поисковый запрос

• Цель: по исходной формулировке запроса найти также информацию по другим запросам, имеющим тот же смысл

Page 6: Query expansion

Расширение запросов – пример 1

• [Московский мэр] или [Мэр Москвы]?

Page 7: Query expansion

Расширение запросов – пример 2

• [Форд СПб] или [Петербург Ford]?А может [Форд Санкт-Петербург]?..

Page 8: Query expansion

Зачем нужны расширения запросов?

• Интернет полон информации самого различного характера

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

• Тезаурусные расширения помогают находить по одной формулировке запроса остальные, равные по смыслу, ответы

Page 9: Query expansion

Синонимичность – что имеется ввиду?

• Мы подразумеваем синонимичность в широком смысле этого слова – насколько 2 различных по написанию терма взаимозаменяемы

• Степень синонимичности – доля контекстов использования, в которых оба терма имеют один и тот же смысл

Page 10: Query expansion

Какие бывают виды тезаурусных расширений?

• Словообразовательные расширения(аббревиатура → аббревиация, петербург → петербургский)

• Транслитерация (Bosch → Бош, nokia → нокиа)• Аббревиатуры (короткие волны → кв,

СПбГУ → Санкт-Пербургский Государственный Университет)

• Просто синонимы (бегемот → гиппопотам,недорогой → дешёвый, оксид → окись)

• Склейка-разрезание (авто кредит → автокредит, киноафиша → кино афиша)

Page 11: Query expansion

Что расширять: запрос или отдельные термы?

• Что же нам расширять? Запросы целиком либо отдельные термы?[московский мэр] → [мэр Москвы]

[московский мэр]: московский → Москва

• Решение проблемы: расширять отдельные термы в контексте запроса

Page 12: Query expansion

Запросные термы

Терм – атомарная семантическая единица запроса:

• Стоп-слова не могут быть термами

• Термы могут быть одно-(«Петербург») или многословными («Майкл Джексон», «Большой андронный коллайдер») в случае, когда эти слова описывают один объект, и эти объекты составляют наш “легковесный” тезаурус

Page 13: Query expansion

Запросный терм – нечёткое понятие

• “Что такое телевизор?” ответят 99% людей

• “Что такое транзистор?” ответят 55% людей

• “Что такое тезаурусные расширения?” лишь 0,0001% людей смогут дать ответ

• Определение терма может зависеть от:

– Языка

– Предметной области

– Географического региона

– …

Page 14: Query expansion

Расширение запросов – общая архитектура

Запрос

Page 15: Query expansion

Расширение запросов – общая архитектура

• Словарь тезаурусных расширений:

– Содержит сведения об известных нам термах и о том, как их нужно расширять

– Может содержать дополнительную метаинформацию (например, о контекстах)

• Логика срабатывания расширений:

– Определяет, когда и как должны срабатывать расширения запросов

Page 16: Query expansion

Словарь тезаурусных расширений

Автоматическая процедура позволяет:

• Получение словарей невиданной полноты и актуальности

– сотни тысяч связей между словами

• Словари, отражающие интернет-лексику

– например, язык padonkaff

• Сбор вместе со словарями метаинформации для лучшего применения в поиске

Page 17: Query expansion

Процесс сборки словаря расширений

Майнинигисходных гипотез

Лингвистическая модель

Статистика совместной

встречаемости

Разметка синонимичности

гипотез

Очистка словаря с помощью

машинного обучения

Page 18: Query expansion

Разметка синонимичности гипотез и оценка качества словаря

• «словарная» - безконтекстная оценка словаря

• «контекстная» - оценка расширений в контексте запроса

• «оценка поисковой выдачи» - оценка улучшения качества поиска от использования расширений

Page 19: Query expansion

Оценка качества тезаурусных расширений – словарная

Оценка словаря:

• Контекст отсутствует, полагаемся на априорное мнение эксперта о синонимичности пары слов

• В сомнительных случаях приходится придумывать подтверждающие или опровергающие контексты

• Полезна только для грубой оценки качества словаря или предварительной фильтрации:

<ericsson, эриссон> - плохо

<ericsson, эриксон> - хорошо

Page 20: Query expansion

Оценка качества тезаурусных расширений – контекстная

• Контекст позволяет делать более однозначные выводы о взаимозаменяемости словарной пар

• Пример:

[victor hugo] (hugo → гюго)

[hugo boss] (hugo → {хьюго, хуго})

Page 21: Query expansion

Оценка качества тезаурусных расширений – качество поиска

• Измерение влияния всей подсистемы тезаурусных расширений на общее качество поиска

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

• Данная метрика должна использоваться лишь совместно с предыдущей

Page 22: Query expansion

Документные статистики синонимичности

• Насколько часто словарная пара появляется на одной Web-странице? Расстояние между словами не учитывается

• Поиск синонимов по шаблонам:

…участник комик-группы «Монти Пайтон» (Monthy Python)

…гиппопотам обладает немалой силой. В 1983 году один бегемот …

• При сборе статистик большое значение имеет учёт качества обрабатываемых Web-страниц

Page 23: Query expansion

«Линковость» синонимов

• Насколько часто пара слов встречается в текстах ссылок на данную страницу?

• Значение имеют как остальной приссылочный текст, так и её значимость

Кто станет новым мэром Москвы? Московский мэр

должен продемонстрировать открытость при...Голосование по

кандидату в мэрыМосквы покажут на

сайте Мосгордумы

Page 24: Query expansion

Синонимичность по переформулировкам

• Замена пользователем части запроса при поиске

• [ректор МГУ][ректор Московского Государственного Университета]

• [обзор автомобиля форд фокус]

[обзор автомобиля ford focus]

Page 25: Query expansion

Транслитерация

Page 26: Query expansion

Что это такое?

Транслитерация

• различные языки могут иметь разную письменность

• Русский язык не исключение• Транслитерация – системный способ

преобразования слов из одного алфавита в другой

• для получения качественного поиска необходимо уметь обрабатывать различные написания слов

photo фото φωτο

Page 27: Query expansion

Каковы основные случаи транслитерации?

Транслитерация

• Имена собственные:Albert Einstein ↔ Альберт Эйнштейн

↔КГБ ↔ KGB

• Заимствованные слова:computer ↔ компьютер перестройка ↔ perestroyka

• URL, логины и прочие идентефикаторы

Page 28: Query expansion

Когда происходит транслитерация?

Транслитерация

• Off-line (по словарю)– используя предварительно собранный словарь, что позволяет использовать любые статистики для его получения

• On-line (транслитерация “на лету”) –обычно имеет худшую точность, но позволяет преобразовывать любые, даже ранее неизвестные слова

Page 29: Query expansion

Откуда берутся транслитные гипотезы?

Транслитерация

Page 30: Query expansion

Откуда берутся транслитные гипотезы?

Транслитерация

• Данные обо всех когда-либо заданных в Яндекс запросах

• «Замороженная» копия интернета – все возможные ответы на них

Page 31: Query expansion

Но что же делать с таким огромным набором неструктурированных данных?

Транслитерация

• Пусть нам известно 12 миллионов словоформ на кириллице и латинице

• Примерно 72x1012 возможных однословных пар слов

• Около 17x1012 возможных пар слов из разных алфавитов

Page 32: Query expansion

Как происходит майнинг транслитных гипотез?

Транслитерация

Основная идея: итеративно сокращать количество гипотез, оставляя лишь те из них, что имеют хоть какие-либо шансы подтвердить свою полезность

Linguisticmodel

Co-occurence

Dictionaryrefinement

17x1012

возможных словарых пар

527,824транслитныхсинонимов

Page 33: Query expansion

“Лингвистическая модель”

Транслитерация

• Мы хотим собирать только транслитерационные синонимы

• Лингвистическая модель транслитерации является её формальным описанием

• Использование модели позволяет значительно сократить количество гипотез

Page 34: Query expansion

Модель транслитерации, основнная на правилах(M1)

Транслитерация

• Использует известные правила и стандарты транслитерации

• Представляет собой таблицы возможных переходов, по одной на каждый распространённый язык

• Пытается найти послоговоесоответствие у пары слов, штрафуя за оставшие непреобразованными буквы

Page 35: Query expansion

Модель транслитерации, основнная на правилах - пример

Транслитерация

a ↔ а

ai ↔ е

ai ↔ э

eau ↔ о

eu ↔ э

eu ↔ ё

es ↔ _

ville ↔ виль

Page 36: Query expansion

Модель транслитерации, основнная на правилах – пример использования

Транслитерация

Являются ли слова“Johansson →Йохансон” транслитом? Заглянем в таблицу:

j ↔ дж

o ↔ о

h ↔ г

h ↔ х

a ↔ а

a ↔ э

n ↔ н

ss ↔ с

Page 37: Query expansion

Модель транслитерации, основнная на правилах – пример использования

Транслитерация

J o h a n ss o n

Й о х а н с о н

+10 penalty

Page 38: Query expansion

Вероятностная модель транслитерации (M2)

Транслитерация

• Обучается на большом параллельном корпусе правильных транслитераций

• Модель представляет собой вероятностное распределение слогов целевого слова при условии заданного слогового шаблона исходного

• Для каждой гипотезы модель вычисляет вероятность её «транслитности»

Page 39: Query expansion

Вероятностная модель транслитерации - пример

Транслитерация

a.ch.aue → а (1.000)

a.ch.ay → а (0.833) ачае (0.167)

a.ch.aye → а (1.000)

a.ch.e → а (0.957) е (0.016) ей (0.014)

э (0.006) о (0.005) эй (0.003) я (0.003)

a.ch.ea → а (0.778) о (0.111) ей (0.111)

a.ch.ee → а (1.000)

a.ch.ei → а (1.000)

a.ch.ey → а (0.500) ей (0.250) э (0.250)

Page 40: Query expansion

ТранслитерацияВероятностная модель транслитерации –пример применения

йохансон

(6.446)

йогансон

(5.745)

йоханссон

(4.919)

иохансон

(1.422)

джохансон

(1.311)

иогансон

(1.269)

иоханссон

(1.085)

джоханссон

(1.000)

ёхансон

(0.427)

юхансон

(0.387)

йохонсон

(0.342)

югансон

(0.341)

хансон

(0.333)

гансон

(0.298)

юханссон

(0.292)

ханссон

(0.255)

янсон

(0.192)

джохэнсон

(0.142)

йонсон

(0.103)

йонссон

(0.079)

хогенсон

(0.068)

джансон

(0.067)

жансон

(0.066)

хэнсон

(0.036)

йоханссен

(0.027)

Page 41: Query expansion

Транслитерация

Лингвистическая модель - результаты

• Количество гипотез сокращено до 59миллионов транслитерационных пар

• Каждая из моделей даёт >90% полноты, но точность всё ещё остаётся на очень низком уровне

• Рейтинги “транслитности”каждой из моделей дают нам возможности для дальнейшего повышения точности

Page 42: Query expansion

ТранслитерацияЛингвистическая модель – уточнение с помощью машинного обучения

• Идея: скомбинировать рейтинги, полученные от моделей, чтобы в полной мере раскрыть их потенциал

• Результат: 95,2% полноты при 91% точности словарной “транслитности”

• Количество гипотез сокращено до 1,8миллионов подтверждённых транслитов

• Рейтинг значимости показателей:

Page 43: Query expansion

ТранслитерацияЛингвистическая модель – уточнение с помощью машинного обучения

0

5

10

15

20

25

30

35

40

45

M1 Penalty/word

length

M2 Probability Number of words

M2 Ranking M1 Language M1 Penalty

Значимость показателей

Page 44: Query expansion

ТранслитерацияХорошие транслитерации

≠ хорошие синонимы• Возможное изменение значения слова:

magazine → магазин (meaning “shop”)

• Подмена подразумеваемого объекта (сложно для обнаружения):respublica → республика

• Просто бессмысленная транслитерация:

tekst pesni

Page 45: Query expansion

ТранслитерацияВыделение синонимов при помощи статистики их совместного использования

Характеристики для определения взаимозаменяемости слов

Web link structure

User sessions

Web docu

ments

Page 46: Query expansion

ТранслитерацияРазличные методы машинного обучения применительно к задаче определения синонимичности

Тип

модели

Ошибка

обуч.

Ошибка

тест. Примечание

gbm 0,22% 11,81% distribution="adaboost"

interaction.depth=4

randomForest 0,00% 13,38%ntree=100

Logistic

regression25,42% 23,62%

SVM 3,71% 13,38%nu = 0.5,gamma = 1

radial nu-classification

Decision

trees17,21% 30,70%

Page 47: Query expansion

ТранслитерацияВажность характеристик для определения синонимичности

0

2

4

6

8

10

12

14

gbm

randomForest

Page 48: Query expansion

ТранслитерацияВажность характеристик для определения синонимичности – Web

0

2

4

6

8

10

12

14

gbm

randomForest

Page 49: Query expansion

ТранслитерацияВажность характеристик для определения синонимичности - запросные

0

2

4

6

8

10

12

14

gbm

randomForest

Page 50: Query expansion

ТранслитерацияВажность характеристик для определения синонимичности - линковые

0

2

4

6

8

10

12

14

gbm

randomForest

Page 51: Query expansion

Словообразовательные расширения

Page 52: Query expansion

Что это такое?

Словообразовательные расширения

• Различные слова, образованные друг от друга либо от третьего слова

• Схожие по смыслу формы одной части речи:

авантюрность ↔ авантюризм• Разные части речи, производные

одна от другой:митино ↔ митинский

Page 53: Query expansion

Не всё так гладко…

Словообразовательные расширения

• Однокоренные слова, далёкие по смыслу:цена ↔ ценностьбанковый ↔ банк

• Омонимичность одного из слов:карточный ↔ карта

• Не связанные между собой слова:тёма ↔ тёмный

Page 54: Query expansion

Лингвистическая модель

Словообразовательные расширения

• Находим однокоренные слова• Выделяем из них самые

популярные суффиксные модели:абхазец ↔ абхазский : <-ец, -ский>абонентный ↔ абонирование: <-ентный, -ирование>этапный ↔ этапность: <-ый, -ость>

• Применяем вычисленные частоты для оценки новых слов

Page 55: Query expansion

Этапы фильтрации

Словообразовательные расширения

100% Все словообразовательные

92,1% Исходные гипотезы 44 млн.

90,7% Фильтр по общему префиксу 5,6 млн.

84,4% Фильтрация по суфф. модели 500 тыс.

83,9% Фильтрация по встречаемости слов

273 тыс.

82,3% Фильтр взаимозаменяемости 88 тыс.

Page 56: Query expansion

Аббревиатуры

Page 57: Query expansion

Что это такое?

Аббревиатуры

• Используются для сокращения часто употребимых фраз и терминов

• Лингвистическая модель кажется крайне простой – берём первые буквы/слоги из каждого слова и…

• Но всё не всегда так просто…

Page 58: Query expansion

Аббревиатуры формируются довольно просто…

Аббревиатуры

Московский Государственный Университет

МГУ

RuSSIR

Russian Summer School in Information Retrieval

Page 59: Query expansion

…но иногда сложнее

Аббревиатуры

НАТО

NATO

North Atlantic Treaty Organization

Организация Североатланического Договора

transliteration

translation

abbreviation

Page 60: Query expansion

Не из каждой фразы выходит аббревиатура

Аббревиатуры

• Лишь малая часть устоявшихся фраз образует аббревиатуру

• Например, посмотрим на фразы, образующие аббревиатуру “RuSSIR”:

Page 61: Query expansion

Что могло бы означать слово “RuSSIR”?Аббревиатуры

Russian Summer School in Information Retrieval

ruption of the serotonin system in immature rats

ru siteuri scrise in romanarupa se sparge i radurue statement showing in respect

ruj si sklepy irestauracje

ru sodo sklypas irvint rajone

rung setzt sich im rahmen

rujce stan systemu iraportujce

run the shell scripts in the rc

Page 62: Query expansion

Омонимичность аббревиатур

Аббревиатуры

• Простой случай –однозначные (практически) аббревиатуры:

IEEE (I triple E) – Institute of Electrical and Electronics Engineers

МГУ – Московский Государственный Университет

Page 63: Query expansion

Омонимичность аббревиатурАббревиатуры

• Сложный случай – неоднозначная аббревиатура:

- с другими словами :

мэг -> Мэг Райан или моноэтиленгликоль- с другими аббревиатурами:

CSS^(cascading style sheets) styles илиCSS^(content scrambling system) license

…и даже МГУ в Мордовии может означать“Мордовский Государственный Университет”!

Page 64: Query expansion

Как разрешить неоднозначность?

Аббревиатуры

• Предварительно собираем статистику о контекстах расширений:– частоты слов в контексте запроса –

биграммы или «мешки слов»

– учёт семантики запроса и расширения

– любая другая информация о контексте, имеющая значимую корелляцию с расширением (например, регион пользователя и т.п.)

Page 65: Query expansion

Вопросы?