- •Булев поиск.
- •Устройство web и web граф.
- •Синтаксис
- •Построение индекса.
- •Библиотека Lucene.
- •Организация словарей.
- •Зональное ранжирование.
- •Оценка качества поиска.
- •Вероятностная модель ранжирования.
- •Вероятностная модель языка.
- •Современные методы построения языковых моделей.
- •Машинное обучение в ранжирование.
Вероятностная модель ранжирования.
Вероятностная модель ранжирования подразумевает ранжирование по вероятности того, что документ релевантный.
Бинарная модель для ранжирования.
Бинарная модель: учитываем вхождение слова только один раз, слова считаются независимыми.
Обоснование tf-idf.
df – document frequency, tf – term frequency, S – общее количество релевантных документов, N – общее количество документов, s – количество релевантных документов, в которых встретился данный термин из запроса
Вероятностная модель языка.
Вероятностная модель порождения языка – есть некоторая фраза, мы можем дописать туда какое-то слово. Закрыв последнее слово фразы пытаемся угадать его
Модель правдоподобия запроса.
Вместо оценки напрямую, оценивается вероятность порождения запроса q из некоторой вероятностной языковой модели .
Сглаживание.
Синонимия.
Подсказки при вводе, автоисправление опечаток и т.п. Синонимы добавляются с помощью специального фильтра. Подходы для получения синонимов:
— Использовать уже готовые словари синонимов. Это работает не очень хорошо, поэтому обычно из словаря выкидывают то, что не нужно в данном домене.
— Автоматически строить словари.
— Латентно семантическое индексирование – устаревший способ, не рассматриваем.
Синонимы в Lucene.
В Lucene синонимы можно использовать с помощью пакетов wordnet и т.п. Lucene – библиотека для высокопроизводительного полнотекстового поиска.
WordNet - это электронный тезаурус/семантическая сеть для английского языка, разработанный в Принстонском университете и выпущенный вместе с сопутствующим программным обеспечением.
Словарь состоит из 4 сетей для основных знаменательных частей речи: существительных, глаголов, прилагательных и наречий. Базовой словарной единицей в WordNet является не отдельное слово, а так называемый синонимический ряд ("синсеты"), объединяющий слова со схожим значением и по сути своей являющимися узлами сети. Для удобства использования словаря человеком каждый синсет дополнен дефиницией и примерами употребления слов в контексте. Слово или словосочетание может появляться более чем в одном синсете и иметь более одной категории части речи. Каждый синсет содержит список синонимов или синонимичных словосочетаний и указатели, описывающие отношения между ним и другими синсетами. Слова, имеющие несколько значений, включаются в несколько синсетов и могут быть причислены к различным синтаксическим и лексическим классам.
Синсеты в WordNet связаны между собой различными семантическими отношениями:
гипероним (breakfast → meal) (завтрак → прием пищи);
гипоним (meal → lunch) (прием пищи → обед);
has-member (faculty → professor) (факультет → профессор);
member-of (pilot → crew) (пилот → экипаж);
мероним: has-part (table → leg) (стол → ножка);
антоним (leader → follower) (лидер → последователь).
Также, существуют различные другие связи: лексические, антонимические, контекстные (слово 'x' имеет отношение к слову 'y') и другими. Среди них особую роль играет гипонимия: она позволяет организовывать синсеты в виде семантических сетей. Для разных частей речи родовидовые отношения могут иметь дополнительные характеристики и различаться областью охвата.
В TokenFilter Lucene есть SynonymFilter и SynonymGraphFilter для обработки синонимов. SynonymFilter не может правильно обрабатывать синонимы, состоящие из нескольких слов, и больше не рекомендуется. Рекомендуется использовать SynonymGraphFilter.
Автоматическое построение синонимов.
Какими свойствами должны обладать синонимы:
— Должны быть в одном и том же контексте.
— Они должны находится в одних и тех же документах.
— Если речь идет про веб, то в тексте ссылки может быть синоним на заголовок документа.
Контекст слова и PMI.
Метод PMI присваивания весов - Точечная Взаимная Информация – основан на теории матрицы F частот «слово-контекст». В строках слова, в столбцах контекст. В ячейках вероятность, что слово i будет содержаться в контексте j. Результат метода – преобразование матрицы F в матрицу Х, где , где – описанная ранее вер-ть, - ожидаемая вер-ть слова i, - вер-ть появления контекста j.
Транслитерация. Словообразовательные расширения. Аббревиатуры.