УДК 004.912
АЛГОРИТМ ОТБОРА ТЕМАТИЧЕСКИ СХОЖИХ ДОКУМЕНТОВ С ПОСТРОЕНИЕМ КОНТЕКСТНО-СЕМАНТИЧЕСКОГО ГРАФА НА ОСНОВЕ ВЕРОЯТНОСТНО-ЭНТРОПИЙНОГО ПОДХОДА
И. А. Молошников, А. Г. Сбоев, Д. В. Гудовских
Национальный исследовательский центр «Курчатовский институт»
Поступила в редакцию 14 апреля 2015 г.
Аннотация: в работе предложен алгоритм поиска тематически схожих документов на основе эталонной коллекции текстов с возможностью наглядной визуализации результатов поиска в виде контекстно-семантического графа вложенных тем. Алгоритм основан на интеграции множества вероятностно-энтропийных индикаторов для выделения набора ключевых слов и словосочетаний, описывающего тему для поиска. Результаты тестирования продемонстрировали среднюю точность отбора документов 99 % при полноте 84 % на основе выборки, предоставленной экспертами. Также предложен подход к построению графа на базе алгоритма извлечения ключевых словосочетаний с весами, что позволяет отобразить структуру вложенных тем в больших коллекциях документов в компактном виде.
Ключевые слова: семантический алгоритм Гинзбурга, поиск схожих документов, контекстно-семантический граф.
Abstract: the paper presents the algorithm of the search of semantically close documents. The algorithm is based on a selected reference collection of documents. It creates a context-semantic graph for visualizing themes in search results is presented. The algorithm is based on integration of set ofprobabilistic, entropic, and semantic markers for extractions of ranged key words and combinations of words, which describe the given topic. Test results demonstrate an average accuracy of 99 % and the recall of 84 % on expert selection of documents. Also developed special approach to constructing graph on base of algorithms extract key phrases with weights. It gives the possibility to demonstrate a structure of subtopics in large collections of documents in compact graph form. Key words: Ginzburg semantic algorithm, search similar documents, context-semantic graph.
Задача анализа больших, постоянно растущих объемов информации требует комплексного решения ряда подзадач: описание в краткой форме темы интересов пользователя; отбор документов, соответствующих теме; представление в наглядной форме результата анализа данных документов.
Существует ряд систем, частично позволяющих решить задачу поиска тематически схожих документов.
В частности, в поисковых системах, основанных на Apache Lucene, поиск подобных текстов производится с использованием заранее определенного документа и реализуется по методу «мешка слов». Несмотря на такие достоинства данного метода, как производительность и универсальность, его использование для анализа тем «эволюционирующих» с изменением в течение времени состава ключевых слов вызывает трудности.
Другой подход заключается в представлении документов в виде вектора заданной размерности и использовании различных метрик близости двух векторов. В рамках этого подхода используется набор
© Молошников И. А., Сбоев А. Г., Гудовских Д. В., 2015
как статистических методов: ЬБЛ, РЬБЛ [1], так и основанных на нейронных сетях - Бос2уес [2]. Недостатками подхода являются требование к наличию большого корпуса для обучения модели, невысокая точность и сложность определения необходимого уровня близости.
Представленный нами алгоритм поиска тематически схожих документов похож на описанный в статье V. Ооу^ащи и К. ЯашапаШап [3]. Он основан на выделении набора ключевых слов и словосочетаний из представленной пользователем подборки текстов по теме и дальнейшем поиске на основе выделенных слов с ранжирование результатов. Отличие нашего метода состоит в способе выделения ключевых слов и словосочетаний (комбинация 2-х или 3-х слов в рамках одного предложении, без учета порядка), использования комбинации вероятностно-энтропийных характеристик текстов, семантического алгоритма Гинзбурга и дополнительных источников информации, таких как Национальный корпус русского языка.
Предложенный метод позволяет также строить контекстно-семантический граф, отражающий основные темы, представленные в результатах поиска, что
дает пользователю возможность быстро оценить предмет поиска.
Общая схема системы поиска тематически схожих документов
Общая схема системы представлена на рис. 1. Система позволяет:
1) формировать набор ключевых слов и словосочетаний, описывающих предметную область, на основе заданной небольшой коллекции тематических текстов - эталонной коллекции;
2) находить тематически схожие документы;
3) отображать вложенные темы в виде контекстно-семантического графа.
Система состоит из хранилища данных, аналитического модуля, модуля поиска тематически схожих документов и модуля визуализации результатов поиска. Для анализа темы пользователь предоставляет коллекцию документов, отражающих предмет поиска, которая называется эталонной коллекцией. Система позволяет выделить основные ключевые слова темы. Основываясь на них и эталонной коллекции производится отбор и ранжирование документов из хранилища. Используя аналитический модуль на результатах поиска, формируются тематические кластеры слов и словосочетаний, которые отображаются в виде контекстно-семантического графа.
Методы выделения ключевых слов и словосочетаний
Аналитический модуль производит ранжирование слов и словосочетаний, отражающее их принадлежность к теме. Под словосочетанием, биграммой или триграммой подразумевается комбинация из двух или трех слов встречающихся внутри одного предложения без учета последовательности в пред-
ложении. Входными данными для модуля служит предобработанный текст. В предобработку входит приведение слов к нормальной форме, разбиение текста на предложения (производится методами морфологического модуля АОТ), словарная фильтрация наиболее употребительных слов (предлогов, союзов и т. п.). Модуль использует вероятностно-энтропийные и семантические индикаторы для расчета ранга термина, базирующиеся на:
1) дивергенции Кульбака — Лейблера, используемой для сравнения распределений терминов;
2) информационной энтропии отражающей равномерность распределения термина по документам коллекции;
3) весах, основанных на распределении Бернул-
ли;
4) семантическом алгоритме Гинзбурга для определения близости двух слов.
На основе нормализованных значений указанных индикаторов вычисляется единый ранг для каждого термина. Слово «термин» обозначает «слово», в случае, если индикатор рассчитывается для ключевых слов или означает «словосочетание», применимо к ключевым словосочетаниям.
Отбирается 100 слов с наивысшим рангом и формируются словосочетания (биграммы и триграммы) с ними без учета последовательности слов в предложении. Далее вычисляются ранги для словосочетаний и выбираются биграммы и триграммы с наивысшим рейтингом. Используя выделенные слова и словосочетания для каждого документа эталонной коллекции, рассчитывается суммарный вес документа, равный сумме рангов ключевых слов и словосочетаний, входящих в него. Минимальный суммарный ранг документа эталонной коллекции выбирается как базовая линия для фильтрации не релевантных текстов.
Рис. 1. Общая схема системы
Дивергенция Кульбака -Лейблера Индикатор, основанный на дивергенции Кульбака - Лейблера, рассчитывается для слов и словосочетаний, согласно формуле 1. Он характеризует различие между реальным распределением термина ^ и теоретическим в соответствии с длиной документа (чем больше документ, тем больше в нем различных терминов, а значит, больше вероятность случайного попадания термина ^ в документ ё).
РлЛ^Ф
D(w) = Z Pdoc (w=)•l=
Г Pn (d) j=
(1)
©= Г » V" ) J-где рп - вероятность встретить термин ^ во всей коллекции документов относительно длины документа ё.
p{d )"ldL =
Pn[ ' Z N(x) =
(2)
x^D
где И(ф - общее количество терминов в документе ё; сумма Щх) - общее количество терминов во всей коллекции; ра(щ ё) - вероятность встречаемости термина ^ в документе ё.
\\А/,(1) =
Päcc (w,d )=-
F(w) '=
(3)
где ё) - встречаемость термина ^ в документе ё; ¥(м>) - встречаемость термина ^ в коллекции.
Малое значение величины показывает, что данное слово характерно для представленной выборки. Это может быть общеупотребительное слово, фильтруемое за счет других индикаторов, или тематическое ключевое слово.
Информационная энтропия Информационная энтропия показывает равномерность распределения термина ^ в документах коллекции и рассчитывается по формуле:
H(w) Z Pdoc(w d) In
= 1
Pdoc (w- d) j=
(4)
тельная частота встречаемости термина в Национальном корпусе русского языка.
Данный индикатор позволяет выделить большую часть общих слов, если они хорошо представлены в корпусе. Для общеупотребительных он будет иметь значение около 1, а для специализированных слов он много большее 1.
Веса на основе распределения Бернулли Данный тип индикаторов основывается на сравнении реального распределения терминов в коллекции с теоретическим распределением Бернулли.
Мы используем веса W1 и W2 в качестве индикаторов, основываясь на результатах из статьи G. Amati и C. J. Van Rijsbergen [4]. Они рассчитываются по формулам:
Щ( w) ZJWriskt( w, x), (5)
X<EÜ
W2( W) Z Wrisk2 (w, x),
(6)
x^D
Wrisk^ ( W, X) -'0g2 РГОЬпогтW d) , (7) 1 tf (w, d) +=
WriskM x) F(^(-l°92 Probnorm(w, d)) , (8) 2 df (w)(tf (w, d) + 1)
Здесь df(w) - количество документов в коллекции, содержащих термин w; Probnorm рассчитывается по следующим формулам:
, . Prob (iw,d) = Prob™(W'd) = f==roob (w,x)' = (9)
Prob(w, d) 2-log2 Prob {wd), (10) Probt w, d) B( N, F , X)
1=/(W-d) О F (W-tf (w,d) (ii) =f (w,d)/ 4 ' V '
Основываясь на величинах Prob , Wrisk., мы
norm 2
предлагаем два новых индикатора Di и Df 2:
Dfe1( W Z Pdoc ( W x) l092
Если данный показатель большой, то термин равномерно представлен в коллекции документов, если он равен 0, то это означает, что термин ^ встречается только в одном документе. В тематической коллекции ключевые слова равномерно распределены по набору документов.
Индикатор выделения общеупотребительных слов
Индикатор показывает отличие распределения слова ^ в эталонной коллекции и в Национальном корпусе русского языка. Рассчитывается по формуле г = рв/рк, где ре - относительная частота встречаемости термина в эталонной коллекции, рк - относи-
Dfe 2( W Z Pdoc W x)'°92
= Pdoc X)
Pr0bnorm ti,
= Pdoc (W
=Wrisk2nom(w,x) j=
.— norm ' * J—
(12)
, (13)
М/-/Ч I ^ Wrisk2(w, d) W"Sk2 norm ыd) , ' . (14)
^Wrisk2(w, x) v '
xsD
Для ключев^1х слов индикаторы W1, W2, Dfe 1, Df2 должны иметь большое значение.
Семантический алгоритм Гинзбурга Семантический алгоритм Гинзбурга [5] предназначен для выделения слов, схожих по контексту, в
котором они употребляются, при этом вводится индекс значимости:
ind {ale) =NacNL_ (15)
^ ' Nte Na K '
Он используется для определения семантической близости двух слов по их окружению (в рамках одного предложения), где Nac - встречаемость слова а со словом c, Nt - общее число слов в коллекции документов, Ntc - общее число слов в окружении слова c, Na - встречаемость слово а в коллекции.
Индекс значимости рассчитывается для всех слов, встречающихся в одном предложении со словом A или С, для которых рассчитывается близость по контексту. Если ind(a\c) больше 1 - это означает, что данный показатель значим при расчете. Индексы значимости представлены на рис. 2 как ребра ind 1, ind 2, ind 3 и т.д.
Индикатор связанности по Гинзбургу, определяющий силу семантической связи двух слов, рассчитывается на основе индексов значимости по следующей формуле:
sum( A) +=sum _ razn +=sun(C)
-7,-' (16)
sum all v '
ginz( A,C) 1 —
где sum(A) - сумма индексов значимости со словом А, больших чем 1 и не принадлежащих к окружению слова С (на рис. 2 это сумма индексов тС1, тС 2, тС3, тС4); sum(C) - сумма индексов значимости со словом С, больших чем 1 и не принадлежащих к окружению слова А (на рис. 2 это сумма индексов тС 11, тС 12, тС 13); sum_razn - сумма абсолютных значений разностей индексов значимости в общей части (для рис. 2 эта сумма равна |^7-^8|+|^6-^9|+|^5-т^0|); sum_all - сумма всех индексов значимости больших, чем 1.
Значения индикатора связанности по Гинзбургу лежат в интервале от 0 до 1; 0 - слова не связаны, 1 - максимальная связанность слов.
Алгоритм формирования ключевых словосочетаний
Алгоритм формирования ключевых словосочетаний состоит из нескольких шагов:
1. Выбрать N наиболее частотных слов в эталонной коллекции в кандидаты на ключевые слова (экспериментально было подобрано оптимальное значение N = 1000).
2. Рассчитать для кандидатов все описанные ранее индикаторы, за исключением индикатора связанности по Гинзбургу.
3. Нормализовать полученные значения индикаторов. Нормализованные значения формируют одно значение для каждого кандидата, называемое ранг, отражающее принадлежность данного слова к теме.
4. Слова с наивысшим значением ранга являются ключевыми словами темы.
5. На основе выделенных ключевых слов формируются биграммы и триграммы. Эти словосочетания создаются из слов одного предложения без учета последовательности и их положения в предложении.
6. Для ранжирования биграмм и триграмм рассчитываются ранее описанные индикаторы, включая индикатор связанности по Гинзбургу, и аналогично ключевым словам формируется ранг ключевого словосочетания.
7. Биграммы и триграммы с наивысшим значением ранга являются ключевыми словосочетаниями темы.
Результатом работы данного алгоритма является взвешенный относительно темы, заданной эталонной коллекцией, набор ключевых слов и словосочетаний.
Поиск тематически схожих документов
Если представлена эталонная коллекция и выделены ключевые слова и словосочетания темы, то можно переходить к этапу поиска тематически схо-
Слово А Слово С
Рис. 2. Алгоритм Гинзбурга
жих документов в хранилище. Схематично этот процесс представлен на рис. 3. Он основан на ранее описанных алгоритмах и трех источниках информации. Первый - это заданная пользователем эталонная коллекция документов, подсказывающая, что необходимо искать, второй - это Национальный корпус русского языка, использующийся для вычисления частоты общеупотребительных слов, и третий - набор документов, полученный в результате поиска по основным ключевым словам. Используя эти входные данные, модуль формирует ключевые слова и словосочетания для ранжирования документов, на релевантность заданной эталоном теме. При этом рассчитывается минимальная граница релевантности теме документов эталонной коллекции.
По результатам анализа ключевых слов и словосочетаний вместе с результатами поиска по основным ключевым словам модуль формирует минус-слова темы. Минус-слова темы может встречаться с основными ключевыми словами только в других предметных областях. Например, для темы «Автомобили Форд» система выдаст следующие минус-слова: Марк, Том, Харрисон. Марк Форд - поэт, Том Форд - дизайнер и кинорежиссер, Харрисон Форд - знаменитый киноактер.
Полученные из хранилища документы взвешиваются и фильтруются на основе ключевых слов, словосочетаний и минус-слов темы. Пользователю представляется отранжированный список документов, тематически схожих с документами эталонной коллекции.
Методы построения контекстно-семантического графа
Результаты тематического поиска могут содержать большое число документов. Для наглядной визуализации вложенных тем используется контекстно-семантический граф. Узлами данного графа являются ключевые слова, а ребрами ключевые биграммы,
полученные в ходе анализа результатов поиска, представленными ранее методами. Размер узлов, расстояние между ними и толщина связывающих линий характеризуют связанность подтем в коллекции документов.
Для построения графа коллекция документов обрабатывается аналитическим модулем с получением списка ключевых слов (узлов) и биграмм с рангами. Из ключевых биграмм строится матрица смежности, описывающая связи будущего графа. К этой матрице применяется метод кластеризации на основе близости узлов через соседей (Affinity Propagation с использованием библиотеки scikit-learn [6]). Результатом работы алгоритма является набор вложенных тем, представленных кластерами из ключевых слов. Для визуализации графов использовался алгоритм укладки «Force Atlas 2», реализованный в программном продукте Gephi [7]. На рис. 4 представлена часть такого графа, построенного по выборке из 9000 документов по теме «Ракета Булава».
Для расчета связанности тематических кластеров и дальнейшей визуализации веса связей для узлов из разных кластеров объединяются и отражаются в виде ребра между центрами кластеров. Пример части такого графа для выборки по теме «Арктика», состоящей из 14 000 документов, представлен на рис. 5.
Тестирование системы
Совместно с экспертами было проведено тестирование по 4 темам. Экспертами были подготовлены сложные запросы к хранилищу, результат запроса эксперта принимается в качестве 100 % релевантного теме. Экспертами также были подобраны эталонные выборки по каждой теме. Размер полученного по запросу экспертов набора документов составил около 5000 документов.
Для каждой из 4 тем в результате анализа эталонной коллекции описанными выше алгоритмами авто-матизированно сформирован запрос к хранилищу.
Рис. 3. Схема поиска тематически схожих документов
Рис. 4. Часть графа для выборки по теме «Ракета Булава»
Рис. 5. Часть графа для выборке по теме «Арктика»
Сравнение результатов по 4 темам от экспертов и полученных в ходе работы системы показало точность 99 % и полноту 84 % разработанного алгоритма поиска тематически схожих документов на основе заданной эталонной коллекции.
Таким образом, на основе описанных выше алгоритмов создана система поиска тематически схожих документов по теме, задаваемой эталонной коллекцией, показавшая высокие значения точности и полноты по результатам тестирования совместно с экспертами. Также предложен алгоритм наглядной визуализации вложенных тем в виде контекстно-семантического графа для больших коллекций документов.
Представленные методы и алгоритмы закладывают основу для разработки системы отражающей эволюцию темы с течением времени и формирования новых подтем в рамках исходной темы.
ЛИТЕРАТУРА
1. Blei David M., Ng. Andrew Y., Jordan Michael I. Latent dirichlet allocation // Journal of machine Learning research. - 2003. - № 3. - Р. 993-1022.
2. Le Quoc, Mikolov T. Distributed Representations of Sentences and Documents // Proceedings of The 31st International Conference on Machine Learning, 2014. -Р. 1188-1196.
3. Govindaraju V., Ramanathan K. Similar Document Search and Recommendation // HP Laboratories, 2011.
4. Amati Gianni and Van Rijsbergen. Cornelis Joost Probabilistic Models of Information Retrieval Based on Measuring the Divergence from Randomness // ACM Transactions on Information Systems (TOIS) 20. - 2002. - № 4. - Р. 357-389.
5. Воронина И. Е. Алгоритмы определения семантической близости ключевых слов по их окружению в тексте / И. Е. Воронина, А. А. Кретов, И. В. Попова //
Вестник Воронеж гос. ун-та. Сер. : Системный анализ и информационные технологии. - 2010. - № 1. - С. 148-153.
6. Pedregosa F., Varoquaux et.al. Scikit-learn : Machine Learning in Python // Journal of Machine Learning Research. - 2011. - № 12. - Р. 2825-2830.
7. Bastian M., Heymann S., JacomyM. Gephi : an open source software for exploring and manipulating networks // International AAAI Conference on Weblogs and Social Media, 2009.
Национальный исследовательский центр «Курчатовский институт»
Молошников И. А., инженер-исследователь, аспирант
E-mail: [email protected] Тел.: 8-926-378-09-57
Сбоев А. Г., кандидат физико-математических наук, ведущий научный сотрудник E-mail: [email protected] Тел.: 8-926-253-72-17
Гудовских Д. В., инженер-исследователь, аспирант
E-mail: [email protected] Тел.: 8-963-994-26-50
National Research Center «Kurchatov Institute» Moloshnikov I. A., Research Engineer, Post-graduate Student
E-mail: [email protected] Теl.: 8-926-378-09-57
Sboev A. G., Candidate of Physical and Mathematical Sciences, Leading Researcher E-mail: [email protected] Теl.: 8-926-253-72-17
Gudovskikh D. V., Research Engineer, Post-graduate Student
E-mail: [email protected] Теl.: 8-963-994-26-50