Эта статья может быть слишком технической для понимания большинства читателей . ( Июнь 2018 ) |
(Стандартная) Булева модель информационного поиска ( BIR ) [1] является классической моделью информационного поиска (IR) и, в то же время, первой и наиболее принятой. [2] BIR основана на булевой логике и классической теории множеств в том смысле, что и искомые документы, и запрос пользователя рассматриваются как наборы терминов ( модель мешка слов ). Поиск основан на том, содержат ли документы термины запроса и удовлетворяют ли они булевым условиям, описанным запросом.
Индексный термин — это слово или выражение , которое может быть с корнем , описывающее или характеризующее документ, например, ключевое слово, данное для журнальной статьи. Пусть будет набором всех таких индексных терминов.
Документ — это любое подмножество . Пусть — множество всех документов.
представляет собой ряд слов или небольших фраз (индексных терминов). Каждое из этих слов или небольших фраз имеет имя , где — номер термина в ряду/списке. Вы можете думать о «Терминах» и как о «индексном термине n ».
Слова или небольшие фразы (термины индекса ) могут существовать в документах. Затем эти документы образуют серию/список , где каждый отдельный документ называется . Эти документы ( ) могут содержать слова или небольшие фразы (термины индекса ), например, могут содержать термины и из . Пример этого приведен в следующем разделе.
Индексные термины обычно хотят представлять слова, которые имеют большее значение для них и соответствуют тому, о чем может говорить содержание статьи или документа. Такие термины, как «the» и «like», будут появляться почти во всех документах, тогда как «Bayesian» будет только в небольшой части документов. Поэтому более редкие термины, такие как «Bayesian», являются лучшим выбором для выбора в наборах . Это относится к энтропии (теории информации) . Существует несколько типов операций, которые можно применять к индексным терминам, используемым в запросах, чтобы сделать их более общими и более релевантными. Одной из них является Stemming .
Запрос представляет собой логическое выражение в нормальной форме: где истинно для когда . (Эквивалентно, может быть выражено в дизъюнктивной нормальной форме .)
Любые запросы представляют собой выборку индексных терминов ( или ), выбранных из набора терминов, которые объединяются с помощью булевых операторов для формирования набора условий.
Затем эти условия применяются к набору документов, содержащих те же самые индексные термины ( ) из набора .
Мы стремимся найти набор документов, которые удовлетворяют . Эта операция называется поиском и состоит из следующих двух шагов:
Пусть набор исходных (реальных) документов будет, например,
где
= "Принцип Байеса: принцип, согласно которому при оценке параметра следует изначально предположить, что каждое возможное значение имеет равную вероятность (равномерное априорное распределение)".
= " Байесовская теория принятия решений : математическая теория принятия решений, которая предполагает функции полезности и вероятности и согласно которой выбираемым действием является действие Байеса, т. е. действие с наивысшей субъективной ожидаемой полезностью. Если бы у человека было неограниченное время и вычислительная мощность для принятия каждого решения, эта процедура была бы наилучшим способом принятия любого решения."
= "Байесовская эпистемология : философская теория, которая утверждает, что эпистемический статус предложения (то есть насколько оно хорошо доказано или установлено) наилучшим образом измеряется вероятностью и что правильный способ пересмотра этой вероятности дается байесовской обусловленностью или аналогичными процедурами. Байесовский эпистемолог будет использовать вероятность для определения и изучения взаимосвязи между такими понятиями, как эпистемический статус, поддержка или объяснительная сила".
Пусть набор терминов будет:
Тогда комплект документов следующий:
где
Пусть запрос будет («вероятность» И «принятие решения»):
Затем, чтобы получить соответствующие документы:
Это означает, что исходный документ является ответом на .
Если существует более одного документа с одинаковым представлением (одинаковое подмножество индексных терминов ), каждый такой документ извлекается. Такие документы неразличимы в BIR (другими словами, эквивалентны).
С чисто формальной математической точки зрения BIR является простым. Однако с практической точки зрения необходимо решить несколько дополнительных проблем, связанных с алгоритмами и структурами данных, например, выбор терминов (ручной или автоматический выбор или оба), стемминг , хэш-таблицы , инвертированная файловая структура и т. д. [4]
Другая возможность — использовать хэш-наборы. Каждый документ представлен хэш-таблицей, которая содержит каждый отдельный термин этого документа. Поскольку размер хэш-таблицы увеличивается и уменьшается в реальном времени с добавлением и удалением терминов, каждый документ будет занимать гораздо меньше места в памяти. Однако это приведет к замедлению производительности, поскольку операции более сложны, чем с битовыми векторами . В худшем случае производительность может ухудшиться с O( n ) до O( n 2 ). В среднем случае замедление производительности будет не намного хуже, чем у битовых векторов, а использование пространства будет намного эффективнее.
Каждый документ может быть суммирован фильтром Блума, представляющим набор слов в этом документе, сохраненный в битовой строке фиксированной длины, называемой сигнатурой. Файл сигнатуры содержит одну такую суперпозиционную битовую строку кода для каждого документа в коллекции. Каждый запрос также может быть суммирован фильтром Блума, представляющим набор слов в запросе, сохраненный в битовой строке той же фиксированной длины. Битовая строка запроса проверяется по каждой сигнатуре. [5] [6] [7]
Рассматриваемый файл подписи используется в BitFunnel .
Файл инвертированного индекса состоит из двух частей: словаря, содержащего все термины, используемые в коллекции, и для каждого отдельного термина инвертированный индекс, в котором перечислены все документы, в которых упоминается этот термин. [5] [6]