УДК 519.688
СИСТЕМЫ РАСПОЗНАВАНИЯ СЕМАНТИЧЕСКИ БЛИЗКИХ СЛОВ
© 2018 С. О. Тищенко1, В. П. Добрица2
1 аспирант кафедры программного обеспечения и администрирования информационных систем e-mail: [email protected]. д.ф.-м.н.,
2профессор кафедры программного обеспечения и администрирования информационных систем e-mail: [email protected]
Курский государственный университет
В статье рассмотрены алгоритмы поиска семантически близких документов и слов. Данные алгоритмы широко применяются в поисковых системах. Помимо принципов их работы, рассмотрен также общий для всех недостаток.
Ключевые слова: поисковые машины, поиск синонимов, семантические связи, поисковики, синонимы, алгоритмы распознавания смысла.
Из-за быстрого роста информации, доступной в Интернете, навигационные методы просмотра быстро достигают предела их функциональных возможностей, не говоря уже о пределе их эффективности. Необходимую информацию не представляется возможным получить сразу, так как в Интернете сейчас находятся миллиарды документов, и все они в распоряжении пользователей. Основная проблема заключается в том, что единой полной функциональной системы обновления и занесения подобного объема информации, одновременно доступного всем пользователям Интернета во всем мире, не существует. Для того чтобы структурировать информацию, накопленную в Интернете, и обеспечить ее пользователей удобными средствами поиска необходимых им данных, создаются поисковые системы. Поисковые системы («Яндекс», «Google» и т.п.) работают по принципу ввода в их поисковую строку ключевых слов, на основе которых они выдают список интернет-страниц, наиболее релевантных поисковому запросу. Проблема в том, что пользователь не всегда четко знает нужные ему ключевые слова. Очень часто на искомой странице ключевые слова имеют форму синонимов тех слов, которые вводил пользователь в поисковую систему [Полонников 2006: 203-250]. Таким образом, для наилучших результатов работы поисковиков необходимо учитывать синонимы вводимых слов, причем в семантическом контексте всей фразы. На сегодняшний день существует много различных алгоритмов, частично решающих задачи в этой области. Рассмотрим некоторые из них.
Современные алгоритмы поиска синонимов (например, алгоритм SimRank, алгоритм Similarity Flooding) изначально предназначены для вычисления меры сходства между вершинами графов. Поэтому алгоритмы не учитывают такую дополнительную информацию, как тематическая направленность и метаданные текста. Алгоритмы, выполняющие поиск похожих документов и близких по значению слов, можно условно разделить на группы.
1. Поиск на основе анализа ссылок (вычисления на графах): - ссылки заданы явно гиперссылками (HITS, PageRank, ArcRank, Green, WLVM);
- ссылки нужно построить (Similarity Flooding, алгоритм извлечения синонимов из толкового словаря).
2. Поиск на основе анализа текста:
- статистические алгоритмы (ESA, сходство коротких текстов, извлечение контекстно связанных слов на основе частотности словосочетаний);
- автоматическое понимание текстов.
3. Поиск на основе анализа и ссылок и текста.
Алгоритм анализа гиперссылок HITS
Алгоритм HITS (Hyperlink-Induced Topic Selection) позволяет находить интернет-страницы, соответствующие запросу пользователя, на основе информации, заложенной в гиперссылки. Ссылки позволяют использовать себя как указатель значимости страниц (подобный принцип заложен в алгоритме PageRank, используемом Google). Допустим, у нас есть страница «А»; тогда если страница «А» ссылается на страницу «Б», то страница «Б» является для «А» авторитетной и соответствует тематике страницы «А», значит, они семантически близки и страница «Б» подходит для результата поисковой выборки.
Поиск в Интернете (Web search) - это нахождение релевантных страниц, соответствующих запросу. Можно выделить два крайних типа запросов: конкретный (проблема недостатка страниц) и чрезмерно общий (проблема избытка страниц).
Алгоритм HITS в своем описании использует термины «авторитетный документ» и «хаб-документ» (или «авторитетная и хаб-страница»). Авторитетный документ - это документ, соответствующий запросу пользователя, имеющий больший удельный вес среди документов данной тематики, то есть у этого документа больше всего число ссылок на него. Хаб-документ - это документ, содержащий много ссылок на авторитетные документы. HITS алгоритм предлагает общую идею итеративного вычисления авторитетных страниц, где авторитетность определяется количеством ссылок. В алгоритме HITS каждой странице сопоставлено два параметра, которые определяют авторитетность и наличие ссылок на авторитетные страницы.
Алгоритм WLVM - алгоритм векторной модели ссылок Википедии (англ. Wikipedia Link Vector Model или WLVM). Этот алгоритм вычисляет сходство двух статей Википедии на основе содержащихся в них ссылок [Крижановский]. Алгоритм включает шаги:
1. По заданному термину получить все статьи Википедиии с похожими заголовками.
2. Обработать ссылки (разрешить «редиректы»; для ссылок на страницы «дизамбиги» взять все ссылки, перечисленные на «дизамбигах»).
3. Подсчитать вес ссылок (см. ниже).
4. Построить вектор (исходящих) ссылок для каждой страницы.
5. Из множества пар статей (для двух терминов) выбираются наиболее похожие, то есть с наименьшим углом между векторами ссылок. Семантическое сходство двух страниц Википедии определяется углом между векторами ссылок этих страниц. Сходство будет выше, если обе страницы ссылаются на страницу, на которую мало ссылаются другие страницы. Вес ссылки с исходного документа на целевой определяется по правилам:
- 1 если есть такая ссылка или 0 если её нет в исходном документе;
- вес равен общему обратно пропорциональному числу ссылок на целевой документ.
Вес ссылки w со страницы a на страницу b рассчитывается по формуле
Тищенко С. О., Добрица В. П. Системы распознавания семантически близких слов
где t - общее число страниц в Википедии, a - страница из которой происходит «редирект», b - страница, на которую происходит переход. Для оценки алгоритма использовался тестовый набор 353-TC. Была предпринята малоуспешная попытка автоматически выбирать верное значение для ссылок на многозначные статьи: коэффициент корреляции Спирмена с эталонным набором оказался равным 0.45, при разрешении многозначных статей вручную этот коэффициент равен 0.72.
Алгоритм Similarity Flooding. Идея алгоритма Similarity Flooding, состоит в том, что «два элемента считаются сходными, если сходны их соседи. Сходство двух элементов распространяется на их соседей». На первом шаге в соответствии с входными схемами, которые нужно сравнить (например, SQL таблицы или запросы), строятся два графа. На втором шаге задаются начальные значения сходства между вершинами двух графов путём сравнения имён вершин. На третьем шаге итеративно вычисляется сходство вершин до тех пор, пока суммарное изменение степени сходства по всем вершинам больше наперёд заданного 8. Значение сходства между вершинами учитывается для вычисления сходства соседних вершин. На четвёртом шаге выбираются наиболее похожие пары вершин.
Тезаурусы - сложный компонент словарного типа, отражающий основные соотношения понятий в описываемой области знаний. Тезаурусы включают всю терминологию, специфическую для предметной области, а также парадигматические отношения между понятиями предметной области. Тезаурус может выполнять разные функции в разных системах. Например, он является источником специальных знаний в узкой или широкой предметной области, способом описания и упорядочения терминологии предметной области, а также инструментом автоматического индексирования текстов [Рахилина и соавт. 2006].
Одним из наиболее успешных проектов, связанных с тезаурусами, является WordNet - тезаурус английского языка, представляющий состав и структуру лексического языка в целом, а не отдельных тематических областей. WordNet группирует наборы слов со схожим значением в синсеты (от англ. synonym set, synset). WordNet содержит синсеты, краткие общие определения к синсетам (глоссы), примеры употреблений и несколько типов семантических отношений между синсетами. Данные WordNet используются для решения таких задач, как определение значения слова, вычисление логичности и связности предложений в тексте, построение баз знаний и тезаурусов.
Все эти алгоритмы не способны с достаточной степенью учитывать смысл фраз, вводимых как поисковый запрос, и учитывать смысловую нагрузку в контексте этой фразы. У слова может быть несколько синонимов, но некоторые из них должны отфильтровываться контекстным смыслом всех ключевых слов [Выготский 1997: 87150]. Тем не менее некоторые из алгоритмов (например, PageRank) используются в современных поисковых системах и выдают достаточный уровень релевантности. Эта область достаточно молода, и в будущем нас ждет создание новых алгоритмов и усовершенствование старых.
Библиографический список
Выготский Л. С. Мышление и речь // Общая психология: тексты. Раздел 3. Вып. 1. Познавательные процессы: виды и развитие. Ч. 2 / под общ. ред. В.В. Петухова М., 1997. С. 87-150.
Крижановский А. А. Математическое и программное обеспечение построения списков семантически близких слов на основе рейтинга вики-текстов [Электронный документ]. URL: http://www.dialog-21.ru/digests/dialog2006/materials/html/Krizhanovsky.htm (дата обращения: 18.12.2017).
Полонников Р. И. Основные концепции общей теории информации. СПб.: Наука, 2006. 203 с.
Рахилина Е. В. Кобрицов Б. П., Кустова Г. И., Ляшевская О. Н., Шеманаева О.Ю. Многозначность как прикладная проблема: лексико-семантическая разметка в национальном корпусе русского языка // Компьютерная лингвистика и интеллектуальные технологии. Труды международной конференции «Диалог 2006». Бекасово, 2006 [Электронный документ]. URL: http://www.dialog-21.ru/dialog2006/materials/pdf/Rakhilina.pdf (дата обращения: 15.01.2018).
Сегалович И. В. Как работают поисковые системы. URL: http://www.dialog-21.ru/trends/?id=15539&f=1 (дата обращения: 02.02.2018).