Лекция Информационный поиск. Nlp. Определения. Примеры



Дата15.07.2016
өлшемі45.54 Kb.
түріЛекция
Тема 2.

Лекция 2. Информационный поиск. NLP. Определения. Примеры.



Вопрос 1. «найти все пьесы Шекспира, в которых встречаются слова Брут и Цезарь, и не встречается слово Кальпурния».
Варианты:

1) последовательный поиск (перебор) – grepping (в Unix есть команда grep)

однако:

2) составить индекс документа


2.1) индекс вида «термин - документ». Если известен весь словарь (например, словарь пьес Шекспира), то этот индекс будет таков:





Отелло

Юлий Цезарь

Гамлет

Антоний и Клеопатра

Брут

0

1

1

1

Цезарь

1

1

1

1

Кальпурния

0

1

1

0










Тогда ответ на Вопрос1 вычисляется как булевская операция над векторами


Вектор_для_Брут AND Вектор_для_Цезарь AND NOT Вектор_для_Кальпурния

0111 AND 1111 AND NOT 0110 = 1111 AND 0111 AND 1001 = 0001






Для того, чтобы оценить эффективность системы информационного поиска, пользователь обычно желает знать два основных статистических показателя, характеризующих результаты, возвращенные системой поиска:
precision – точность – какая доля результатов является релевантной по отношению к информационной потребности

recall – полнота – какая доля релевантных документов из коллекции возвращена.
Хранение матриц «термин-документ» для коллекций реального размера не представляется разумным, т.к. такая матрица будет очень разреженной.
2.2) хранить только «единицы» матрицы «термин-документ»
Создание инвертированного списка: «термин» - «список документов, где встречается этот термин», а зачастую и место в документе, где появляется этот термин (т.н. posting)

Все термины тогда объединяются в словарь (vocabulary, dictionary). Списки – односвязные или массивы переменной длины (ArrayList).


Брут -2-3-4

Цезарь – 1-2-3-4

Кальпурния – 2-3
Процесс поиска в инвертированном списке: находим первое слово из запроса, находим список его словопозиций, находим второе слова из запроса, берем его список словопозиций, находим пересечение этих двух списков.

2.3) Ранжированный поиск (ranked retrieval models)
Например: модель векторного пространства
Этапы построения инвертированного индекса:

Проблемы 2 этапа:

- определение кодировки документа, типа документа (xml, pdf, doc, rtf) – эвристики, анализ метаданных, указания пользователя

- определение структурных единиц документа – частей документа, имеющих достаточный размер, но не слишком больших – глав, пунктов, подпунктов.

- подготовка лексем – последовательностей символов, представляющих семантическую единицу для обработки, удаление знаков препинания.

«стоп-слово» - неиндексируемый токен


McDonalds – «Mc» «Donalds» или «MC Donalds”


  • подготовка терминов: аббревиатуры, адреса, почтовые индексы, названия фирм...

  • нормализация лексем:

USA или U.S.A.

– либо приведение к одной лексеме,

- либо установление эквивалентностей между ненормализованными лексемами



  • стемминг (приблизительный) и лемматизация (точный)

organize, organising, organizing, organizes



Алгоритм Портера (1980).



Фразовые запросы.

«Stanford University» как одно целое


Подход 1: двухсловный индекс:

рассматривать все пары соседних слов как потенциальные фразы.

варианты – три соседних слова...

Однако пара – наиболее оптимальный на практике


Подход 2: координатный индекс




Проблема: размер координатного индекса зависит не от размера корпуса документов, а от количества словоупотреблений в корпусе документов.
Выход: комбинирование двухсловного и координатного индексов

Достарыңызбен бөлісу:


©dereksiz.org 2019
әкімшілігінің қараңыз

    Басты бет