Латентный семантический анализ

advertisement
УДК 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.
Keywords: Text mining, semantic model, latent semantic analysis, cluster analysis, information
retrieval system.
Современный этап развития науки характеризуется значительными темпами увеличения
объема научного знания. Согласно статистике, опубликованной веб-ресурсом «Кадры
высшей научной квалификации» [1], количество кандидатских диссертаций, утвержденных
Высшей аттестационной комиссией, в последнее десятилетие значительно выросло. На сайте
Высшей аттестационной комиссии хранится электронный архив авторефератов докторских
диссертационных работ за 2006-2010 гг., насчитывающий на момент написания данной
работы 9567 документов.
Научное знание, представленное документально, является слабо структурированным.
Например, автореферат диссертационной работы имеет фиксированную структуру, но
написан на естественном языке, что затрудняет его автоматическую семантическую
обработку, поскольку формальной модели естественного языка в настоящее время не
создано. Поэтому актуальна задача автоматизации анализа массива (корпуса) текстовых
документов.
Основные определения
Под термином в данной работе понимается слово или словосочетание на естественном
языке, описывающее какое-либо понятие предметной области.
Назовем словарем предметной области совокупность терминов этой области, а словарем
документа – совокупность терминов этого документа.
Если термин относится к той же предметной области, что и документ, в котором он
употребляется, то назовем такой термин доминантным для этого документа.
В данной работе текстовый документ рассматривается в виде D  T ,W  , где
T  {ti | i  1...m} - множество доминантных терминов документа, W  {wi | i  1...m} множество весов терминов, показывающих важность термина ti для документа D . Данная
модель основана на модели «набор слов» [2] (bag of words), но отличается от нее
использованием терминов вместо одиночных слов.
Корпус текстовых документов может быть представлен в виде матрицы C «термин-надокумент» вида


 t1
C   t2


t
 m
D1
w11
w21

wm1
D2 ... Dn 

w12 ... w1n 
w22 ... w2 n  ,

   
wm 2 ... wmn 
(1)
где t1 ...t m - доминантные термины всех документов корпуса, D1 ...Dn - документы корпуса, wij
- веса терминов в соответствующих документах.
Представление корпуса в виде матрицы позволяет рассматривать его как набор векторов в
m -мерном пространстве, где m – количество терминов во всех документах корпуса. Данная
модель основана на векторной модели пространства [3] (vector space model) и отличается от
нее использованием терминов вместо одиночных слов.
Векторная модель пространства схематически изображена на рис. 1. Представление
документов как векторов позволяет использовать аппарат векторной алгебры для анализа
векторного пространства, в частности, для вычисления степени сходства между документами
и для кластерного анализа корпуса документов.
t2
d2
d1
d3
Рисунок 1. Векторная модель пространства документов
Сходство между термином t i и документом D j может быть определено без дополнительных
расчетов из самой матрицы C как элемент wij , стоящий на пересечении i -ой строки и j -ого
столбца и показывающий вес термина t i в документе D j . Для определения сходства между
терминами или документами часто используется следующий факт. Рассмотрим матрицу
CC T размерностью m m . На пересечении i -ой строки и j -ого столбца в этой матрице
стоит скалярное произведение векторов терминов t i и t j
n
w
p 1
ip
w pj , i  1,..., m, j  1,..., m ,
которое может быть использовано в качестве метрики сходства между этими векторами, т.е.
и между терминами. Аналогично, матрица C T C размерностью n n позволит вычислить
сходство между документами. Могут быть использованы и другие метрики сходства:
значение косинуса между векторами, Евклидово расстояние и др.
Алгоритм извлечения доминантных терминов из текстового документа
Для получения списка доминантных терминов документа необходимо решить две задачи:
1. Получение списка всех терминов, употребляющихся в документе.
2. Выделение из этого списка терминов, которые являются доминантными для данного
документа.
Получение списка терминов из документа
Словосочетания, похожие на термины, извлекаются из текста с помощью метода C-value [4].
В работе [5] описан эксперимент, показывающий, что именно этот метод лучше всего
позволяет выделить термины в текстах на русском языке.
Метод C-value работает следующим образом:
1. Осуществляется морфологический анализ текста. В англоязычной литературе данный
этап описывается термином «частеречная разметка» (part-of-speech, POS tagging), который
обычно подразумевает, что для каждого слова определяется часть речи, но не определяются
морфологические характеристики. Для русского языка с его развитой системой
словоизменений на данном этапе целесообразно производить полный морфологический
анализ.
2. Из текста извлекаются словосочетания, удовлетворяющие следующим условиям:
а. Словосочетание проходит через лингвистический фильтр, т.е. все входящие в него
слова могут, исходя из их морфологических характеристик, быть частью термина. В работе
П. Браславского и Е. Соколова [5] используются грамматические шаблоны, и отбираются
только те словосочетания, которые удовлетворяют этим шаблонам. Удаляются также стопслова, не несущие самостоятельной смысловой нагрузки.
б. Частота употребления словосочетания в тексте превышает заданное пороговое
значение.
в. Количество входящих в словосочетание слов (будем называть это значение длиной
словосочетания и обозначать его, например, a ) не превышает заданное пользователем
значение L .
Таким образом, из текста извлекаются так называемые термины-кандидаты, и создается
список биграмм, список триграмм и т.д.
3. Для каждого термина-кандидата вычисляется значение C-value по следующему
алгоритму:
а. Каждой подстроке b термина-кандидата a 0 ставится в соответствие тройка чисел
f (b ) , t (b) , c (b ) , где f (b ) - частота употребления b в документе ( frequency (b) ), t (b) частота употребления b внутри других терминов-кандидатов, c (b ) - количество этих более
длинных терминов-кандидатов. Присваиваются значения c(b)  1 , а t (b)  frequency(a0 ) .
б. Для каждого термина-кандидата a , для которого выполняется условие a  L

Вычислить C  value(a)  log 2 a  f (a) .

Для каждой подстроки b строки a
c(b)  c(b)  1
t (b)  t (b)  frequency(a)
в. Присвоить l  L 1 .
г. Для каждого термина-кандидата a , для которого a  l

Если c(a)  1 , то C  value(a)  log 2 a  f (a) .

Иначе C  value(a)  log 2 a ( f (a) 
c(b)  c(b)  1
t (b)  t (b)  frequency(a)
1
t (a)) и для каждой подстроки b строки a
c(a)
д. Если l  2 , то переход к шагу (в), иначе останов.
В результате работы данного алгоритма для каждого термина-кандидата с длиной больше
единицы будет вычислено значение меры C-value по формуле:
log 2 a  frequency (a), если строка a не вложена в другие строки

С  value(a )  
,
1
log 2 a  P(T )   freq(b), в противном случае
bTa
a

(2)
где Ta - множество терминов-кандидатов, содержащих строку a , а P(Ta ) - их количество.
Выделение доминантных терминов
Мера C-value позволяет выявить термины в корпусе документов, однако в данной задаче
необходимо выявить термины в рамках каждого из документов и определить, какие из
выявленных словосочетаний являются доминантными для документа. С этой целью
применяется мера TF*IDF, позволяющая осуществить так называемый контрастный тест,
присвоив словосочетаниям, которые часто встречаются не только в данном документе, но и в
других документах корпуса, низкий вес, а словосочетаниям, которые в данном документе
встречаются часто, а в других – редко, высокий вес.
Мера TF*IDF для термина-кандидата t вычисляется по формуле
w(t ) 
frequencyC (t )
N
log D ,
|d |
Nd
(3)
 frequency(t ), если | t | 1
где freqC (t )  
;
C  value(t ) в противном случае
| d | - количество слов в документе;
N D - количество документов в анализируемом корпусе;
Nd
- количество документов в анализируемом корпусе, содержащих термин t .
Латентный семантический анализ
В данной работе использован латентный семантический анализ (LSA – latent semantic
analysis) как метод определения сходства значений слов и документов путем статистических
вычислений над большим текстовым корпусом [6]. Он использован по той причине, что для
вычислений с его помощью не требуется никакой дополнительной информации, такой как
построенные вручную словари, семантические сети или базы знаний. В основе метода LSA
лежит гипотеза о том, что между словами и тем контекстом, в котором они употребляются,
существуют неявные (латентные) взаимосвязи. Предполагается, что семантическое значение
документа может быть представлено как сумма значений входящих в него слов:
значение(документ )  значение(слово _ 1)  значение(слово _ 2)  ...  значение(слово _ m)
Метод позволяет вычислить корреляции между парой терминов, между парой документов и
между термином и документом.
Каждая строка исходной матрицы C – вектор, соответствующий термину и показывающий
его связь с каждым из документов корпуса:
ti  {w1i
T
w2i
... wni } ,
(4)
Каждый столбец исходной матрицы C – вектор, соответствующий документу и
показывающий его связь с каждым из терминов корпуса:
 wi1 
 
w 
di   i2  ,
 ... 
wim 

Скалярное
(5)
T
произведение
двух
ti t p
векторов
показывает
корреляцию
между
соответствующими терминами. Произведение матриц CC T содержит все такие скалярные
произведения. Элемент (i, p ) (равный элементу ( p, i ) ) содержит скалярное произведение
ti t p  t p ti . Аналогично, матрица C T C содержит скалярные произведения между векторами
T
T
всех документов, показывающие корреляцию между ними: d j d q  d q d j .
T
T
Метод LSA заключается в сингулярном разложении матрицы C (SVD – singular value
decomposition) и аппроксимации ее матрицей Ck меньшего ранга k . Тогда матрица Ck ,
содержащая только k первых линейно независимых компонент C , отражает структуру
ассоциативных связей, присутствующих в исходной матрице, и в то же время не содержит
«шума». Помимо этого, уменьшение размерности матрицы ведет к уменьшению количества
вычислений.
По теореме о сингулярном разложении существует разложение матрицы C  UZV T , такое
что U и V – прямоугольные матрицы, а Z – диагональная матрица.
Тогда, как уже говорилось, сходство между терминами и (или) документами может быть
определено из следующих соотношений:
1. Сходство между термином и документом может быть определено из произведения
матриц:
C  UZV T  (U Z )( Z V T ) ,
(6)
2. Сходство между двумя терминами может быть получено из следующего выражения:
CC T  (UZV T )(UZV T )T  (UZV T )(V T Z T U T )  UZV T VZ T U T  UZZ T U T  (UZ )(UZ )T ,
T
(7)
3. Сходство между двумя документами может быть получено из следующего выражения:
C T C  (UZV T )T (UZV T )  (V T Z T U T )(UZV T )  VZ T U T UZV T  VZ T ZV T  (VZ )(VZ )T ,
T
(8)
Поскольку произведения матриц ZZ T и Z T Z являются диагональными матрицами, то
матрица U должна содержать собственные вектора CC T , а матрица V – собственные
вектора C T C . Оба произведения должны иметь одинаковые не равные нулю собственные
значения при не равных нулю элементах ZZ T или, что то же самое, при не равных нулю
элементах Z T Z .
Разложение матрицы C выглядит следующим образом:
C
U
Z
 w11 ... w1n         z1 ... 0  
       u   u        

  1   l   
 
 wm1 ... wmn         0 ... zl  
VT
v1

vl

,


(9)
где z1 ,..., z l – сингулярные числа, u1 ,..., ul и v1 ,..., vl – левый и правый сингулярные вектора.
Известно, что выбор k наибольших сингулярных значений и соответствующих им
сингулярных векторов из матриц U и V даст наилучшую аппроксимацию матрицы С
матрицей ранга k :
Ck  U k Z kVk .
T
(10)
Теперь, применяя к уменьшенным матрицам полученные ранее соотношения (6), (7) и (8),
можно вычислить сходство каждой пары терминов как скалярное произведение
соответствующих векторов, умноженных на сингулярные значения:
Ck Ck  (U k Z k )(U k Z k )T .
T
(11)
Аналогично определяется сходство каждой пары документов:
Ck Ck  (Vk Z k )(Vk Z k )T .
T
(12)
Сходство между парой термин – документ определяется по формуле
Ck  (U k Z k )( Z k Vk ) .
T
(13)
Семантическая модель и граф корпуса документов научного знания
Численные значения сходства между терминами, между документами и между терминами и
документами корпуса позволяют построить следующую семантическую модель корпуса
документов A :
A  D, T , S D , S t , S tD  ,
(14)
где D  {Di | i  1...n} – множество документов корпуса;
T  {ti | i  1...m} – множество терминов корпуса;
S D  (sijD ) (i  1,..., n; j  1,..., n) – матрица, в которой элемент sijD отражает меру сходства
между документами Di и D j ;
S t  ( sijt ) (i  1,..., m; j  1,..., m) – матрица, в которой элемент sijt отражает меру сходства
между терминами t i и t j ;
S tD  (sijtD ) (i  1,..., m; j  1,..., n) – матрица, в которой элемент sijtD отражает меру сходства
между термином t i и документом D j .
Таким образом, корпус может быть представлен в виде взвешенного графа G  X , R  , где
X  D, T  – множество вершин графа, состоящее из множества документов корпуса и
множества входящих в них терминов, R  R D , R t , R tD  – множество ребер, соединяющих
документы и термины между собой и друг с другом, и определена функция w: R   , на
множестве ребер принимающая значения в действительных числах (рис. 2).
Ребро ( Di , D j )  R D между вершинами Di  D и D j  D существует, если sijD   D , где
 D  0 – заданный порог. Вес этого ребра – значение sijD . Аналогично, ребро (ti , t j )  R t
между вершинами t i  T и t j  T существует, если sijt   t , а ребро (ti , D j )  R tD между
вершинами t i  T и D j  D существует, если sijtD   tD , где  t  0 и  tD  0 – заданные
пороги. Весами этих ребер являются соответственно значения sijt и sijtD .
Рисунок 2. Граф корпуса документов
Метрические характеристики корпуса и его элементов
Представление корпуса документов в виде графа G  X , R  позволяет применить для его
анализа графовые алгоритмы и математический аппарат теории графов. В частности,
метрические характеристики графа в применении к корпусу документов могут быть
интерпретированы следующим образом. Пусть d (t i , t j ) – расстояние между вершинами t i и
t j . Тогда можно выделить следующие характеристики термина t i , показывающие уровень
его детализации в данном корпусе:
1) эксцентриситет вершины t i ecc(ti )  max d (ti , t j ) ;
j 1... m
2) степень вершины t i deg( ti ) | {t j  T : (ti , t j )  R t } | .
Аналогично можно выделить следующие характеристики документа Di , показывающие
уровень его детализации в данном корпусе:
1) эксцентриситет вершины Di ecc( Di )  max d ( Di , D j ) ;
j 1... m
2) степень вершины deg( Di ) | {D j  D : ( Di , D j )  R D } | .
Также можно выделить характеристики корпуса, показывающие уровень его детализации:
1) радиус словаря корпуса rad T (G )  min (ecc(t i )) ;
i 1... m
2) радиус корпуса rad (G )  min (ecc( Di )) ;
i 1... n
3) диаметр словаря корпуса diamT (G )  max (ecc(t i )) ;
i 1... m
4) диаметр корпуса diam (G )  max (ecc( Di )) .
i 1... n
Введенные метрические характеристики корпуса, документа и термина позволяют оценить
качество корпуса документов.
Поиск по корпусу
Как правило, результаты латентного семантического анализа используются для поиска по
корпусу документов. Данный метод поиска называется латентным семантическим
индексированием (LSI – latent semantic indexing). Запрос представляется как псевдодокумент
(еще один вектор документа) q  Z k1U kT q , и после этого его сходство с каким-либо
документом корпуса может быть вычислено как сходство между вектором запроса и
вектором этого документа.
Однако описанная выше модель дает возможность задавать более подробные запросы,
перейдя от естественного языка к ограниченному естественному языку.
Определим поисковый запрос q в виде следующего логического выражения:
q  (( i )),  i {tiq , tiq } .
(15)
i
Примером такого запроса может быть следующее выражение:
q = информационный поиск  (кластерный анализ  латентный семантический анализ 
 латентное семантическое индексирование)
Дополнительными параметрами запроса могут быть документные операторы, которые
позволяют сделать поиск более конкретным:
 поиск по заголовкам документов;
 поиск по заданному сайту;
 поиск файлов заданного типа;
 поиск файлов на заданном языке;
 поиск файлов в заданном временном интервале.
Тогда постановка задачи информационного поиска в корпусе выглядит следующим образом:
Задан запрос q . Необходимо для этого запроса найти подграф G q  X q , R q  графа G , где
X q  D q , T q  – множество вершин, а R q – множество ребер, соединяющих документы и
термины между собой и друг с другом, причем T q  {t iq | T q  T , i  t iq } и
D q  {D j | tiq : (tiq , D j )  R tD } .
Релевантность документа Di  D q запросу q может быть определена по формуле
ri ( Di , q ) 
s
tD
ij
.
(16)
t qj T 
Однако данная формула не учитывает связи между документами. Предположим, что
пользователя интересует в первую очередь семантически связанное подмножество
документов, входящее в D q . Тогда формулу (16) можно изменить, добавив второе
слагаемое:
ri ( Di , q )   sij 
tD
t qj
s
D j D
D
ij
.
(17)
Результаты поиска могут быть представлены в виде
A  D, T , S  D , S t , S tD  ,
(18)
где
переменные
аналогичны
переменным
q
q
q
tD
D  D  {D j | ti : (ti , D j )  R } (i  1,..., m; j  1,..., n)
из
формулы
(14),
кроме
и
T   {t i | D j  D : t i  D j } (i  1,..., m; j  1,..., n) , т.е. множество терминов составлено путем
добавления ко множеству терминов запроса тех терминов, которые входят в документы,
найденные по запросу.
На рис. 3 изображен пример результатов поиска. Большими закрашенными кругами
обозначены термины, которые входили в запрос, а малыми – термины, которые в запрос не
входили, но входили в документы, найденные по запросу.
Рисунок 3. Результаты поиска по корпусу
Для улучшения восприятия результатов поиска может быть осуществлена кластеризация
элементов (см. рисунок), т.е. выполняется функция  : T   K , которая каждому объекту
t i  T  ставит в соответствие номер кластера k j  K , где K – множество номеров кластеров.
Таким образом, каждому кластеру k j ставится в соответствие подмножество терминов
T j T  .
Кластерный анализ позволяет пользователю продолжить поиск, сузив его область до
содержимого выбранных кластеров K   K . Тогда корпус вновь может быть представлен в
виде модели A , причем множество терминов задается по формуле T  {T j | k j  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. 115–130.
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.
References
1. The work of the dissertation council system of the Russian Federation [Electronic resource]. –
Informational internet resource “Higher scientific qualification staff”, 2010. – Access mode:
http://science-expert.ru/dsrf/federal_level/Stat_dis_1.shtml, free. – Title from the screen.
2. Lande, D. V. The knowledge search in the Internet. Professional work. – Moscow: Williams
publishing house, 2005. – 272 p.
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. 115–130.
5. Braslavski, P. The comparison of five methods of the extraction of any length terms /
P. Braslavski, E. Sokolov // Computer linguistics and intellectual technologies: Materials summary
of the annual international conference “Dialog” (Bekasovo, 2008, June 4–8). – 2008. – Vol. 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.
Седова Яна Анатольевна, Астраханский государственный технический университет, старший
преподаватель кафедры «Автоматизированные системы обработки информации и управления»,
рабочий телефон 8(8512)610604.
Квятковская Ирина Юрьевна, доктор технических наук, профессор, Астраханский
государственный технический университет, директор Института информационных технологий и
коммуникаций, рабочий телефон 8(8512)614596.
Sedova Yana Anatol’evna, Astrakhan state technical university, the chair “Automated systems of the
information processing and management”, senior lecturer, 8(8512)610604.
Kvyatkovskaya Irina Yur’evna, doctor of engineering, professor, Astrakhan state technical university,
Institute of the information technologies and communications, director, 8(8512)614596
Download