2. О чём эта лекция?
• Что такое тезаурусные расширения и
почему они так важны при поиске?
• Какие бывают виды тезаурусных
расширений?
• Как устроен общий процесс
автоматической сборки тезауруса?
• Как используется машинное обучение в
этом процессе?
• Примеры
3. Поисковые системы: от сложного к
простому
Специализированные поисковые системы:
• рассчитаны на подготовленного
пользователя
• требуют максимально полной
спецификации запроса
• выдают результаты, точно
соответствующие запросу
4. Поисковые системы: от сложного к
простому
Массовые поисковые системы:
• рассчитаны на рядового пользователя
• пытаются «понимать» запрос в
произвольной формулировке
• нацелены на удовлетворение
распознанных информационных
потребностей пользователя
5. Расширение запросов – основная идея
• Тезаурусное расширение запросов –
процесс дополнения, переформулировки
запросов с целью улучшения ответа на
поисковый запрос
• Цель: по исходной формулировке
запроса найти также информацию по
другим запросам, имеющим тот же
смысл
7. Расширение запросов – пример 2
• [Форд СПб] или [Петербург Ford]?
А может [Форд Санкт-Петербург]?..
8. Зачем нужны расширения
запросов?
• Интернет полон информации самого
различного характера
• Чтобы найти эту информацию, зачастую
необходимо выбрать единственно
правильную формулировку среди многих
других
• Тезаурусные расширения помогают
находить по одной формулировке запроса
остальные, равные по смыслу, ответы
9. Синонимичность – что
имеется ввиду?
• Мы подразумеваем синонимичность в
широком смысле этого слова – насколько 2
различных по написанию терма
взаимозаменяемы
• Степень синонимичности – доля
контекстов использования, в которых оба
терма имеют один и тот же смысл
10. Какие бывают виды тезаурусных
расширений?
• Словообразовательные расширения
(аббревиатура → аббревиация,
петербург → петербургский)
• Транслитерация (Bosch → Бош, nokia → нокиа)
• Аббревиатуры (короткие волны → кв,
СПбГУ → Санкт-Пербургский Государственный
Университет)
• Просто синонимы (бегемот → гиппопотам,
недорогой → дешёвый, оксид → окись)
• Склейка-разрезание (авто кредит → автокредит,
киноафиша → кино афиша)
11. Что расширять: запрос или
отдельные термы?
• Что же нам расширять? Запросы
целиком либо отдельные термы?
[московский мэр] → [мэр Москвы]
[московский мэр]: московский →
Москва
• Решение проблемы: расширять
отдельные термы в контексте запроса
12. Запросные термы
Терм – атомарная семантическая
единица запроса:
• Стоп-слова не могут быть термами
• Термы могут быть одно-(«Петербург») или
многословными («Майкл Джексон»,
«Большой андронный коллайдер») в
случае, когда эти слова описывают один
объект, и эти объекты составляют наш
“легковесный” тезаурус
13. Запросный терм – нечёткое понятие
• “Что такое телевизор?” ответят 99% людей
• “Что такое транзистор?” ответят 55% людей
• “Что такое тезаурусные расширения?”
лишь 0,0001% людей смогут дать ответ
• Определение терма может зависеть от:
– Языка
– Предметной области
– Географического региона
– …
15. Расширение запросов – общая
архитектура
• Словарь тезаурусных расширений:
– Содержит сведения об известных нам термах и
о том, как их нужно расширять
– Может содержать дополнительную
метаинформацию (например, о контекстах)
• Логика срабатывания расширений:
– Определяет, когда и как должны срабатывать
расширения запросов
16. Словарь тезаурусных расширений
Автоматическая процедура позволяет:
• Получение словарей невиданной полноты и
актуальности
– сотни тысяч связей между словами
• Словари, отражающие интернет-лексику
– например, язык padonkaff
• Сбор вместе со словарями метаинформации
для лучшего применения в поиске
17. Процесс сборки словаря
расширений
Статистика
Майниниг Лингвистическая
совместной
исходных гипотез модель
встречаемости
Очистка словаря с
помощью
машинного
обучения
Разметка
синонимичности
гипотез
18. Разметка синонимичности гипотез
и оценка качества словаря
• «словарная» - безконтекстная оценка
словаря
• «контекстная» - оценка расширений в
контексте запроса
• «оценка поисковой выдачи» - оценка
улучшения качества поиска от
использования расширений
19. Оценка качества тезаурусных
расширений – словарная
Оценка словаря:
• Контекст отсутствует, полагаемся на априорное
мнение эксперта о синонимичности пары слов
• В сомнительных случаях приходится придумывать
подтверждающие или опровергающие контексты
• Полезна только для грубой оценки качества
словаря или предварительной фильтрации:
<ericsson, эриссон> - плохо
<ericsson, эриксон> - хорошо
20. Оценка качества тезаурусных
расширений – контекстная
• Контекст позволяет делать более
однозначные выводы о
взаимозаменяемости словарной пар
• Пример:
[victor hugo] (hugo → гюго)
[hugo boss] (hugo → {хьюго, хуго})
21. Оценка качества тезаурусных
расширений – качество поиска
• Измерение влияния всей подсистемы
тезаурусных расширений на общее
качество поиска
• Поскольку синонимы оказывают неявное
влияние на поисковую выдачу, их качество
бывает достаточно трудно измерить
данным способом
• Данная метрика должна использоваться
лишь совместно с предыдущей
22. Документные статистики
синонимичности
• Насколько часто словарная пара появляется на
одной Web-странице? Расстояние между словами
не учитывается
• Поиск синонимов по шаблонам:
…участник комик-группы «Монти Пайтон»
(Monthy Python)
…гиппопотам обладает немалой силой. В
1983 году один бегемот …
• При сборе статистик большое значение имеет
учёт качества обрабатываемых Web-страниц
23. «Линковость» синонимов
• Насколько часто пара слов встречается в
текстах ссылок на данную страницу?
Кто станет новым
мэром Москвы? Московский мэр
должен
продемонстрировать
Голосование по открытость при...
кандидату в мэры
Москвы покажут на
сайте Мосгордумы
• Значение имеют как остальной
приссылочный текст, так и её значимость
24. Синонимичность по
переформулировкам
• Замена пользователем части запроса при
поиске
• [ректор МГУ]
[ректор Московского Государственного
Университета]
• [обзор автомобиля форд фокус]
[обзор автомобиля ford focus]
26. Транслитерация
Что это такое?
• различные языки могут иметь разную
письменность
• Русский язык не исключение
• Транслитерация – системный способ
преобразования слов из одного
алфавита в другой
• для получения качественного поиска
необходимо уметь обрабатывать
различные написания слов
photo фото φωτο
27. Транслитерация
Каковы основные случаи транслитерации?
• Имена собственные:
Albert Einstein ↔ Альберт Эйнштейн
↔
КГБ ↔ KGB
• Заимствованные слова:
computer ↔ компьютер
перестройка ↔ perestroyka
• URL, логины и прочие идентефикаторы
28. Транслитерация
Когда происходит транслитерация?
• Off-line (по словарю)– используя
предварительно собранный словарь,
что позволяет использовать любые
статистики для его получения
• On-line (транслитерация “на лету”) –
обычно имеет худшую точность, но
позволяет преобразовывать любые,
даже ранее неизвестные слова
30. Транслитерация
Откуда берутся транслитные гипотезы?
• Данные обо всех когда-либо
заданных в Яндекс запросах
• «Замороженная» копия интернета
– все возможные ответы на них
31. Транслитерация
Но что же делать с таким огромным
набором неструктурированных данных?
• Пусть нам известно 12 миллионов
словоформ на кириллице и латинице
• Примерно 72x1012 возможных
однословных пар слов
• Около 17x1012 возможных пар слов из
разных алфавитов
32. Транслитерация
Как происходит майнинг транслитных гипотез?
Основная идея: итеративно сокращать
количество гипотез, оставляя лишь те
из них, что имеют хоть какие-либо
шансы подтвердить свою полезность
17x1012
возможных
словарых пар Linguistic Co- Dictionary
model occurence refinement
527,824
транслитных
синонимов
33. Транслитерация
“Лингвистическая модель”
• Мы хотим собирать только
транслитерационные синонимы
• Лингвистическая модель
транслитерации является её
формальным описанием
• Использование модели позволяет
значительно сократить количество
гипотез
34. Транслитерация
Модель транслитерации, основнная на
правилах(M1)
• Использует известные правила и
стандарты транслитерации
• Представляет собой таблицы
возможных переходов, по одной на
каждый распространённый язык
• Пытается найти послоговое
соответствие у пары слов, штрафуя за
оставшие непреобразованными буквы
36. Транслитерация
Модель транслитерации, основнная на
правилах – пример использования
Являются ли слова“Johansson →
Йохансон” транслитом? Заглянем в
таблицу:
j ↔ дж
o ↔ о
h ↔ г
h ↔ х
a ↔ а
a ↔ э
n ↔ н
ss ↔ с
38. Транслитерация
Вероятностная модель
транслитерации (M2)
• Обучается на большом параллельном
корпусе правильных транслитераций
• Модель представляет собой
вероятностное распределение слогов
целевого слова при условии заданного
слогового шаблона исходного
• Для каждой гипотезы модель
вычисляет вероятность её
«транслитности»
39. Транслитерация
Вероятностная модель транслитерации - пример
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)
41. Транслитерация
Лингвистическая модель - результаты
• Количество гипотез сокращено до 59
миллионов транслитерационных пар
• Каждая из моделей даёт >90%
полноты, но точность всё ещё остаётся
на очень низком уровне
• Рейтинги “транслитности”каждой из
моделей дают нам возможности для
дальнейшего повышения точности
42. Транслитерация
Лингвистическая модель – уточнение с
помощью машинного обучения
• Идея: скомбинировать рейтинги,
полученные от моделей, чтобы в
полной мере раскрыть их потенциал
• Результат: 95,2% полноты при 91%
точности словарной “транслитности”
• Количество гипотез сокращено до 1,8
миллионов подтверждённых
транслитов
• Рейтинг значимости показателей:
43. Транслитерация
Лингвистическая модель – уточнение с
помощью машинного обучения
Значимость показателей
45
40
35
30
25
20
15
10
5
0
M1 M2 Probability Number of M2 Ranking M1 Language M1 Penalty
Penalty/word words
length
44. Транслитерация
Хорошие транслитерации
≠ хорошие синонимы
• Возможное изменение значения слова:
magazine → магазин (meaning “shop”)
• Подмена подразумеваемого объекта
(сложно для обнаружения):
respublica → республика
• Просто бессмысленная транслитерация:
tekst pesni
45. Транслитерация
Выделение синонимов при помощи
статистики их совместного использования
Web
User
docu
sessions ments
Web link
structure
Характеристики для определения
взаимозаменяемости слов
46. Транслитерация
Различные методы машинного обучения
применительно к задаче определения синонимичности
Тип Ошибка Ошибка
Примечание
модели обуч. тест.
distribution="adaboost"
gbm 0,22% 11,81%
interaction.depth=4
randomForest 0,00% 13,38% ntree=100
Logistic
25,42% 23,62%
regression
nu = 0.5,gamma = 1
SVM 3,71% 13,38% radial nu-classification
Decision
17,21% 30,70%
trees
47. Транслитерация
Важность характеристик для
определения синонимичности
14
12
10
8
gbm
randomForest
6
4
2
0
48. Транслитерация
Важность характеристик для
определения синонимичности – Web
14
12
10
8
gbm
randomForest
6
4
2
0
49. Транслитерация
Важность характеристик для определения
синонимичности - запросные
14
12
10
8
gbm
randomForest
6
4
2
0
50. Транслитерация
Важность характеристик для определения
синонимичности - линковые
14
12
10
8
gbm
randomForest
6
4
2
0
52. Словообразовательные расширения
Что это такое?
• Различные слова, образованные друг
от друга либо от третьего слова
• Схожие по смыслу формы одной части
речи:
авантюрность ↔ авантюризм
• Разные части речи, производные
одна от другой:
митино ↔ митинский
53. Словообразовательные расширения
Не всё так гладко…
• Однокоренные слова, далёкие по
смыслу:
цена ↔ ценность
банковый ↔ банк
• Омонимичность одного из слов:
карточный ↔ карта
• Не связанные между собой слова:
тёма ↔ тёмный
54. Словообразовательные расширения
Лингвистическая модель
• Находим однокоренные слова
• Выделяем из них самые
популярные суффиксные модели:
абхазец ↔ абхазский : <-ец, -ский>
абонентный ↔ абонирование:
<-ентный, -ирование>
этапный ↔ этапность: <-ый, -ость>
• Применяем вычисленные частоты
для оценки новых слов
55. Словообразовательные расширения
Этапы фильтрации
100% Все словообразовательные
92,1% Исходные гипотезы 44 млн.
90,7% Фильтр по общему префиксу 5,6 млн.
84,4% Фильтрация по суфф. модели 500 тыс.
83,9% Фильтрация по 273 тыс.
встречаемости слов
82,3% Фильтр взаимозаменяемости 88 тыс.
57. Аббревиатуры
Что это такое?
• Используются для сокращения
часто употребимых фраз и
терминов
• Лингвистическая модель кажется
крайне простой – берём первые
буквы/слоги из каждого слова и…
• Но всё не всегда так просто…
58. Аббревиатуры
Аббревиатуры формируются довольно просто…
Московский Государственный Университет
МГУ
RuSSIR
Russian Summer School in Information Retrieval
59. Аббревиатуры
…но иногда сложнее
НАТО
transliteration
NATO
abbreviation
North Atlantic Treaty Organization
translation
Организация Североатланического Договора
60. Аббревиатуры
Не из каждой фразы выходит аббревиатура
• Лишь малая часть устоявшихся фраз
образует аббревиатуру
• Например, посмотрим на фразы,
образующие аббревиатуру
“RuSSIR”:
61. Аббревиатуры
Что могло бы означать слово “RuSSIR”?
Russian Summer School ruption of the serotonin
in Information Retrieval system in immature rats
ru siteuri scrise in romanarupa se sparge i radu
rue statement showing in ruj si sklepy i
respect restauracje
ru sodo sklypas irvint rung setzt sich im
rajone rahmen
rujce stan systemu i run the shell scripts in
raportujce the rc
62. Аббревиатуры
Омонимичность аббревиатур
• Простой случай –однозначные
(практически) аббревиатуры:
IEEE (I triple E) – Institute of Electrical
and Electronics Engineers
МГУ – Московский Государственный
Университет
63. Аббревиатуры
Омонимичность аббревиатур
• Сложный случай – неоднозначная
аббревиатура:
- с другими словами :
мэг -> Мэг Райан или моноэтиленгликоль
- с другими аббревиатурами:
CSS^(cascading style sheets) styles или
CSS^(content scrambling system) license
…и даже МГУ в Мордовии может означать
“Мордовский Государственный Университет”!
64. Аббревиатуры
Как разрешить неоднозначность?
• Предварительно собираем
статистику о контекстах расширений:
– частоты слов в контексте запроса –
биграммы или «мешки слов»
– учёт семантики запроса и расширения
– любая другая информация о контексте,
имеющая значимую корелляцию с
расширением (например, регион
пользователя и т.п.)