УДК 004.912
Я.А. Седова, И.Ю. Квятковская
СИСТЕМНЫЙ АНАЛИЗ КОРПУСА ТЕКСТОВ НАУЧНОГО ЗНАНИЯ
Описаны семантическая модель корпуса документов и алгоритмы, позволяющие представить его в форме графа для последующего анализа. Разработан алгоритм поиска в корпусе документов с помощью созданной модели. Предлагается подход к обработке текстов авторефератов кандидатских и докторских диссертаций.
Интеллектуальный анализ текстовых данных, семантическая модель, латентный семантический анализ, кластерный анализ, информационно-поисковая система
Y.A. Sedova, I.Y. Kvyatkovskaya SYSTEM ANALYSIS OF THE SCIENTIFIC DOCUMENTATION CORPUS
The semantic model of a document corpus and algorithms allowing to represent it as a graph for the following analysis are offered. The algorithm of the search within a document corpus is also described. The approach to process abstracts of PhD and doctoral theses is considered.
Text mining, semantic model, latent semantic analysis, cluster analysis, information retrieval system
Современный этап развития науки характеризуется значительными темпами увеличения объема научного знания. Согласно статистике, опубликованной веб-ресурсом «Кадры высшей научной квалификации» [1], количество кандидатских диссертаций, утвержденных Высшей аттестационной комиссией, в последнее десятилетие значительно выросло. На сайте ВАК хранится электронный архив авторефератов докторских диссертационных работ за 2006 - 2010 гг., имеющий 9567 документов.
Научное знание, представленное документально, является слабо структурированным. Например, автореферат диссертационной работы имеет фиксированную структуру, но написан на естественном языке, что затрудняет его автоматическую семантическую обработку, т.к. формальной модели естественного языка в настоящее время не создано. Поэтому актуальна задача автоматизации анализа массива (корпуса) текстовых документов.
Основные определения
Под термином в данной работе понимается слово или словосочетание на естественном языке, описывающее какое-либо понятие предметной области.
Назовем словарем предметной области совокупность терминов этой области, а словарем документа - совокупность терминов этого документа.
Если термин относится к определенной предметной области, то назовем его доминантным для этого документа.
В данной работе текстовый документ рассматривается в виде D =< T,W >, где T = [tj | i = 1. m} - множество доминантных терминов документа, W = {wt | i = 1...m} -множество весов терминов, показывающих важность термина tt для документа D. Эта
г D1 2 D2 . D Л n
t1 w11 w12 . . w1n
C= t2 w21 w22 . . w2n
V tm wm1 wm2 . w mn J
модель основана на модели «набор слов» [2] (bag of words), но отличается от нее использованием терминов вместо одиночных слов.
Корпус текстовых документов может быть представлен в виде матрицы C «термин-на-документ» вида
(1)
где t1...tm - доминантные термины всех документов корпуса, D1...Dn - документы корпуса, wij - веса терминов в соответствующих документах.
Представление корпуса в виде матрицы позволяет рассматривать его как набор векторов в m -мерном пространстве, где m - количество терминов во всех документах корпуса. Модель основана на векторной модели пространства [3] (vector space model) и отличается от нее использованием терминов вместо одиночных слов.
Векторная модель пространства схематически изображена на рис. 1.
Представление документов как векторов позволяет использовать аппарат векторной алгебры для анализа векторного пространства, в частности, для вычисления степени сходства между документами и для кластерного анализа корпуса документов.
Сходство между термином ti и
документом D j может быть определено без дополнительных расчетов из матрицы C как элемент wij, стоящий на пересечении i -й строки и j -го столбца и показывающий вес термина ti в документе Dj .
Для определения сходства между терминами или документами часто используется следующий факт. Рассмотрим матрицу CCT размерностью m x m. На
пересечении i -й строки и j -го столбца в этой матрице находится скалярное произведение
Рис. 1. Векторная модель пространства документов
векторов терминов їі и їІ 'Е"р=Імірмрі-, і = І,---,т, І = І,---,т, , которое может быть использовано в качестве метрики сходства между этими векторами, т-е- и между терминами- Аналогично, матрица СТС размерностью п х п позволит вычислить сходство между документами- Могут быть использованы и другие метрики сходства: значение косинуса между векторами, Евклидово расстояние и др-
Алгоритм извлечения доминантных терминов из текстового документа
Для получения списка доминантных терминов документа необходимо решить две
задачи:
І - Получение списка всех терминов, употребляющихся в документе-2- Выделение из этого списка терминов, которые являются доминантными для данного документа-
Получение списка терминов из документа
Словосочетания, похожие на термины, извлекаются из текста с помощью метода C-value [4]. В работе [5] описан эксперимент, показывающий, что именно этот метод лучше всего позволяет выделить термины в текстах на русском языке.
Метод C-value работает следующим образом:
1. Осуществляется морфологический анализ текста. В англоязычной литературе данный этап описывается термином «частеречная разметка» (part-of-speech, POS tagging), который обычно подразумевает, что для каждого слова определяется часть речи, но не определяются морфологические характеристики. Для русского языка с его развитой системой словоизменений целесообразно производить полный морфологический анализ.
2. Из текста извлекаются словосочетания, удовлетворяющие следующим условиям:
1) словосочетание проходит через лингвистический фильтр, т.е. все входящие в него слова могут, исходя из их морфологических характеристик, быть частью термина. В работе П. Браславского и Е. Соколова [5] используются грамматические шаблоны, и отбираются только те словосочетания, которые удовлетворяют этим шаблонам. Удаляются также стоп-слова, не несущие самостоятельной смысловой нагрузки.
2) частота употребления словосочетания в тексте превышает заданное пороговое значение.
3) количество входящих в словосочетание слов (будем называть это значение длиной словосочетания и обозначать его, например, |а|) не превышает заданное пользователем значение L.
Таким образом, из текста извлекаются так называемые термины-кандидаты и создается список биграмм, список триграмм и т.д.
1. Для каждого термина-кандидата вычисляется значение C-value по следующему алгоритму:
1) каждой подстроке b термина-кандидата а0 ставится в соответствие тройка чисел f (b), t(b), c(b), где f (b) - частота употребления b в документе (frequency(b)), t(b) - частота употребления b внутри других терминов-кандидатов, c(b) - количество этих более длинных терминов-кандидатов. Присваиваются значения c(b) = 1, а t(b) = frequency(a0) .
2) для каждого термина-кандидата а, для которого выполняется условие |а| = L.
- вычислить C — value(a) = log2 \а\ • f (а) .
- для каждой подстроки b строки а :
c(b) = c(b) +1; t(b) = t(b) + frequency(а) ;
3) присвоить l = L — 1.
4) для каждого термина-кандидата а, для которого |а| = l
- если c(a) = 1, то C — value(a) = log2 \а\ • f (а) .
- иначе C — value(a) = log2 la I (f (a)-1— t (a)) и для каждой подстроки b строки а :
c(a)
c(b) = c(b) +1; t(b) = t(b) + frequency(a) ;
5) если l > 2 , то переход к шагу (в), иначе останов.
В результате работы алгоритма для каждого термина-кандидата с длиной больше единицы будет вычислено значение меры C-value по формуле:
log2 \а\ * frequency(a), если строка a не вложена в другие строки,
С — value (а) =
1 (2) log2 а--------* X freq(b), в противном случае, v J
P(Ta) beTa
Выделение доминантных терминов
Мера C-value позволяет выявить термины в корпусе документов, однако в данной задаче необходимо выявить термины в рамках каждого из документов и определить, какие из выявленных словосочетаний являются доминантными для документа. С этой целью применяется мера TF*IDF, позволяющая осуществить так называемый контрастный тест, присвоив словосочетаниям, которые часто встречаются не только в данном документе, но и в других документах корпуса, низкий вес, а словосочетаниям, которые в данном документе встречаются часто, а в других - редко, высокий вес.
Мера TF*IDF для термина-кандидата t вычисляется по формуле
) = ,frequencyc Ц) log ND , (3)
W \d\ Nd w
f frequency(t), если \ t \= 1, , ,, ,r
где freqC (t) = < „ , ; \ d \ - количество слов в документе; Nn -
j |c — value(t) в противном случае; ’ 11 > d
количество документов в анализируемом корпусе; N d - количество документов в анализируемом корпусе, содержащих термин t .
Латентный семантический анализ
В работе использован латентный семантический анализ (LSA - latent semantic analysis) как метод определения сходства значений слов и документов на основе статистических вычислений над большим текстовым корпусом [6]. Он использован, т.к. требуется дополнительной информации, такой как построенные вручную словари, семантические сети или базы знаний. В основе метода LSA содержится гипотеза о том, что между словами и тем контекстом, в котором они употребляются, существуют неявные (латентные) взаимосвязи. Предполагается, что семантическое значение документа может быть представлено как сумма значений входящих в него слов:
значение(документ) = значение(слово _1) + значение(слово _2) +... + значение(слово _ т)
Метод позволяет вычислить корреляции между парой терминов, между парой документов и между термином и документом.
Каждая строка исходной матрицы C - вектор, соответствующий термину и показывающий его связь с каждым из документов корпуса:
tiT = К w2i ... wm Ь (4)
Каждый столбец исходной матрицы C - вектор, соответствующий документу и
показывающий его связь с каждым из терминов корпуса:
di =К wi2 ... wm}T , (5)
Скалярное произведение tt tp двух векторов показывает корреляцию между
соответствующими терминами. Произведение матриц CCT содержит такие скалярные произведения. Элемент (i, p), равный элементу (p, i), содержит скалярное произведение
t^tp = tpTti. Аналогично, матрица CTC содержит скалярные произведения между
векторами всех документов, показывающие корреляцию между ними: djdq = dqT'dj.
Метод LSA заключается в сингулярном разложении матрицы C (SVD - singular value decomposition) и аппроксимации ее матрицей Ck меньшего ранга k. Тогда матрица Ck,
содержащая только k первых линейно независимых компонент C , отражает структуру ассоциативных связей, присутствующих в исходной матрице, и не содержит «шума». Помимо этого, уменьшение размерности матрицы ведет к уменьшению количества вычислений.
По теореме о сингулярном разложении существует разложение матрицы С = и2Ут , такое что и и V - прямоугольные матрицы, а Z - диагональная матрица.
Тогда, как отмечалось выше, сходство между терминами и (или) документами может быть определено из следующих соотношений:
1. Сходство между термином и документом может быть определено из произведения матриц:
с=иzvт = (и41)(^т), (6)
2. Сходство между двумя терминами может быть получено из следующего выражения:
ССт = (UZVт )(UZVт )т = (UZVт )(vтT ZтUт) = иzvтvzтит = иzzтит = (Ш )(Ш )т, (7)
3. Сходство между двумя документами может быть получено из следующего выражения:
СтС = (UZVT )т (UZVT) = (VтT ZTUT )(UZVT) = VZTUTUZVT = VZTZVT = ^ )^ )т (8)
Произведения матриц ZZT и ZтZ являются диагональными матрицами, поэтому матрица и должна содержать собственные вектора ССт, а матрица V - собственные вектора СтС. Оба произведения должны иметь одинаковые не равные нулю собственные значения при не равных нулю элементах ZZT или, что то же самое, при не равных нулю элементах ZтZ.
Разложение матрицы С выглядит следующим образом:
1п
т1
и.
и,
0
[
У‘
V,
I
(9)
где г1,...,г,
сингулярные числа, и1,...,и, и v1,...,V,
[ V и
левый и правый сингулярные вектора.
Известно, что выбор к наибольших сингулярных значений и соответствующих им сингулярных векторов из матриц и и V даст наилучшую аппроксимацию матрицы С матрицей ранга к :
С = ик1кукт
(10)
Теперь, применяя к уменьшенным матрицам полученные ранее соотношения (6),
(7) и (8), можно вычислить сходство каждой пары терминов как скалярное произведение соответствующих векторов, умноженных на сингулярные значения:
СкСкт = (UkZk )(и^к )т. (11)
Аналогично определяется сходство каждой пары документов:
СктСк = ^ )^ )т . (12)
Сходство между парой термин - документ определяется по формуле
Ск = (и„Д“ )(лй>кт). (13)
Семантическая модель и граф корпуса документов научного знания
Численные значения сходства между терминами, между документами и между терминами и документами корпуса позволяют построить следующую семантическую модель корпуса документов А :
А =< °,т,8°, 8*, 8*° >, (14)
где ° = (Д |г = 1...п} - множество документов корпуса; т = {tj |г = 1...т} - множество терминов корпуса; 8° = (5°) (г = 1,...,п;у = 1,...,п) - матрица, в которой элемент 5'°
отражает меру сходства между документами Д и Д ; 8і = (^) (і = 1,...,т;] = 1,...,т) -
и
С
г
матрица, в которой элемент э. отражает меру сходства между терминами їі и ї.;
= (э,) (і = 1,. .,т;. = 1,...,п) - матрица, в которой элемент э. отражает меру сходства
между термином їі и документом Д..
Таким образом, корпус может быть представлен в виде взвешенного графа О =< X, Я >, где X =< О, Т > - множество вершин графа, состоящее из множества
документов корпуса и множества входящих в них терминов, Я =< Я0, Я, Яю > -множество ребер, соединяющих документы и термины между собой и друг с другом, и определена функция н : Я ® ^, на множестве ребер принимающая значения в действительных числах (рис. 2).
Ребро (Ді, Д.) є Я0 между вершинами Ді є О и Д. є Д существует, если эД > є0 ,
где є0 > 0 - заданный порог. Вес этого ребра - значение эД. Аналогично, ребро
(їі, ї.) є Я‘ между вершинами їі є Т и ї. є Т существует, если э. >Є, а ребро
(їі, Д.) є Яю между вершинами їі є Т и Д. є Д существует, если э, > єю , где є1 > 0 и
єю > 0 - заданные пороги. Весами этих ребер являются соответственно значения э. и э. .
Рис. 2. Граф корпуса документов Рис. 3. Результаты поиска по корпусу
Метрические характеристики корпуса и его элементов
Представление корпуса документов в виде графа G =< X, R > позволяет применить для его анализа графовые алгоритмы и математический аппарат теории графов. В частности, метрические характеристики графа в применении к корпусу документов могут быть интерпретированы следующим образом. Пусть d(ti, tj) - расстояние между
вершинами ti и t j . Тогда можно выделить следующие характеристики термина ti ,
показывающие уровень его детализации в данном корпусе: 1) эксцентриситет вершины ti
ecc(tt) = max d(ti, t j); 2) степень вершины tt deg(ti) =|{t j є T : (ti, ti) є R }|.
j=1..m
Аналогично можно выделить следующие характеристики документа Di , показывающие уровень его детализации в данном корпусе: 1) эксцентриситет вершины Dt ecc(Di) = max d(Dt, Dj); 2) степень вершины deg(Dt) =|{Dj є D : (Di, Dj) є RD }|.
j=1... m
Также можно выделить характеристики корпуса, показывающие уровень его детализации:
1) радиус словаря корпуса radT (G) = min(ecc(ti)); 2) радиус корпуса
rad(G) = min(ecc(Di )); 3) диаметр словаря корпуса diamT (G) = max(ecc(t;.)) ; 4) диаметр
i=1...n i=1...m
корпуса diam(G) = max(ecc(D;.)).
i =1... n
Введенные метрические характеристики корпуса, документа и термина позволяют оценить качество корпуса документов.
Поиск по корпусу
Как правило, результаты латентного семантического анализа используются для поиска по корпусу документов. Этот метод поиска называется латентным семантическим индексированием (LSI - latent semantic indexing). Запрос представляется как псевдодокумент (еще один вектор документа) q = Z^Ulq, и после этого его сходство с каким-либо документом корпуса может быть вычислено как сходство между вектором запроса и вектором этого документа.
Однако описанная выше модель предоставляет возможность задавать более подробные запросы, перейдя от естественного языка к ограниченному естественному языку.
Определим поисковый запрос q в виде следующего логического выражения:
q = л(у (q )),q e{tq, 0tq}. (15)
Примером такого запроса может быть следующее выражение:
q = информационный поиск л (кластерный анализ у латентный семантический анализ л 0 латентное семантическое индексирование)
Дополнительными параметрами запроса могут быть документные операторы, которые позволяют сделать поиск более конкретным: 1) поиск по заголовкам документов;
2) поиск по заданному сайту; 3) поиск файлов заданного типа; 4) поиск файлов на заданном языке; 5) поиск файлов в заданном временном интервале.
Тогда постановка задачи информационного поиска в корпусе выглядит следующим образом:
Задан запрос q. Необходимо для этого запроса найти подграф Gq =< Xq, Rq > графа G, где Xq =< Dq,Tq > - множество вершин, а Rq - множество ребер, соединяющих документы и термины между собой и друг с другом, причем Tq = {tq | Tq с T, q *0tq} и Dq = [D] 1$tq : (tq, D}) e RtD}.
q
Релевантность документа Д є запросу q может быть определена по формуле
Г(А, 9) = Z
tD
У
г] еТ'
Однако эта формула не учитывает связи между документами. Предположим, что пользователя интересует в первую очередь семантически связанное подмножество документов, входящее в Д. Тогда формулу (16) можно изменить, добавив второе
(і6)
слагаемое:
i (dv , q) = Z sJ + Zs
tD D
j . (і?)
J ]
Результаты поиска могут быть представлены в виде
А =< Д, Т', 8°, 8г, >, (18)
где переменные аналогичны переменным из формулы (14), кроме Д = = {Д. | Зг/ : (г*, Д.)е Яю } (/ = 1,...,т';] = 1,...,п') и Т = (г, | ЗД е Д: г, е Д}
(, = 1,...,т';] = 1,...,п), т.е. множество терминов составлено путем добавлением ко множеству терминов запроса тех терминов, которые входят в документы, найденные по запросу.
202
На рис. 3 изображен пример результатов поиска. Большими закрашенными кругами обозначены термины, которые входили в запрос, а малыми - термины, которые в запрос не входили, но входили в документы, найденные по запросу.
Для улучшения восприятия результатов поиска может быть осуществлена кластеризация элементов (рис. 3), т.е. выполняется функция a : T' ® K , которая каждому объекту tt e T' ставит в соответствие номер кластера k- e K, где K - множество номеров
кластеров. Таким образом, каждому кластеру к- ставится в соответствие подмножество
терминов T1 e T'.
Кластерный анализ позволяет пользователю продолжить поиск, сузив его область до содержимого выбранных кластеров K' с K. Тогда корпус вновь может быть представлен в виде модели A, причем множество терминов задается по формуле
T = {T1 | kj e K'}.
Выводы
Описана методика анализа научного знания, представленного документально. Рассмотрение корпуса документов в виде графа позволяет применить для его анализа графовые алгоритмы и математический аппарат теории графов. Введенные метрические характеристики корпуса, документа и термина позволяют оценить качество корпуса документов.
ЛИТЕРАТУРА
1. Деятельность сети диссертационных советов Российской Федерации
[Электронный ресурс]. Информационный интернет-ресурс «Кадры высшей научной квалификации», 2010. Режим доступа: http://science-
expert.ru/dsrf/federal_level/Stat_dis_1.shtml, свободный. - Загл. с экрана.
2. Ландэ, Д. В. Поиск знаний в Internet. Профессиональная работа / Д. В. Ландэ. М: Изд. дом «Вильямс», 2005. 272 с.
3. Salton, G. A vector space model for automatic indexing / G. Salton, A. Wong, C. S. Yang // Communications of the ACM. 1975. Vol. 18, №11. P. 613-620.
4. Frantzi, K. Automatic recognition of multi-word terms: the C-value / NC-value method / K. Frantzi, S. Ananiadou, H. Mima // International journal on digital libraries. 2000. №3. P. 115130.
5. Браславский, П. Сравнение пяти методов извлечения терминов произвольной
длины / П. Браславский, Е. Соколов // Компьютерная лингвистика и интеллектуальные технологии: По материалам ежегодной Международной конференции «Диалог»
(Бекасово, 4-8 июня 2008 г.). 2008. Вып. 7 (14). С. 67-74.
6. Landauer T. K. An introduction to latent semantic analysis / T. K. Landauer, P. Foltz, D. Laham // Discourse Processes. 1998. №25. P. 259-284.
7. Handbook of latent semantic analysis / Landauer T. K. [et al.]. New Jersey: Lawrence Erlbaum Associates, 2007. 544 p.
Седова Яна Анатольевна -
старший преподаватель кафедры «Автоматизированные системы обработки информации и управления» Астраханского государственного технического университета
Квятковская Ирина Юрьевна -
доктор технических наук, профессор, директор Института информационных технологий и коммуникаций Астраханского государственного технического университета
Статья поступила в редакцию 04.10.10, принята к опубликованию 19.10.2010