Модель семантического поиска на базе тезауруса © Д.А. Малахов1 © В.А. Серебряков1,2 1 Московский государственный университет им. М.В. Ломоносова, 2 Федеральный исследовательский центр «Информатика и управление» РАН, Москва, Россия mda.develop@gmail.ru serebr@ultimeta.ru Аннотация. Представлена модель семантического поиска, которая базируется на применении тезауруса. Описаны ключевые моменты использования модели. Приведены основные возможности тезаурусов, способы их применения в других поисковых системах, а также особенности нашего подхода. Ключевые слова: семантический поиск, L-теги, применение тезауруса, WordNet. The Semantic Search Model Based on the Thesaurus © Dmitriy Malakhov1 © Vladimir Serebryakov1,2 1 Lomonosov Moscow State University, 2 Federal Research Center Computer Science and Control of the Russian Academy of Sciences, Moscow, Russia mda.develop@gmail.ru serebr@ultimeta.ru Abstract. This article presents a model of semantic search, based on the thesaurus. The key points of using the model are described. The main features of the thesaurus, the methods of their application in other search systems, and also features of our approach are presented. Keywords: semantic search, L-tags, thesaurus application, WordNet. 1 Введение была представлена модель семантического поиска, основанная на использовании L-тегов. Семантическим поиском, как правило, Определение 1.1. Алфавитом будем называть называется процесс поиска документов по их любое конечное непустое множество. Элементы содержанию. Нетрудно увидеть, что понятие этого множества называются символами данного семантического поиска недостаточно формально алфавита. определено [7]. В частности, понятие содержания Определение 1.2. Термином 𝑡 ∈ 𝑇 алфавита A или смысла является многозначным. будем называть любой упорядоченный конечный Существуют различные подходы к реализации непустой набор символов алфавита A. семантического поиска. Как правило, выделяют Определение 1.3. L-тегом на множестве следующие классы моделей семантического поиска: терминов T будем называть любой непустой • Поиск, основанный на структурированных упорядоченный набор терминов из T. SPARQL запросах к базе знаний в формате Основная идея использования L-тегов OWL/RDF. заключается в разбиении алгоритма расчёта • Поиск, основанный на семантическом релевантности на два этапа. Первый этап аннотировании документа с последующей заключается в выделении L-тегов в документе и индексацией аннотаций. оценке их значимости для этого документа. Эта • Полнотекстовый поиск, использующий словари оценка характеризуется функцией семантики, синонимов для индексации документов и отображающей пару («документ», «L-тег») в расширения запросов. действительное число от 0 до 1. Для качественного поиска важно, чтобы выделенные L-теги полностью • Всевозможные гибридные решения. покрывали содержание документа. Выделение этого Далее предложена модель семантического этапа позволяет производить сложные вычисления поиска, являющаяся гибридным вариантом, так как для расчёта релевантности, причём не во время содержит элементы семантического аннотирования выполнения запроса, а на этапе индексации. и полнотекстового поиска. В предыдущей работе [2] Второй этап заключается в поиске L-тегов, схожих с запросом пользователя на естественном Труды XIX Международной конференции языке. Поисковый запрос является L-тегом, поэтому «Аналитика и управление данными в областях с релевантность L-тега запросу может быть оценена с интенсивным использованием данных» помощью функции схожести двух L-тегов, (DAMDID/ RCDL’2017), Москва, Россия, 10–13 октября 2017 года 191 отображающей пару («запрос», «L-тег») в значение, – синсетом. действительное число от 0 до 1. Функция схожести Для естественного языка также характерно, что должна рассчитываться во время выполнения один и тот же термин в разных контекстах запроса, поэтому должна выполняться достаточно характеризует разные понятия. Хороший тезаурус в быстро. Комбинация функции схожести и функции рамках сферы своего применения должен определять семантики характеризует релевантность запроса всевозможные понятия термина, а также документу. предоставлять информацию о том, как определить Каждый L-тег описывает некоторую понятие, которое термин характеризует в некотором информационную потребность. Различные контексте. реализации функций семантики и схожести Под тезаурусом мы будем понимать словарь, отличаются друг от друга различным пониманием оперирующий понятиями, которые характеризуются информационной потребности, различным способом синонимическими рядами (синсетами) и имеют оценки схожести информационных потребностей и между собой семантические связи, как удовлетворения информационной потребности. вертикальные, так и горизонтальные. Далее мы более Ниже с помощью понятия контекста будут описаны подробно рассмотрим информационно-поисковый способы реализации функции семантики и функции тезаурус и WordNet. схожести. 2.2 Информационно-поисковый тезаурус Если в качестве L-тегов рассматривать предложения или абзацы в тексте, то представленная Информационно-поисковые тезаурусы модель позволяет существенно уменьшить создавались для описания различных предметных поисковый индекс за счет игнорирования L-тегов с областей и использовались для ручной разметки достаточно малым значением функции семантики. документов и запросов. Основная идея Использование модели позволяет применять использования такого рода тезауруса заключалась в единые механизмы поиска в случае индексирования определении применяемой терминологии для не только текстов, но и семантических аннотаций, использования в запросах и индексации документов. привязанных к этим текстам, так как семантическую Впоследствии эксперименты показали, что аннотацию можно представить как L-тег или набор эффективность полнотекстового индексирования L-тегов. Модель семантического поиска в том виде, сравнима с эффективностью поиска, использующего в котором она была описана ранее, является ручное индексирование по [5], [6]. С учетом достаточно общей и не регламентирует, как именно трудоемкости ручного индексирования оно все чаще должны быть определены функции семантики и заменялось полнотекстовым поиском. схожести. В настоящей работе предложены Казалось бы, что информационно-поисковые уточнения модели семантического поиска для тезаурусы могут быть полезными в семантическом случаев, когда имеется достаточно хороший поиске, но есть две основные проблемы: тезаурус. • Ориентированность на узкую предметную область не позволяет описать всевозможные 2 Применение тезаурусов значения того или иного термина в целом. В свою 2.1 Термины и понятия очередь документы зачастую могут охватывать различные предметные области, а у пользователей К тезаурусам могут быть отнесены достаточно могут быть различные потребности. Поэтому для разные словари и лингвистические ресурсы [6]: наиболее полного описания документа может • Идеографический словарь, основное назначение понадобиться несколько тезаурусов, часть понятий которого – помощь в подборе близких по смыслу которых может пересекаться. В этом случае мы слов при написании текста. сталкиваемся с проблемой интеграции тезаурусов. • Информационно-поисковый тезаурус описывает • Более важной проблемой является то, что такие отношения между терминами предметной области. тезаурусы создавались для людей, а не для машин. • Тезаурус типа WordNet описывает отношения Поэтому они могут не содержать полного списка между лексическими значениями естественного синонимов в синсетах, так как подразумевается, что языка. человек догадается, в каком случае нужно • Ассоциативный тезаурус, описывающий привязывать понятие. ассоциации людей или совместную встречаемость Эксперименты по автоматическому слов в тексте, рассчитанную автоматически. индексированию документов и запросов на базе Как правило, тезаурусы оперируют двумя информационно-поисковых тезаурусов не привели к сущностями: термином и понятием. Под термином их практическому использованию для понимается слово или словосочетание, имеющее автоматической обработки текстов [6]. некоторое смысловое значение. Особенностью Таким образом, информационно-поисковые естественного языка является то, что одно и то же тезаурусы не могут быть использованы явным смысловое значение может быть передано образом для задачи семантического поиска. различными терминами. В тезаурусах смысловое значение принято называть понятием, а набор терминов, которые передают это смысловое 192 2.3 WordNet называемая «Теннисная проблема». Это усложняет выделение понятия в тексте с разрешением Основные гипотезы, на базе которых разработан неоднозначности. Эту проблему пытались устранить WordNet [1]: введением доменов для большинства понятий, где • Гипотеза отделимости означает, что домен характеризует предметную область понятия лексический уровень языка может быть отделен от [3], [6]. морфологического и синтаксического. • Проблема родовидовых отношений заключается • Гипотеза «образца» означает, что существует в том, что под этой связью могут скрываться формальное описание для большинства слов языка. принципиально разные отношения: типы и роли. Эти • Гипотеза о покрытии означает, что словарь отношения различаются в способах наследования должен быть достаточного размера для покрытия свойств, поэтому их стоит различать. всех понятий, чтобы быть эффективным в задачах Несмотря на критику, WordNet наилучшим образом автоматической обработки текстов. подходит как тезаурус для задачи семантического Разработчики WordNet считают, что два термина поиска, так как наиболее полно описывает понятия и могут находиться в одном синсете понятия, если их синсеты. Далее под тезаурусом будем понимать замена одного термина на другой в контексте этого лингвистический ресурс типа WordNet. понятия не изменяет смысла предложения. В таком случае термины считаются синонимами. 3 Контекст Большинство синсетов имеет толкования. Если Под контекстом понятия, как правило, термин имеет несколько значений, то он входит в подразумевают факторы, влияющие на то, что несколько синсетов. некоторый термин обозначает некоторое понятие. Самые распространенные связи в WordNet: Контекст может быть полезен: • Родовидовое отношение используется для • для разрешения неоднозначности термина при существительных. Синсет X называется гипонимом выделении понятий в тексте; синсета Y, если считается справедливым утверждение: «Х – это вид Y». Родовидовое • для определения семантической схожести отношение выстраивает иерархию с наследованием запроса и текста. всех свойств вышестоящего нижестоящим. Рассмотрим некоторое множество терминов 𝑇 и • Отношение «часть–целое» используется для множество понятий 𝑁. существительных. Синсет X является частью синсета Определение 3.1. Под абзацем будем понимать Y, если считается справедливым утверждение: «Х – группу предложений, идущих в тексте друг за это часть Y». другом, комбинация которых отражает некоторую единую мысль, что приводит к близости контекстов • Отношение антонимии используется для понятий из этого абзаца. Каждое предложение существительных, прилагательных и наречий, является упорядоченным набором терминов из 𝑇, причем связываются не понятия, а термины. обозначающих некоторые понятия из 𝑁. Считается, что термины X и Y – антонимы, если одно Исходя из предположения, что контекст понятия исключает второе, например, победа – поражение, характеризуется терминами, которые находятся в мужчина – женщина. одном абзаце с термином понятия, ниже дано • Отношение между однокоренными словами, формальное определение контекста. используется для существительных и различных Определение 3.2. Пусть даны множество глагольных форм. терминов 𝑇 и конечное множество абзацев 𝑃, где Для описания глаголов были выделены абзац 𝑝 ∈ 𝑃. Вектором абзаца 𝑝 будем называть специальные отношения: вектор действительных чисел 𝑉𝑝 размерности |𝑇|, • Отношение следования устанавливается между компоненты которого соответствуют терминам из 𝑇 синсетами V1 и V2, если из предложения «Кто-то и равны 0 или 1, если термин включен в 𝑝 или нет, V1» следует, что «Этот кто-то V2». соответственно. Вектор 𝑉𝑝 будем считать элементом • Отношение тропонимии представляет особый нормированного векторного пространства, где норма вид следования и устанавливает родовидовые ‖𝑉𝑝 ‖ = ⁡ √𝑉𝑝 ∙ 𝑉𝑝 . отношения между глаголами: «Делать V1 означает Определение 3.3. Пусть даны множество делать V2 особым способом». понятий 𝑁, множество абзацев 𝑃, и для каждого • Отношение причины связывает два глагольных понятия 𝑛 ∈ 𝑁 множество абзацев 𝑃𝑛 , в которых синсета V1 и V2 следующим образом: «Если кто-то было выделено понятие n. Контекстом понятия 𝑛 ∈ V1, то кто-то другой V2». Основная критика тезаурусов типа WordNet 𝑁 будем называть вектор 𝐶𝑛 = ⁡ (∑𝑝∈𝑃𝑛 𝑉𝑝 ) /|𝑃𝑛 |. касается следующих проблем: Таким образом, под контекстом понятия будем • Много значений одного и того же слова. Эту понимать среднее арифметическое векторов абзацев, проблему пытались устранить кластеризацией [4], в которых понятие присутствует. Заметим, для того, [6]. чтобы посчитать контекст понятия, нужно сначала выделить его в абзацах, причем этих абзацев должно • Понятия не связаны по контексту. Так 193 быть достаточно много, иначе полученный результат – множество понятий, которые могут обозначать будет неустойчивым. термин 𝑡. Будем исходить из того, что мы должны выбрать понятие, контекст которого максимально 3.1 Выделение контекста понятия похож на абзац 𝑝, тогда в качестве понятия, Чтобы определить контекст понятия, нужно обозначаемого термином 𝑡, следует выбирать 𝑛𝑡 , выделить это понятие во всех его абзацах, значит, такое, что: разрешить неоднозначность терминов. 𝑎𝑓𝑓𝑖𝑛𝑖𝑡𝑦(𝑉𝑝 , 𝐶𝑛𝑡 ) = ⁡ max 𝑎𝑓𝑓𝑖𝑛𝑖𝑡𝑦(𝑉𝑝 , 𝐶𝑛 )⁡. 𝑛∈𝑁𝑡 Существуют различные подходы [3], [6] к Из-за многозначности может получиться так, что разрешению неоднозначности при выделении вектор абзаца похож на контексты сразу нескольких понятия в тексте. Ниже будет предложен понятий. В этом случае предложенный алгоритм альтернативный подход, основной особенностью может быть улучшен. Мы можем привязать к которого является использование кластеризации. термину не одно понятие, а несколько, с условием, Сформулируем задачу следующим образом. что контекст каждого привязанного понятия близок Даны: к вектору абзаца как минимум на 𝑀% от близости • множество терминов 𝑇, множество понятий 𝑁; контекста понятия 𝑛𝑡 к вектору абзаца 𝑝, где 𝑀 – • множество понятий 𝑁𝑡, обозначенных термином некоторый порог. 𝑡, для каждого термина 𝑡 ∈ 𝑇; 3.3 Выделение понятий в поисковом запросе • для каждого термина 𝑡 ∈ 𝑇 множество абзацев 𝑃𝑡 , в которые включен термин 𝑡; Особенностью выделения понятия в поисковом запросе является то, что поисковый запрос в отличие • для каждого понятия 𝑛 ∈ 𝑁 множество терминов от абзаца имеет намного меньше терминов. Часто 𝑇𝑛 , описывающих понятие 𝑛. поисковый запрос представляет собой Для каждого понятия 𝑛 ∈ 𝑁 необходимо последовательность из нескольких терминов, вот определить множество абзацев 𝑃𝑛 , в которых почему приведенный выше способ выделения выделено понятие 𝑛. понятий невозможно применить для поисковых Для каждого 𝑡 ∈ 𝑇 нужно разбить множество 𝑃𝑡 с запросов. помощью алгоритма кластеризации, например, k- Определение 3.5. Пусть даны множество means++, на |𝑁𝑡 | кластеров. Каждый полученный терминов 𝑇 и множество поисковых запросов 𝑄, где кластер абзацев 𝑃𝑡𝑖 будет характеризовать некоторое запрос 𝑞 ∈ 𝑄 является набором терминов из 𝑇. понятие 𝑁𝑡. Контекст этого понятия относительно Вектором запроса 𝑞 будем называть вектор множества абзацев 𝑃𝑡𝑖 обозначим как 𝐶𝑡𝑖 . действительных чисел 𝑉𝑞 размерности |𝑇|, При достаточном объеме данных контексты компоненты которого соответствуют терминам из 𝑇 понятия, построенные по разным группам абзацев, и равны 0 или 1, если термин включен в 𝑞 или нет, не должны сильно отличаться. Скалярное соответственно. произведение двух контекстов будет максимальным, Пусть из запроса 𝑞 каким-то образом было если это контексты одного понятия. Поэтому для выделено множество понятий 𝑁𝑞 . Тогда мы можем каждого понятия 𝑛 ∈ 𝑁 нужно собрать все 𝑃𝑡𝑖 , такие, дать определение контексту запроса. что 𝑡 ∈ 𝑇𝑛 . Для каждого термина 𝑡 ∈ 𝑇𝑛 необходимо Определение 3.6. Пусть даны множество оставить только один кластер 𝑃𝑡 , так, чтобы терминов 𝑇 и множество поисковых запросов 𝑄, где оставшиеся кластеры для разных терминов были запрос 𝑞 ∈ 𝑄 является набором терминов из максимально близки друг к другу. Близость группы множества 𝑇. Контекстом запроса 𝑞 будем называть кластеров можно оценить с помощью функции вектор ∑𝑡𝑖∈𝑇𝑛 ,⁡𝑡𝑗∈𝑇𝑛 𝐶𝑡𝑖 ∙ 𝐶𝑡𝑗 . 𝐶𝑞 = (∑𝑛⁡∈⁡𝑁𝑞 𝐶𝑛 )/|𝑁𝑞 |⁡. Для каждого понятия 𝑛 ∈ 𝑁 оставшиеся кластеры Если пользователь регулярно использует 𝑃𝑡 объединяются в 𝑃𝑛 , по нему считается контекст поисковую систему, работая со своими избранными понятия 𝐶𝑛 . предметными областями, то у нас есть информация о его интересах, и мы могли бы ее использовать. 3.2 Выделение понятий в абзаце Исходя из предположения, что контекст При выделении понятий в абзацах мы пользователя может быть определен через историю сталкиваемся с проблемой многозначности и его запросов, можно дать следующее определение. «Теннисной проблемой» (раздел 2.3). Эти проблемы Определение 3.7. Пусть пользователь 𝑢 могут быть решены использованием информации о последовательно задал 𝐾 запросов. Контекстом контексте понятия. пользователя 𝑢 будем называть вектор 𝐶𝑢 = 𝐶𝑞 Определение 3.4. Пусть даны множество ⁡∑𝐾𝑘=1 𝐾−𝑘 𝑘 ⁡. 2 понятий 𝑁 и множество абзацев 𝑃. Степенью Изначально контекст пользователя представляет близости понятия 𝑛 ∈ 𝑁⁡ и абзаца 𝑝 ∈ 𝑃 будем собой вектор нулей. После выполнения очередного называть функцию близости запроса 𝑞 контекст уточняется. 𝑎𝑓𝑓𝑖𝑛𝑖𝑡𝑦(𝑉𝑝 , 𝐶𝑛 ) = (𝑉𝑝 ∙ 𝐶𝑛 )/(‖𝑉𝑝 ‖⁡‖𝐶𝑛 ‖)⁡.⁡ На практике контекст пользователя будет Рассмотрим абзац 𝑝 ∈ 𝑃⁡и термин 𝑡 ∈ 𝑝. Пусть 𝑁𝑡 разрастаться, то есть будет появляться все больше 194 ненулевых компонент. Для обнуления наиболее 4.2 Расчет функции схожести слабых компонент вектора контекста существуют Пусть дано множество понятий 𝑁. Между этими следующие варианты: понятиями существуют родовидовые связи. • ограничение минимального значения ненулевой Функцию близости двух понятий 𝑛1 и 𝑛2 ⁡в иерархии компоненты; будем обозначать 𝜌(𝑛1 , 𝑛2 ). В дальнейшем будем • ограничение максимального количества считать, что эта функция задана на основе иерархии ненулевых компонент. понятий в тезаурусе, используемом для поиска. Определение 3.8. Семантическим ядром запроса Рассмотрим поисковый запрос 𝑞 ∈ 𝑄 и абзац 𝑝 ∈ 𝑃. 𝑞 у пользователя 𝑢 будем называть вектор 𝑆𝑞 = ⁡ 𝐶𝑢 + Считаем, что в запросе выделены понятия 𝑁𝑞 , а в ⁡𝑉𝑞 . абзаце выделены понятия 𝑁𝑝 . Выше мы предположили, что множество понятий Функция схожести L-тегов должна определять, 𝑁𝑞 для запроса 𝑞 уже выделено, но не описали насколько пересекается смысл, передаваемый L- процесс выделения понятий из запроса. Далее мы тегами. Исходя из предположения, что в абзаце и исходим из предположения о том, что понятия, запросе выделены все значимые понятия, а понятия выделяемые из запроса, зависят как от запроса, так и L-тега полностью передают его смысл, можно для от контекста пользователя. Для выделения понятий запроса 𝑞 и абзаца 𝑝 определить функцию схожести 𝑁𝑞 из запроса 𝑞 можно воспользоваться алгоритмом max 𝜌(𝑛1 ,𝑛2 ) 𝑛 ∈𝑁𝑝 выделения понятия абзаца из раздела 3.2. В этом ⁡𝑠𝑖𝑚(𝑞, 𝑝 ) = ∑𝑛1 ∈𝑁𝑞 2 + 2|𝑁𝑞 | случае вместо вектора абзаца 𝑉𝑝 нужно использовать max 𝜌(𝑛1 ,𝑛2 ) семантическое ядро запроса 𝑆𝑞 . 𝑛 ∈𝑁𝑞 ∑𝑛1 ∈𝑁𝑝 2 ⁡ 2|𝑁𝑝 | 4 Уточнение модели поиска 4.3 Расчет релевантности Использование тезауруса позволяет привязывать Пусть даны множество запросов 𝑄 и множество понятия как к текстам документов, так и к поисковым абзацев 𝑃. Рассмотрим запрос 𝑞 ∈ 𝑄 и абзац 𝑝 ∈ 𝑃. запросам. Для этого необходимо посчитать Для расчета релевантности необходимо учитывать: контексты понятий, используя большой массив • 𝑠𝑒𝑚(𝑑, 𝑝) – функция семантики. данных. Далее мы уточним предложенную ранее модель поиска, определив функции схожести • 𝑠𝑖𝑚(𝑝, 𝑞) – функция схожести. поискового запроса, L-тега и семантики L-тега в Сначала с помощью функции семантики контексте документа. Будет продемонстрировано, отбираются похожие на запрос 𝑞 абзацы 𝑃𝑞 . Далее как выделенные понятия и их связи могут быть набор 𝑃𝑞 сортируется на основе значений функции использованы для семантического поиска. семантики и функции схожести. Релевантность 4.1 Расчёт функции семантики должна быть больше, если значение функции семантики или схожести больше. В качестве L-тегов рассмотрим абзацы Функция семантики и функция схожести могут документов. Пусть даны конечное множество быть неравномерно распределены. В этом случае документов 𝐷, где каждому документу 𝑑 абзацы, которые больше похожи на свои документы, соответствует набор его абзацев 𝑃𝑑 , и множество могут получить необоснованное преимущество понятий 𝑁, для которых предварительно рассчитаны перед другими абзацами. Чтобы неравномерность контексты. Задача заключается в вычислении оценки функции семантики не приводила к сильному функции семантики 𝑠𝑒𝑚(𝑑, 𝑝) для документа 𝑑 ∈ 𝐷 изменению сортировки, можно воспользоваться и абзаца 𝑝 ∈ 𝑃𝑑 , где из абзаца 𝑝 выделено множество следующим подходом: понятий 𝑁𝑝 , у каждого понятия 𝑛 ∈ 𝑁𝑝 есть контекст • cортируем 𝑃𝑞 по значениям функции схожести, 𝐶𝑛 . для каждого 𝑝 ∈ 𝑃𝑞 получаем порядковый номер в Определение 4.1. Контекстом абзаца 𝑝 будем отсортированном наборе 𝑠𝑖𝑚𝑂𝑟𝑑𝑒𝑟(𝑞, 𝑝); называть вектор 𝐶𝑝 = (∑𝑛⁡∈⁡𝑁𝑝 𝐶𝑛 ) /|𝑁𝑝 |. • сортируем 𝑃𝑞 по значениям функции семантики, Определение 4.2. Контекстом документа 𝑑 будем для каждого 𝑝 ∈ 𝑃𝑞 получаем порядковый номер в называть вектор 𝐶𝑑 = (∑𝑝⁡∈⁡𝑃𝑑 𝐶𝑝 )/⁡|𝑃𝑑 |⁡. отсортированном наборе 𝑠𝑒𝑚𝑂𝑟𝑑𝑒𝑟(𝑑, 𝑝); Исходя из предположения, что в абзаце выделены все значимые понятия, можно считать, что контекст • релевантность может быть оценена как сумма абзаца 𝐶𝑝 характеризует его смысловое значение. или произведение 𝑠𝑖𝑚𝑂𝑟𝑑𝑒𝑟(𝑞, 𝑝) и 𝑠𝑒𝑚𝑂𝑟𝑑𝑒𝑟(𝑑, 𝑝). Смысловое значение документа определяется 5 Применение смысловым значением его абзацев, что характеризуется контекстом документа 𝐶𝑑 . На Рассмотрим поисковый запрос “Java”. О чем основании этого может быть определена функция пользователь думал, когда задавал этот запрос? Он семантики мог думать о следующем: 𝐶𝑑 ∙ 𝐶𝑝 • Java – это язык программирования. 𝑠𝑒𝑚(𝑑, 𝑝) = ⁡ ⁡. ‖𝐶𝑑 ‖⁡‖𝐶𝑝 ‖ • Java – это остров. 195 • Java – это кофе. понятия, абзаца, документа, запроса и пользователя. Очевидно, что без использования истории Были описаны алгоритмы для выделения контекстов запроса невозможно догадаться о значении термина с использованием большого корпуса текстов, “Java”, поэтому история запросов является важным наиболее полного тезауруса. Была уточнена модель компонентом. семантического поиска, введенная ранее. Допустим, в истории часто встречается Предложены способы оценки функций семантики и программирование, поэтому к запросу можно схожести с помощью различных контекстов, связей привязать понятие «Java – это язык понятий из тезауруса. Была введена, но недостаточно программирования». Пусть в некотором абзаце формализована, функция близости понятий. встречается термин “Java”, если в этом абзаце также Предполагается ее формализация в дальнейших встречаются компьютерные термины, то к абзацу на работах. Кроме того, планируется: этапе индексирования будет привязано понятие • Описать особенности индексирования «Java – это язык программирования». В этом случае математических текстов. мы найдем по запросу все абзацы, связанные с • Рассказать о программной архитектуре, языком программирования Java. Полнотекстовый основанной на представленной модели. поиск нашел бы все упоминания термина “Java”, но • Оценить качество и быстродействие системы многие абзацы могли бы быть нерелевантными, поиска по сравнению с другими решениями. кроме того, абзацы, в которых нет термина “Java”, но относящиеся к языку программирования Java, не Благодарности были бы найдены. Допустим, что по запросу “Java” найдено много Работа выполнена при финансовой поддержке абзацев, и все они одинаково похожи на запрос. Как РФФИ (проект 17-07-00214). можно ранжировать такую поисковую выдачу? Для Литература этого может быть использована функция семантики. Абзацы, которые лучше передают смысл документа, [1] Fellbaum, C.: WordNet. Blackwell Publishing Ltd, имеют большую релевантность. (1998) Пусть к некоторым документам вручную [2] Malakhov, D., Sidorenko, Y., Ataeva, O., привязан L-тег “Java” и определено значение Serebryakov, V.: Semantic Search in a Personal функции семантики. В этом случае L-тег “Java” Digital Library. In: Kalinichenko L., Kuznetsov S., может участвовать в поиске вместе с другими L- Manolopoulos Y. (eds). Data Analytics and тегами. Привязка поисковых запросов к документам Management in Data Intensive Domains. вручную позволяет улучшить качество поиска в DAMDID/RCDL 2016. Communications in наиболее важных темах, кроме того, такой подход Computer and Information Science, 706. Springer, используется в рекламных системах. Cham (2017) Представленная модель позволяет вынести [3] Magnini, B., Strapparava, C.: Experiments in Word сложные вычисления оценки функции семантики на Domain Disambiguation For Parallel Texts. Proc. этап индексации, что снижает нагрузку на сервер в of the ACL-2000 Workshop on Word Senses and момент поиска. Кроме того, появляется возможность Multi-linguality. Association for Computational контролировать объем поискового индекса и, как Linguistics, pp. 27-33 (2000) следствие, нагрузку на сервер в момент выполнения [4] Miller, G.A., Fellbaum, C., Tengi, R.: WordNet. поискового запроса. Это возможно за счет Cambridge, Princeton University (2006) ограничения количества тегов по значению функции семантики. [5] Salton, G., McGill, M.J.: Introduction to Modern Information Retrieval (1986) 6 Заключение [6] Лукашевич, Н.В.: Тезаурусы в задачах информационного поиска, М.: Изд-во МГУ В работе представлена модель семантического (2011) поиска и продемонстрирована полезность тезаурусов типа WordNet. Дан небольшой обзор по типам [7] Серебряков, В.А. Что такое семантическая тезаурусов и предложено решение некоторых цифровая библиотека In: RCDL 2014. сс. 21-25 проблем. (2014) Были формализованы определения контекстов: 196