Интеллектуальный анализ корпуса документов научной информации

УДК 004.912

Я. А. Седова, И. Ю. Квятковская

ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ КОРПУСА ДОКУМЕНТОВ НАУЧНОЙ ИНФОРМАЦИИ

Введение

Современный этап развития науки характеризуется значительными темпами увеличения объема научного знания. Согласно данным, опубликованным веб-ресурсом «Кадры высшей научной квалификации» [1], количество диссертаций на соискание ученой степени кандидата наук, утвержденных Высшей аттестационной комиссией (ВАК), в последнее десятилетие значительно выросло.

Согласно [2, p. 32], под текстовым корпусом в современной лингвистике понимается ограниченный в размере набор текстов, пригодный для машинной обработки и отобранный так, чтобы наилучшим образом представлять языковое множество. Таким образом, представленное документально научное знание можно считать текстовым корпусом. Возникает проблема поиска и анализа научной информации в корпусе неструктурированных текстов.

Целью исследований являлось повышение эффективности аналитической обработки научной информации, представленной в виде корпуса распределенных текстовых документов, в частности документов, расположенных на различных веб-ресурсах.

На рынке представлен ряд средств для автоматизации семантического анализа текстовой информации: Oracle Text, Intelligent Miner for Text, Text Miner, Text Analyst и др. Продукты такого типа осуществляют интеллектуальный анализ текстовых данных или так называемый тек-стомайнинг (text mining) - «нетривиальный процесс обнаружения действительно новых, потенциально полезных и понятных шаблонов в неструктурированных текстовых данных» [3, с. 194]. Текстомайнинг является полезным инструментом обработки данных, однако возрастающий объем информации вызывает необходимость в более глубоких методах анализа текста.

Для решения этой задачи нами предлагаются модифицированный алгоритм выделения из текста доминантных терминов, семантическая модель корпуса документов, позволяющая представить его в форме графа для последующего анализа, и алгоритм синтеза корпуса документов с заданными признаками по результатам информационного поиска в глобальных сетях. В данной работе рассматривается подход к обработке авторефератов диссертаций на соискание ученой степени кандидата и доктора наук, поскольку этот тип документов представляет научное знание в наиболее сжатом виде и к нему легко получить доступ непараметрическим пользователям.

Постановка задачи

В данной работе текстовый документ рассматривается в виде D =< T, W >, где T = {tj | i = 1 ... n} - множество доминантных терминов документа; W = {wi | i = 1 ... n} -множество весов терминов, показывающих важность термина ti для документа D .

Индексация документов

Неотъемлемой частью любой информационно-поисковой системы является модуль индексации, который в автоматическом режиме создает из текста индекс, т. е. переводит текст в записи таблицы базы данных. В данной работе используется структура индекса, изображенная на рис. 1.

Для каждого термина хранится его код, строковое представление, частота употребления в данном документе, отклонение от начальной формы, начальная форма, значение C-value, код документа, в котором встретился данный термин, значение TF * IDF.

Для каждого вхождения термина в документ хранится его код, код термина, номер предложения в документе, в котором встретился данный термин.

Для каждого документа хранится его код, путь к документу, дата индексации, количество слов в документе, количество терминов в документе, количество уникальных терминов в документе, размер файла, автор документа, название документа, дата защиты диссертации.

Для выделения терминов используется мера C-value. В [4] описан эксперимент, показывающий, что именно эта мера лучше всего позволяет выделить термины в текстах на русском языке.

Рис. 1. Структура индекса

Индексация текстового документа происходит по следующему алгоритму:

1. Из файла извлекается текст. Для извлечения текста из файлов формата * .doc и * .pdf применяются так называемые фильтры - программные модули, реализующие принцип IFilter, использующийся механизмом полнотекстового поиска, встроенным в Windows.

2. Производится морфологический анализ текста. В данной реализации автоматизированной системы использовался бесплатный для некоммерческих проектов анализатор mystem. Данный анализатор дает на выходе результаты анализа, состоящие из различных вариантов морфологического разбора, например: «кафедре{кафедра=8,жен,неод=дат,ед|кафедра=8,жен,неод=пр,ед}». Результаты разбора для каждого слова извлекаются из подобных строк с помощью регулярного выражения «([а-2а-Я-]+)\{([А\}]+)\}», а затем разбиваются на список вариантов разбора с помощью регулярного выражения «([a=?]+)(\?)?(?:=(\w+)[,=](?:([a,=]+)[,=]?)*)?». Совпадение со вторым регулярным выражением дает в первой группе начальную форму слова, во второй - признак того, найдено слово в словаре или морфологические характеристики определены предположительно по словоформе, в третьей - часть речи, в четвертой группе содержится список комбинаций морфологических характеристик - вариантов морфологического разбора.

3. Текст разбивается на строки так, что ограничителями служат знаки препинания и другие служебные символы. Полученные строки составляют либо целые предложения, либо их части, не содержащие знаков препинания.

4. Из каждой строки, полученной на предыдущем этапе, генерируются все возможные -граммы, т. е. последовательности n стоящих подряд в тексте слов. Величина n (максимальная длина термина) задается пользователем.

5. Осуществляется лингвистическая фильтрация: каждая n-грамма («термин-кандидат» -потенциальный термин) проверяется на соответствие заданным параметрам. В данной реализации автоматизированной системы использовались следующие установленные эмпирически параметры:

- все слова, составляющие термин-кандидат, должны быть одной из следующих частей речи:

- прилагательное,

- наречие,

- порядковое числительное,

- числительное,

- существительное;

- термин-кандидат не может содержать ни одного из слов типа «некоторый», «свой», «многий», «каждый», «всякий», «другой» и т. п.;

- термин-кандидат должен оканчиваться существительным;

- термин-кандидат длиной в одно слово не может быть числительным или порядковым числительным;

- термин-кандидат должен содержать хотя бы одно существительное;

- должно выполняться одно из следующих условий: либо все слова, входящие в термин-кандидат, согласованы в роде, числе и падеже, либо часть из них (главные слова) согласована,

а другая часть (зависимые слова) стоит в родительном или творительном падежах. При этом первое слово термина-кандидата не должно быть зависимым и среди как главных, так и зависимых слов должны быть существительные.

6. Термины-кандидаты, удовлетворяющие лингвистическому фильтру, сохраняются в списке, отсортированном по длине термина-кандидата в убывающем порядке.

7. Для каждого термина-кандидата a, встретившегося в тексте больше одного раза, вычисляется значение меры С-уа1ие [5] по формуле

С — value(a) = <

1о§2 \а\ * freq(a), если строка не вложена в другие строки, 1°§2 Н freq(b), в противном случае.

Р(Та) ЬаТ

Вычисление данного значения происходит по алгоритму, изложенному в [5]:

а) каждому термину-кандидату а1 ставятся в соответствие вспомогательные значения = 0 и с1 = 0 и частота вхождения в текст freqi;

б) вычисляются значения С-уа1ие для всех терминов-кандидатов, имеющих максимальную длину и потому, очевидно, не являющихся вложенными;

в) для каждого из терминов-кандидатов а1 с длиной меньше максимальной генерируются

все возможные подстроки. Для каждой из подстрок производится поиск в списке терминов-кандидатов. Если совпадение элемента а у с подстрокой sj найдено, то обновляются значения tу и с у для этого элемента: с у = с у +1, ^у = freqj - tj;

г) вычисляются значения С-уа1ие для всех терминов-кандидатов, имеющих длину меньше максимальной.

8. Для всех терминов-кандидатов, для которых значение С-уа1ие больше 1, создаются записи в базе данных. Такое ограничение значения позволит рассматривать на этом шаге только термины длиной более одного слова, т. к. для термина длиной в одно слово значение С-уа1ие всегда равно нулю.

9. Для терминов-кандидатов длиной в одно слово, частота вхождения которых в данный документ превышает заданный порог (в наших исследованиях значение порога равно 1), вычисляется значение меры ТР*ГОР [6]. Данная мера позволяет осуществить так называемый контрастный тест, понизив вес слов, которые часто встречаются не только в данном документе, но и в других документах корпуса. По этой причине для вычисления данной меры в общем случае необходимо предварительно проиндексировать весь корпус. Однако при большом объеме корпуса такой расчет потребовал бы значительного времени, поэтому для вычисления ТР*ГОР уже на этапе индексации одного документа вместо данных о частоте употребления слова в корпусе используются данные, взятые из частотного словаря [7]. Используется формула

freq(t),„„ му

W (t) =------log 3

I d | freqv

где freq(t) - частота употребления термина t в документе; | d | - количество слов в документе; Nv - размер выборки в корпусе общей тематики; freqv (t) - частота употребления термина t в корпусе общей тематики.

Такой подход позволяет уже на этапе индексации исключить из множества терминов-кандидатов наиболее употребительные слова, не характерные для какой-либо предметной области.

Для всех терминов-кандидатов, для которых значение TF*IDF превышает заданный порог для однословных терминов (в наших исследованиях использовалось значение 0,05), создаются записи в базе данных.

10. Производится расчет TF*IDF для всех терминов-кандидатов, записанных на предыдущих шагах в базу данных по формуле

W (t) = log N

\d\

D

где

freqc(t) =

freq(t), если \t \= 1,

C — value(t) в противном случае;

\ d \ - количество слов в документе; Nd - количество документов в анализируемом корпусе; Nd - количество документов в анализируемом корпусе, содержащих термин t.

11. Доминантными для документа терминами считаются те, значение меры TF*IDF для которых превышает заданный порог.

Поиск документов при наличии распределенного знания

Для проведения информационного поиска при наличии распределенного знания предлагается использовать агентный подход. Агент - программный модуль, который осуществляет обход веб-ресурсов по списку и загружает с них файлы определенного типа. Для кандидатских диссертаций этими веб-ресурсами являются сайты тех организаций, в которых действует соответствующий диссертационный совет, для докторских - сайт ВАК. Авторефераты представлены в виде файлов в форматах * .doc, * .pdf.

Предварительная обработка информации агентом заключается в обходе заданных вебресурсов и загрузке всех находящихся на них файлов, содержащих авторефераты. В дальнейшем по заданному пользователем расписанию агент вновь посещает все веб-ресурсы и при наличии на них новых файлов загружает их. Файлы, которые обрабатываются агентом, сохраняются в указанной пользователем директории на сервере.

Алгоритм синтеза онтологии по заданному запросу

Рассмотрим научное знание, зафиксированное документально, как множество U = {A, D, M, P} , где A = {Ai \ i = 1, n} - множество авторефератов; D - множество диссертаций; M - множество монографий; P - множество публикаций, статей, трудов.

Множество A характеризуется списком ссылок на веб-ресурсы, на которых находятся авторефераты диссертаций.

Представим автореферат Ai в следующем виде: Ai = (Ti,Wi^, где Ti = {tj \ j = 1, m} - множество доминантных терминов документа, а Wi = {wj \ i = 1, m} - множество весов соответствующих терминов в документе Ai. Пусть T = T иT и... иTn .

Вес термина рассчитывается по формуле (1).

Поиск на множестве A осуществляется по следующему алгоритму:

Шаг 1. Пользователь задает запрос q на множестве A . Непосредственным результатом

выполнения запроса будет подмножество Tq с T , Tq = {ti \ dist(q,ti) < e, i = 1...r}, где dist(a,b) -функция расстояния между объектами.

Шаг 2. Осуществляется кластеризация элементов ti множества Tq, т. е. выполняется функция a: Tq  K , которая каждому объекту ti е Tq ставит в соответствие номер кластера kj е K , где K = {Kj} - множество номеров кластеров. Таким образом, каждому Kj ставится

в соответствие подмножество терминов T j е Tq .

Шаг 3. Результат выполнения запроса q можно представить в виде онтологии

Oq = (Tq, Aq, Rq, RA, RqA/, где Aq с A - подмножество авторефератов, причем

Aq = {Aq = \Tq, Wqj \ $tj eTq : tj с Tq}, т. е. каждый из этих авторефератов включает в себя

хотя бы один из терминов, соответствующих запросу; ЯЦ - множество отношений между терминами е Тц; ЯЛ - множество отношений между авторефератами Л1 е Лц; Я^А - множество отношений между парами (^- еТц, Л е Лц). Пример онтологии изображен на рис. 2.

Рис. 2. Результат выполнения запроса, представленный в виде онтологии: кь ..., к3 - кластеры; Ц, ..., - термины; Ль ..., Л6 - авторефераты

Шаг 4. Если результаты поиска релевантны запросу ц с точки зрения пользователя, то осуществляется переход к шагу 5. Иначе осуществляется сужение области поиска до одного какого-либо кластера К у . Присваивается значение Тц = Тц \ (Т1 и... и Т]-1 и Т]+1 и... и Т]). Пересчитываются веса терминов по формуле (1), причем для каждого термина ^ за принимается количество документов в кластере К у , а за - количество документов в кластере К у,

содержащих термин I. Затем осуществляется переход к шагу 1.

Шаг 5. Останов.

Эксперимент

Для проверки описанных выше методов использовался корпус из девяти авторефератов диссертаций на соискание ученой степени доктора наук, взятых с сайта ВАК. В заглавии трех авторефератов встречается слово «древесина», а в заглавии остальных шести - слово «нефть». Результаты индексации документов представлены в табл. 1.

Таблица 1

Проиндексированные документы

№ Название документа Размер, Мб Время индексации, с Количество слов Количество терминов Количество уникальных терминов

1 Оа1кшУР(древесина)^ос 6,01 64 8 673 2 040 296

2 ОогокИоу§к1уАО(древесина)^ос 0,69 41 6 450 1 564 277

3 КогоЬкоуОБ(нефть). ^с 2,86 68 9 580 2 395 340

4 Кир1§оу8М(нефть)^ос 0,99 31 5 769 2 075 226

5 К^пйвоуЯЩнефть^ос 1,07 123 12 095 2 579 471

6 МшшваНшоуК2(нефть)^ос 3,57 45 7 228 1 451 229

7 8аГшКЯ(нефть)^ос 1,87 81 10 738 2 496 454

8 2апо2та11(нефть)^ос 1,61 65 8 823 2 006 355

9 ZhadanovVI(древесина).doc 2,55 81 9 973 2 125 364

Корпус документов был представлен в виде матрицы А0 «термин-на-документ» вида

( А А . . А'

Ті 21 . Щп1

о II Т2 Щ12 2 2 2 п %

V Т Щ1і Щ2і . . Щпі ,

где 7] ... 7 - доминантные термины корпуса; О] ... - документы корпуса; wjJ - веса терми-

нов в соответствующих документах.

Представление корпуса в виде матрицы позволило рассматривать его как набор векторов в векторном пространстве.

Для всех пар документов были посчитаны корреляции (табл. 2).

Таблица 2

Корреляции до преобразования

Номер документа

1 2 3 4 5 6 7 8 9 |

1 і 1 0,7 -0,44 -0,13 -0,36 -0,18 -0,23 -0,18 -0,23 |

Номера документа 1 2 0,7 1 -0,48 -0,27 -0,4 -0,36 -0,24 -0,08 0,01 |

1 3 -0,44 -0,48 1 -0,24 0,21 0,14 0,35 -0,11 0,23 |

1 4 -0,13 -0,27 -0,24 1 0,15 -0,26 0,04 0,27 -0,07 |

| 5 -0,36 -0,4 0,21 0,15 1 0,16 -0,12 -0,17 -0,2 |

1 6 -0,18 -0,36 0,14 -0,26 0,16 1 0,05 -0,19 -0,22 |

1 7 -0,23 -0,24 0,35 0,04 -0,12 0,05 1 0,13 -0,1 1

1 8 -0,18 -0,08 -0,11 0,27 -0,17 -0,19 0,13 1 0,05 |

9 -0,23 0,01 0,23 -0,07 -0,2 -0,22 -0,1 0,05 1

Очевидна плохая корреляция между документами из одной предметной области. Для устранения этого был применен алгоритм латентного семантического анализа [8], заключающийся в сингулярном разложении матрицы Л0 и аппроксимации ее матрицей с меньшим рангом.

В наших исследованиях автоматизированной системе было задано значение ранга равное 2. Затем снова были посчитаны корреляции для пар документов (табл. 3).

Таблица 3

Корреляции после преобразования

Номер документа

II 1 1 2 1 3 1 4 | 5 | 6 1 7 1 8 9

| 1 II 1 1 0,83 || -0,56 10,03 I -0,56 | -0,52 | 0,1 | -0,32 0,49

Номер документа 1 3 11-0,56 | -0,78 1 1 10,63 I 1 | 0,98 | 0,59 | 0,86 0,24

1 4 II 0,03 | -0,3 1 0,63 1 1 1 0,63 | 0,69 | 0,99 | 0,89 0,84

| 5 11-0,56 | -0,78 1 1 10,63 I 1 | 0,98 | 0,59 | 0,86 0,24

1 6 11-0,52 | -0,75 1 0,98 10,69 I 0,98 | 1 | 0,65 | 0,92 0,29

1 7 II 0,1 | -0,24 1 0,59 10,99 | 0,59 | 0,65 | 1 | 0,87 0,88

1 8 11-0,32 | -0,58 1 0,86 10,89 | 0,86 | 0,92 | 0,87 | 1 0,56

1 9 II 0,49 | 0,1 1 0,24 10,84 | 0,24 | 0,29 | 0,88 | 0,56 1

Очевидно, что после расчетов в таблице повысились в основном коэффициенты корреляции между документами одной тематики и понизились коэффициенты корреляции между документами разных тематик. Заметна тенденция к положительной корреляции между документами одной тематики и отрицательной - между документами разных тематик.

Был проведен кластерный анализ документов корпуса, в результате чего было выявлено три кластера (табл. 4).

Таблица 4

Состав и характеристики выявленных кластеров

Состав Среднее

Название Документ Расстояние квадратическое Радиус

до центра кластера отклонение

Кластер 1 Ки7Пе180УКи(нефть). ^с 0 - 0

Кластер 2 КогоЬкоуОЕ(нефть)Лос Кир1зоу8М(нефть)Лос Міппі§а1ітоуК.7(нефть)Лос 8аГтКК(нефть)Лос 7апо7ІпаІІ(нефть). ^с ZhadanovVI(древесина).doc 0 0,05 0,01 0,02 0,01 0,03 0,03 0,05

Кластер 3 ОаІкіпУР(древесина). doc GorokhovskiyAG(др евесина)Лос 0,04 0,04 0,06 0,04

Евклидовы расстояния между центрами кластеров представлены в табл. 5.

Расстояния между кластерами

Таблица 5

№ кластера Кластер 1 Кластер 2 Кластер 4

Кластер 1 0 0,18 0,37

Кластер 2 0,18 0 0,3

Кластер 3 0,37 0,3 0

Графически результаты работы автоматизированной системы представлены на рис. 3 и 4.

Кластерный анализ

♦ Кластер #1

0,10

0,05 --

0,00

¡5 -0,05 о

-0,10 --

-0,15

-0,20

♦ Кластер Я1 ♦ Кластер №2  Кластер АЗ |

                  , . . . . і

^ОаІкіпУРі:; .ревесина) і гі п і д з 1 і тонлК

£ и гйкґі м'і.і  |Г;/АЫ.ДР£Е •і си на) <и р!ії0¥5 М(н е с і

ХигпеЬоу .

-     і І 11 1  І 1 ' ' ' ' і ' ' ' ' '

-0,4 -0,3 -0.2 -0.1

Ось 1

0,0 0,1

0.2

Рис. 3. Результаты кластерного анализа для документов

Рис. 4. Результаты кластерного анализа для доминантных терминов

Заключение

Как показывает эксперимент, методика, изложенная в работе, дает хорошие результаты, позволяя выделить в корпусе документов (авторефератов диссертаций) группы семантически сходных текстов.

Представление корпуса документов в виде графа позволяет применить к анализу текстовой информации стандартные графовые алгоритмы.

Разработана автоматизированная система по технологии ASP.NET, реализующая описанную в работе методику.

СПИСОК ЛИТЕРАТУРЫ

1. Деятельность сети диссертационных советов Российской Федерации [Электронный ресурс]. - Информационный Интернет-ресурс «Кадры высшей научной квалификации», 2010. - Режим доступа: http://science-expert.ru/dsrf/federal_level/Stat_dis_1.shtml, свободный. - Загл. с экрана.

2. McEnery T., Wilson A. Corpus linguistics. - Edinburgh: Edinburgh University Press, 2004.

3. Барсегян А. А. Технологии анализа данных: Data Mining, Visual Mining, Text Mining, OLAP. - СПб.: БХВ-Петербург, 2007. - 382 с.

4. Браславский П., Соколов Е. Сравнение пяти методов извлечения терминов произвольной длины // Компьютерная лингвистика и интеллектуальные технологии: по материалам ежегод. Междунар. конф. «Диалог», Бекасово, 4-8 июня 2008 г. - М., 2008. - Вып. 7 (14). - С. 67-74.

5. Frantzi K., Ananiadou S., Mima H. Automatic recognition of multi-word terms: the C-value/NC-value method // Int. J. Digit. Libr. - 2000. - N 3. - P. 115-130.

6. Salton G., Buckley C. Term-weighting approaches in automatic text retrieval // Information Processing & Management. - 1988. - N 5 (24). - P. 513-523.

7. Новый частотный словарь русской лексики [Электронный ресурс] / Ляшевская О. Н., Шаров С. А. -

Электрон. дан. - [М.]: Ин-т им. В. В. Виноградова РАН, 2008. - Режим доступа:

http://dict.ruslang.ru/freq.php, свободный. - Загл. с экрана.

8. Landauer T. K., Foltz P., Laham D. An introduction to latent semantic analysis // DiscourseProcesses. -1998. - N 25. - P. 259-284.

Статья поступила в редакцию 27.12.2010

INTELLECTUAL ANALYSIS OF SCIENTIFIC DOCUMENTATION CORPUS

Ya. A. Sedova, I. Yu. Kvyatkovskaya

A modified algorithm of marking out key terms from the text, a semantic model of a document corpus allowing to represent it as a graph for the following analysis, and an algorithm of a document corpus synthesis with adjusted signs using the results of the global network information retrieval are offered in the paper. The approach to process abstracts of masters’ and doctoral theses is considered. The experiment of finding out semantically similar groups in a document corpus is described.

Key words: intelligent analysis of text data, semantic model, ontology, latent semantic analysis, cluster analysis, information retrieval system.