Обоснование выбора метода извлечения ключевых слов. Анализ предметной области, проектирование информационной системы поиска релевантных документов. Реализация запросов к электронным библиотекам. Реализация интерфейса системы поиска релевантных документов.
Аннотация к работе
Существуют системы, позволяющие производить поиск на основе текста документа, их можно разбить на 2 группы: системы, имеющие доступ к базе документов и системы, использующие сеть Интернет. Например, библиотека КИБЕРЛЕНИНКА [6] сопровождает каждую загруженную статью метаданными, содержащими ключевые слова, описание тематики документа, и на их основе предлагает пользователю тематически схожие документы, содержащиеся в библиотеке. Механизм работы таких систем выглядит следующим образом: вначале производится обработка входного документа, на основе его содержания формируется поисковый запрос, затем производится непосредственно запрос поисковой системе и обработка результатов поиска. Для поиска используется поисковая система BLOGSCOPE, которая работает примерно с десятью миллионами блогов, позволяет производить поиск по ключевым словам.Система возвращает блог посты, связанные с темой исходного документа. Такие методы в основном применимы только к терминам, состоящим из нескольких слов, чаще всего двухсловным.Однако ключевым словом может являться термин, состоящий из одного слова.При изучении предметной области был проведен анализ различных систем, производящих поиск документов на основе текущего текста. Рассмотрены системы, имеющие свою базу документов и системы, использующие для поиска сеть Интернет. Была выявлена нехватка систем, которые позволяли бы автоматизировать процесс поиска научной литературы по интересующей теме на основе текущего документа и тем самым снижали бы трудоемкость данного процесса.Это послужило основанием для разработки системы поиска документов релевантных заданному тексту. В результате анализа методов извлечения ключевых слов и их сравнения с целью выбора метода для программной реализации был выбран статистический подход, а именно метрика TF-IDF, в соответствии с которой учитывается встречаемость термина в текущем документе и в корпусе документов. В результате анализа четырех наиболее популярных научных ресурсов, позволяющих искать русскоязычную научную литературу была выбрана Академия Гугл, которая может производить поиск документов по ключевым словам и покрывает множество научных ресурсов.Диаграмма последовательностей «Ввод текста» Диаграмма последовательностей «Извлечение ключевых слов»Блок-схема алгоритма извлечения ключевых слов{get {return _adj_noun; } set {_adj_noun = value; } {get {return _result; } set {_result = value; } } if (FIRSTSTRUCT.COUNTOFSPEECH.Contains(Grammems.Many) && SECONDSTRUCT.COUNTOFSPEECH.Contains(Grammems.Many) && (SECONDSTRUCT.SEXOFSPEECH.Contains(Grammems.Female) || } if (FIRSTSTRUCT.COUNTOFSPEECH.Contains(Grammems.Many) && SECONDSTRUCT.COUNTOFSPEECH.Contains(Grammems.Many) && (SECONDSTRUCT.SEXOFSPEECH.Contains(Grammems.Female) || if (result.SEXOFSPEECH[result.SEXOFSPEECH.Count - 1] == Grammems.Male || result.SEXOFSPEECH[result.SEXOFSPEECH.Count - 1] == Grammems.Female || result.SEXOFSPEECH[result.SEXOFSPEECH.Count - 1] == Grammems.Middle) result.COUNTOFSPEECH.Add(parts[2].
Введение
Одним из ключевых навыков в научной деятельности является поиск литературы по интересующей теме. Условно процесс поиска релевантной литературы на основе имеющегося документа можно разделить на два этапа: извлечение ключевых слов из текста и поиск литературы по ключевым словам. Каждый из этапов является самостоятельной задачей. Под релевантностью в данном случае имеется в виду схожесть тематики документов.
Процесс составления ключевых фраз текста является довольно трудоемким и занимает большое количество времени. Качество извлеченных ключевых фраз определяется навыками читателя, однако при работе с большими объемами текста данная задача является сложной даже для опытного читателя.
При поиске литературы по ключевым словам пользователь обычно работает с электронной библиотекой, осуществляя запрос по извлеченным ключевым словам. Существуют различные сайты, приложения, которые работают с известными базами данных, либо имеют свою базу научной литературы.
Решением проблемы поиска литературы по интересующей теме становятся системы, автоматизирующие оба этапа поиска релевантных документов. Во время изучения степени разработанности проблемыбыли рассмотрены различные виды приложений, позволяющих производить поиск литературы по интересующей теме на основе документа. В основном, такие системы работают со своей базой документов [23, 29] или обращаются к поисковым системам [5, 33, 35]. В процессе работы с первым типом систем пользователь должен иметь доступ к базе документов, однако на практике существует множество ограничений доступа. Во время работы со вторым типом систем пользователю достаточно иметь лишь текст исходного документа. Тем не менее, результаты поиска содержат множество ненаучных источников, что затрудняет поиск интересующей научной литературы. Соответственно, разработка приложения, позволяющего искать научную литературу по содержанию текста, является актуальной задачей.
В данной работе объектом исследования является процесс поиска литературы релевантной содержанию текста, предметом - методы и алгоритмы извлечения ключевых слов и автоматизированный поиск на основе ключевых слов.
Целью исследования является разработка системы поиска документов релевантных заданному тексту.
Задачи данной работы: Провести обзор систем в области поиска релевантных документов.
Проанализировать подходы к извлечению ключевых слов.
Провести анализ электронных научных ресурсов и способов поиска по ним. поиск документ релевантный ключевой
Выполнить проектирование системы поиска релевантных документов.
Реализовать систему поиска документов релевантных заданному тексту.
В процессе анализа существующих систем и алгоритмов используются методы математической статистики и теории вероятности, элементы теории графов. В процессе проектирования и разработки компонентов системы используются методы объектно-ориентированного проектирования, язык UML, методы объектно-ориентированного программирования.
Достоверность научных положений и выводов, полученных в работе, подтверждается корректным обоснованием постановок задач, точной формулировкой критериев, результатами экспериментов по использованию предложенных в работе методов и их статистическим анализом, проведенным в работах [3, 10, 34, 36].
Использование результатов данной работы поможет снизить затраты времени и усилий на поиск релевантной литературы для студентов, преподавателей, научных работников.
Анализ решений задачи поиска релевантных документов
Обзор систем поиска релевантных документов
Для поиска документов разработано множество систем, однако немногие из них позволяют пользователю найти похожий документ без предварительной самостоятельной обработки. Пользователь должен предварительно обработать входной текст, определить тематику, извлечь ключевые слова и только после этих предварительных действий возможен поиск документов. Данный подход становится неприемлемым при большом объеме входного текста или при отсутствии у пользователя необходимых навыков работы с текстом.Решением данной проблемы является автоматизированный поиск релевантных документов. Существуют системы, позволяющие производить поиск на основе текста документа, их можно разбить на 2 группы: системы, имеющие доступ к базе документов и системы, использующие сеть Интернет.
Рассмотрим примеры таких систем: 1. Системы с доступом к базе документов.
Среди систем, позволяющих пользователю производить поиск без предварительной обработки можно выделить системы поиска документов в рамках предприятия. В таких системах производится предварительная обработка входного документа и набора документов, хранящихся в базе. Каждый документ сопровождается метаданными: определяется принадлежность текста к определенной теме. Для каждого текста определяется вектор слов, наиболее полно отражающих суть текста, для этого применяются статистические и гибридные методы извлечения ключевых слов, некоторые из них описаны в разделе 1.2. Для определения меры схожести двух документов используются математические инструменты, такие как скалярное произведение векторов, вычисление косинусного расстояния, евклидового расстояния, манхэттенского расстояния.
Пример такой системы SOFTINFORM Search Technology [29]. Она позволяет производить быстрый поиск, сравнение и анализ документов внутри предприятия. Система имеет возможность интеграции практически со всеми из современных систем управления базами данных и поддерживает различные форматы текстовых файлов (doc,pdf,trf,txt,html).
Также существует продукт компании IBMEDISCOVERYANALYZER [23]. Система предназначена для поиска документов, схожих по содержанию с текущим. Все документы в базе предварительно обрабатываются и для каждого из них создаются метаданные, характеризующие документ. Система извлекает ключевые слова из текущего документа и производит сравнение с ключевыми словами существующих документов.
Для поиска научных статей существуют различные электронные библиотеки. Например, библиотека КИБЕРЛЕНИНКА [6] сопровождает каждую загруженную статью метаданными, содержащими ключевые слова, описание тематики документа, и на их основе предлагает пользователю тематически схожие документы, содержащиеся в библиотеке.
Отличительной чертой таких систем является то, что они имеют доступ к содержанию всех текстов, находящихся в базе и производят предварительную их обработку. Такие системы удобны для поиска и анализа документов внутри предприятия, однако пользователь должен иметь доступ для загрузки документов в базу данных.
2. Системы, ориентированные на поиск в сети Интернет.
Также существуют системы для поиска документов на основе текущего, которые не имеют доступа к базе, а используют общедоступные поисковые системы. Механизм работы таких систем выглядит следующим образом: вначале производится обработка входного документа, на основе его содержания формируется поисковый запрос, затем производится непосредственно запрос поисковой системе и обработка результатов поиска.
В работе [35] предложен метод QDB (QUERYBYDOCUMENT). Для извлечения ключевых слов в немописан метод, использующий Википедию, а также метрику TF-IDF ИMUTUALINFORMATION.После составления ключевых слов документа, формируется поисковый запрос. Для поиска используется поисковая система BLOGSCOPE, которая работает примерно с десятью миллионами блогов, позволяет производить поиск по ключевым словам.Система возвращает блог посты, связанные с темой исходного документа.
В статье лаборатории HP [21] описана система поиска документов на основе текущего, которая также предлагает пользователю рекомендации на основе истории его поиска. Для извлечения ключевых слов используется построение семантического графа текста. После извлечения ключевых слов, формируются запросы к различным поисковым системам, например,Google и Yahoo. Для повышения качества возвращаемых результатов, производятся запросы с различными комбинациями извлеченных ключевых слов и наиболее подходящими считаются документы, которые находятся на пересечении множеств возвращаемых результатов для различных запросов к различным поисковым системам. Также извлеченные ключевые слова сохраняются, для определения поля интересов пользователя, которое позже используется для предложения рекомендаций пользователю.
Система SIMSEERX [33] представляет собой веб-приложение для поиска релевантных документов. Его особенность состоит в том, что анализируется не только текст текущего документа, но и его название и метаданные. На основе этой информации формируется запрос, и результаты ранжируются с использованием алгоритма шинглов [13] и алгоритма Simhash [14].
Удобство таких систем состоит в том, что пользователь может производить поиск документов только на основе имеющегося у него текста, без дополнительного доступа к базе документов. Единственным требованием является наличие доступа к сети Интернет. Однако при поиске научных статей могут возникнуть проблемы, т.к. такие системы ориентированы на широкий круг источников и результаты поиска будут содержать документы, которые не являются научными статьями.
Как можно видеть, существуют различные системы, для поиска схожих документов, однако для поиска научной литературы подходят не все. Существуют электронные библиотеки для поиска научных статей на основе текущего текста, однако пользователь должен предварительно загрузить свой документ в библиотеку, это означает, что документ должен соответствовать многим требованиям, предъявляемым к научной работе. Однако в большинстве случаев у пользователя имеется в наличии лишь текст, который не соответствует данным требованиям. Следовательно, разработка системы, которая позволяла бы найти научную литературу по заданному документу является актуальной темой.
Анализ подходов к извлечению ключевых слов
В исследованиях по компьютерной лингвистике было предложено множество подходов и стратегий для работы с терминами текста. Целью большинства исследователей было получение набора терминов, наиболее точно отражающих предметную область, к которой относится данный документ. С одной стороны, применялись статистические методы с использованием метрик и числовых характеристик для выбора наиболее подходящих терминов из списка кандидатов. С другой стороны,были рассмотрены лингвистические подходы, которые позволяли произвести отбор кандидатов, используя лингвистические фильтры, однако при большом объеме текста такие термины плохо отражали предметную область, поэтому требовалось вмешательство человека.Это привело к появлению гибридных методов, которые дополняли статистическую обработку лингвистическими процедурами. В данном разделе рассмотрены примеры статистических и гибридных подходов к извлечению ключевых слов.
Эффективность работы различных методов извлечения ключевых слов широко представлена в работах [3, 10, 27, 34, 36]. Важно выбрать метод, который не будет усложнять процесс разработки, сохраняя при этом качество и относительно высокую скорость работы. Для сравнения методов извлечения ключевых слов были выделены следующие характеристики: Требуется ли наличие корпуса документов для реализации. Наличие корпуса документов предполагает предварительный сбор необходимых документов.
Требуется ли обращение к внешним ресурсам. Необходимость наличия доступа к внешним ресурсам предъявляет дополнительные требования к реализации метода, такие как наличие доступа к сети Интернет, обработка внешних данных. Методы с отсутствием необходимости обращения к внешним ресурсам являются предпочтительными.
Необходимость предварительного обучения. Предварительное обучение является процессом, требующим высоких трудозатрат, что замедляет и усложняет реализацию метода.
Сложность программной реализации. Сложность влияет на качество программы, а также на сроки ее разработки. Предпочтительнее методы с низкой сложностью программной реализации.
Статистические подходы к извлечению ключевых слов
Статистические методы исторически начали применяться раньше гибридных. Их применение подразумевает фокусирование на числовых характеристиках терминов.
1. Частотные методы.
Наиболее очевидными и простыми являются частотные методы. Они основываются на предположении, что термины, отражающие предметную область, встречаются в тексте чаще, чем другие. Существует несколько вариаций частотных подходов. Самым первым и простым является метод, учитывающий только частоту вхождений термина в обрабатываемый документ.Часто результаты применения данного метода не являются качественными, однако метод очень широко распространен в виду простоты его реализации.
Для повышения качества результатов было предложено учитывать не только частоту вхождений термина, но и его уникальность [19]. Данную характеристику отражает широко используемая МЕТРИКАTF-IDF (1.1). Данная метрика является самой распространенной мерой для расчета информативности терминов. Вес термина пропорционален количеству употреблений данного термина в документе, и обратно пропорционален частоте употребления в других документах коллекции. Особенностью этой меры является то, что при изменении количества документов в коллекции необходимо пересчитывать частоты всех терминов.
,(1.1)
ГДЕTF (Term Frequency) - частота термина в анализируемом документе, отношение числа вхождения термина к количеству терминов в документе (1.2), IDF (Inverse Document Frequency) - инвертированная частота документа, частота с которой термин встречается в других документах коллекции (1.3).
,(1.2) где ni-частота встречаемости i-го термина в анализируемом документе, nk-количество терминов в анализируемом документе.
,(1.3) где N - общее количество документов в коллекции (корпусе),df - количество документов, содержащих термин.
Выбор основания логарифма не имеет значения, так как не влияет на соотношение весов терминов.
Также существует метрика C-value [20], однако она менее популярна.
Встречаемость длинных терминов в тексте ниже, чем встречаемость коротких, и метод C-value был предложен для компенсации этого эффекта. Значение терминологичности рассчитывается по формуле (1.4): ,(1.4) где a - кандидат в термины,|а| - длина словосочетания, измеряемая в количестве слов,freq(a) - частотность кандидата a,Ta - множество словосочетаний, которые содержата,Р(Ta) - количество словосочетаний, содержащих a.
Легко видеть, что чем больше частота термина-кандидата и его длина, тем больше его вес. Но если этот кандидат входит в большое количество других словосочетаний, то его вес уменьшается.
Такие алгоритмы применяются в большинстве инструментальных средств анализа текста, так как с одной стороны они просты в реализации, с другой эффективны. Они не требуют обучения с учителем и высоких затрат ресурсов.
2. Методы на основе внешних ресурсов.
Также используются частотные методы, которые работают не с коллекцией предметной области, а с внешним корпусом - текстами общей предметной области.
Например,метрика Domain Pertinence [24] (1.5).
,(1.5) где Ttarget(t)- частота вхождений термина t в коллекции текстов исследуемой предметной области,Treference(t) - частота вхождений термина t во внешнем корпусе.
Использование метода Relevance [28] позволяет уменьшить важность терминов, которые редко встречаются в наборе текстов обрабатываемой предметной области, или которые часто встречаются во внешнем корпусе документов (1.6).
,(1.6) где Ttarget(t)- частота вхождений термина t в коллекции текстов исследуемой предметной области,Treference(t) - частота вхождений термина t во внешнем корпусе,DFTARGET(t)- количество документов исследуемой предметной области, в которые входит термин t.
Также существуют другие методы на основе внешних ресурсов, например DOMAINRELEVANCE,DOMAINSPECIFICITY,Weirdness и т.д.
Подходы на основе внешних ресурсов требуют наличия корпусов, разделенных по предметным областям. Сбор и классификация таких корпусов является трудоемкой задачей, также появляется необходимость периодической актуализации документов в корпусах.
3. Методы на основе ассоциации.
Помимо частотных методов, распространены алгоритмы, основанные на мере ассоциации. Основная идея таких алгоритмов состоит в оценке того, насколько случайно появление слов в составе термина кандидата в ключевые слова. Для проверки гипотез о состоятельности термина используются различные инструменты из математической статистики, такие как, например,t-критерий Стьюдента, критерий согласия Пирсона, критерий функций отношения правдоподобия [16], MUTUALINFORMATION [15] и др. Такие методы в основном применимы только к терминам, состоящим из нескольких слов, чаще всего двухсловным.Однако ключевым словом может являться термин, состоящий из одного слова. В соответствии с работой [32],меры ассоциации, несмотря на теорию математической статистики, лежащую в их основе, работают примерно с такой же эффективностью, как и частотные подходы, но их программная реализация гораздо сложнее.
Гибридные подходы к извлечению ключевых слов
Гибридные методы используют статистические подходы и дополняют их лингвистическими методами.
1. Использование графов.
Распространено извлечение ключевых слов с использованием графов [9].Семантический граф представляет собой взвешенный граф, вершинами которого являются термины документа, наличие ребра между двумя вершинами означает тот факт, что термины семантически связаны между собой, вес ребра является численным значением семантической близости двух терминов, которые соединяет данное ребро. Затем в графе происходит поиск сообществ и их ранжирование. Обычно ранжирование происходит в соответствие с плотностью сообщества и его информативностью, которая может быть посчитана с помощью любой статистической метрики, описанной в разделе 1.2.1. Например, для следующего текста: «Статья посвящена вопросу извлечения терминов из текстов на русском языке при помощи графовых моделей. Описан и экспериментально исследован алгоритм решения данной задачи. Сформулированы требования и рекомендации к применению алгоритма в задачах обработки русского языка», граф представлен на рисунке 1.1.
Рисунок 1.1. Граф приведенного текста
Соответственно слова с наиболее высоким рангом являются ключевыми. Данный метод зарекомендовал себя как очень эффективный для задачи извлечения ключевых слов [11], однако он довольно сложен для реализации и требует много ресурсов.
2. Методы на основе машинного обучения.
Для извлечения ключевых слов также используются методы на основе машинного обучения. Задача извлечения рассматривается как задача классификации. Для обучения, необходима выборка с заранее извлеченными ключевыми словами. В рамках обучения вычисляются различные параметры, такие как часть речи, местоположение в документе, статистические метрики и т.д. Рассчитывается вероятность отнесения термина к ключевым. При обработке документа решается задача классификации, вычисляется релевантность термина для данной предметной области. Самым распространенным и простым в реализации методом на основе машинного обучения с учителем, является Наивный Байесовский классификатор, основанный на теореме Байеса. Слово «наивный» в данном контексте означает предположение классификатора о независимости случайных величин. В рамках задачи автоматического извлечения ключевых фраз случайными величинами могут являются различные признаки фраз, например, длина фразы, абсолютное расположение в документе, информативность. У каждого признака есть свой вес, соответственно можно рассчитать важность фразы с помощью произведения каждого из признаков на его вес. Также используются методы на основе нейронных сетей [24, 31], деревьев решений [30] и т.д.
3. Методы на основе Википедии.
Интернет-энциклопедия Википедия может быть использована для решения задачи извлечения ключевых слов, благодаря ее характеристикам. Она содержит очень большой набор статей и ссылок между ними, образуя структуру, пригодную для анализа. Для каждого термина можно найти описывающую его статью и получить категории, к которым данная статья принадлежит, далее можно запустить обход графа всех категорий, двигаясь по иерархии от частных к более общим категориям. Полученный путь от статьи до ссылок верхнего уровня может быть использован для проверки состоятельности термина. Существует несколько работ, использующих Википедию для извлечения ключевых слов [3, 10].
В работе [3] показано, что эффективность таких методов выше статистических, однако их программная реализация требует частичного машинного обучения.
4. Методы на основе поисковых машин.
Некоторые методы [4, 11] используют поисковые машины для проверки релевантности термина. Производится поисковый запрос с использованием кандидата в ключевые слова, если термин состоит из нескольких слов, то производятся запросы с использованием термина целиком и отдельных его частей. Далее производится фильтрация терминов по количеству возвращенных страниц поисковой системой. Также работа [17] анализирует поисковые сниппеты, принадлежность сниппетов к конкретной предметной области, близость сниппета к анализируемому тексту. Авторы работы [4] отмечают, что эти методы работают только для специфичных предметных областей с редкой терминологией, которые широко представлены в сети.
Обоснование выбора метода извлечения ключевых слов
Для выбора метода извлечения ключевых слов, проведено сравнение подходов, описанных выше, по характеристикам, которые влияют на программную реализацию метода.
Результаты сравнения представлены в таблице 1.1.
Таблица 1.1. Сравнение методов извлечения ключевых слов
Группа методов Методы Требуется корпус документов Требуется обращение к внешним ресурсам Требуется предварительное обучение Сложность реализации
Статистические методы Частотные Да/Нет Нет Нет Низкая
На основе внешних ресурсов Да Да Нет Низкая
На основе ассоциации Да/Нет Нет Нет Средняя
Гибридные методы На основе графов Нет Да/Нет Нет Высокая
На основе машинного обучения Да Да/Нет Да Высокая
На основе Википедии Нет Да Нет Высокая
На основе поисковых машин Нет Да Нет Средняя
На основе данного сравнения был выбран частотный подход, так как его использование не требует предварительного обучения и обращения к внешним ресурсам, также метод достаточно прост в реализации при высоких показателях эффективности, что подтверждают исследования [3, 34, 36]. Частотные методы можно использовать в любой предметной области, что было отмечено в работе [5], в то время как методы на основе поисковых машин и методы на основе Википедии показывают различную эффективность в зависимости от предметной области анализируемого документа. В частности, в данной работе была выбрана метрика TF-IDF, которая является наиболее популярной метрикой для вычисления информативности слова в анализируемом документе. Метрика требует наличия корпуса документов, однако это не является критичным.
Анализ электронных научных ресурсов
Для поиска научной литературы на русском языке существуют различные электронные библиотеки, имеющие свою базу научных документов, поисковые системы, которые имеют доступ к базам электронных библиотек. В данном разделе рассмотрены четыре наиболее популярных ресурса для поиска научной литературы на русском языке: научная библиотека ELIBRARY, электронная библиотека КИБЕРЛЕНИНКА,Российская Государственная Электронная Библиотека и поисковая система Академия Гугл.
Были выделены следующие характеристики электронных научных ресурсов для их сравнения: Вид возвращаемых по запросу результатов. От вида результатов зависят части программы, отвечающие за разбор и возврат результатов.
Возможность чтения статьи онлайн. Если присутствует возможность чтения онлайн, то есть возможность предоставить пользователю прямую ссылку на документ.
Формат возвращаемых файлов. Формат файлов важен для сортировки полученных результатов.
Удобство разметки страницы для программного разбора.
Обзор электронных научных ресурсов
Научная библиотека ELIBRARY [18] это крупнейшая российская электронная библиотека, которая содержит более 22 миллионов статей и публикаций. Библиотека обладает различными возможностями поиска, например, есть возможность установить фильтры по типу публикации, авторам, годам публикации, по расположению слов в структуре документа и т.д.Библиотека также интегрирована с Российским индексом научного цитирования. Для доступа ко всем публикациям организована платная подписка, однако для бесплатного просмотра доступны статьи из более чем двух тысяч научных журналов.
КИБЕРЛЕНИНКА [6]является первой научной российской электронной библиотекой, построенной на парадигме открытой науки. Обеспечен бесплатный доступ к полным текстам более чем миллиона научных публикаций. Организован полнотекстовый поиск по названиям публикаций, их авторам, ключевым словам, а также по самим текстам статей.
Российская Государственная Электронная Библиотека [12] представляет собой электронный каталог Российской Государственной Электронной Библиотеки. Содержит электронные копии наиболее ценных и запрашиваемых публикаций, а также содержит документы, изначально созданные в электронном виде. Содержит около миллиона документов и постоянно пополняется.
Академия Гугл (GOOGLESCHOLAR) [1] это часть поисковой системы Гугл, которая позволяет находить научные работы из большинства научных журналов крупных издательств Европы и Америки. Является бесплатным ресурсом и обладает простым и понятным интерфейсом схожим со стандартным интерфейсом поисковой системы Гугл. Позволяет фильтровать результаты по датам, типу публикаций, языку и т.д.
Таким образом, необходимо проанализировать представленные научные ресурсы, для того, чтобы выбрать наиболее подходящий для программного поиска по ключевым словам в рамках данного исследования.
Выбор электронного научного ресурса
Ресурсы, перечисленные выше, были сравнены по характеристикам, влияющим на программную работу с ними.
Результаты сравнения представлены в таблице 1.2.
Таблица 1.2. Сравнение научных электронных ресурсов
Название ресурса Возвращаемые результаты Возможность чтения онлайн Формат файлов Удобство разметки страницы для разбора Примечание ELIBRARY Страница, содержащая названия, ссылки на публикации, автора, издательство Присутствует возможность чтения для отдельных статей PDF Разметка неудобна для программного разбора Параметры запроса кодируются неизвестным способом
КИБЕРЛЕНИНКА Страница, содержащая названия, ссылки на публикации, автора, издательство Присутствует возможность чтения PDF Удобная разметка для программного разбора При переходе по ссылке необходимы дополнительные действия по открытию документа
Российская Государственная Электронная Библиотека Страница, содержащая ссылки на каталоги библиотеки Присутствует возможность чтения для пользователей, имеющих доступ к библиотеке MRC Разметка неудобна для программного разбора Необходимо переходить по ссылкам на каталоги
Академия Гугл Страница, содержащая названия, ссылки на публикации, автора, издательство Присутствует возможность чтения PDF, HTML и др. Удобная разметка для программного разбора Покрывает большинство документов остальных трех библиотек
В ходе исследования предметной области было обнаружено, что ни одна из перечисленных электронных научных библиотек не имеет API для доступа к ней. Следовательно, поиск публикаций будет производиться с использованием веб-запроса.
Для поиска статей было решено использовать поисковую систему по полным текстам научных статей GOOGLESCHOLAR (Академия Гугл). Страница результатов содержит всю необходимую информацию о публикации и имеет удобную разметку для программного разбора, что позволяет выводить результаты в наиболее понятном и удобном виде.Результаты могут быть различных типов, например, PDF, книга, HTML-страница Она покрывает большинство документов остальных трех библиотек. Также при поиске есть возможность задать различные параметры для фильтрации результатов поиска, такие как тип ссылок, язык, год издания и пр.
Выводы по первой главе
По результатам первой главы был выявлен недостаток систем, которые могли бы произвести поиск научной литературы по заданному документу. Были описаны существующие подходы к извлечению ключевых слов и в результате их сравнения выбран частотный подход. В частности, выбрана метрика TF-IDF, позволяющая рассчитать информативность термина для текущего документа, основываясь на встречаемости термина в текущем документе и его встречаемости в корпусе документов. Данный метод не требует предварительного обучения и обращения к внешним ресурсам, при этом имеет достаточно высокие показатели эффективности. Однако необходимо отметить, что данный метод требует сбора корпуса документов.
Также были рассмотрены четыре научных ресурса, позволяющие производить поиск научных публикаций на русском языке. Для поиска выбрана система Академия Гугл, которая позволяет искать литературу по ключевым словам и возвращает результаты в удобном для программной обработки виде.
Анализ предметной области и проектирование системы поиска релевантных документов
Формирование требований к системе поиска релевантных документов
Для определения функциональных требований к системе, была построена диаграмма прецедентов, представленная на рисунке 2.1.
Рисунок 2.1. Диаграмма прецедентов системы поиска релевантных документов
Как можно видеть на построенной диаграмме, основными акторами системы поиска документов релевантных заданному тексту являются: Пользователь.
Набор статей, необходимый для расчета уникальности термина.
Файл с рассчитанными коэффициентами IDF.
Морфологический анализатор, необходимый для выбора кандидатов в ключевые термины.
Система поиска научных статей, в качестве которой была выбрана Академия Гугл.
Основные прецеденты системы: Ввод текста.
Поиск по ключевым словам.
Извлечение ключевых слов.
Расчет коэффициентов IDF.
В таблицах 2.1-2.4 представлено подробное описание каждого из выявленных прецедентов.
Таблица 2.1. Прецедент «Ввод текста»
Название Ввод текста
Акторы Пользователь
Краткое описание Пользователь подает на вход текст для последующей обработки
Триггер Начало работы с системой
Основной поток Пользователь выбирает файл в одном из трех форматов (docx,pdf,txt) и нажимает кнопку «OK», текст документа отображается на главной форме
Альтернативные потоки Пользователь вручную вводит текст в соответствующее поле на главной форме
Таблица 2.2. Прецедент «Извлечение ключевых слов»
НАЗВАНИЕИЗВЛЕЧЕНИЕ ключевых слов
Акторы Пользователь, Файл с коэффициентами, Морфологический анализатор
Краткое описание Система производит обработку текста, извлекает ключевые слова и выводит их пользователю
Триггер Пользователь нажимает на кнопку «Извлечь ключевые слова»
Основной поток Производится отбор кандидатов в ключевые термины с использованием морфологического анализатора, затем для каждого из кандидатов рассчитывается метрика TF-IDFC использованием файла с рассчитанными коэффициентами, после чего производится ранжирование терминов и их вывод пользователю
Альтернативные потоки -
Таблица 2.3. Прецедент «Расчет коэффициентов»
НАЗВАНИЕРАСЧЕТ коэффициентов
Акторы Пользователь, Набор статей, Морфологический анализатор, Файл с коэффициентами
Краткое описание Производится расчет коэффициентов IDF для терминов и их запись в файл с коэффициентами
Триггер Пользователь нажимает на кнопку «Рассчитать коэффициенты»
Основной поток Производится отбор терминов с помощью морфологического анализатора и расчет количества документов набора, в которых встречается данный термин, после чего в файл с коэффициентами записывается набор терминов и их коэффициенты IDF
Альтернативные потоки -
Таблица 2.4. Прецедент «Поиск по ключевым словам»
Название Поиск по ключевым словам
Акторы Пользователь, Система поиска научных статей
Краткое описание Система производит запрос с использованием извлеченных ключевых слов и возвращает результаты пользователю
Триггер Пользователю выбрал ключевые слова для запроса и нажал на кнопку «Поиск по ключевым словам»
Основной поток Производится веб-запрос к Академии Гугл, содержащий выбранные ключевые слова в качестве параметров, производится разбор полученных в ответ страниц и вывод результатов пользователю
Альтернативные потоки -
Для описания модели поведения системы были построены диаграммы последовательностей для каждого из прецедентов. Диаграммы последовательностей представлены в приложении А.
Для реализации системы необходимо было выбрать морфологический анализатор. Существует несколько доступных морфологических анализаторов русского языка. Были рассмотрены следующие наиболее популярные из них: AOT [2] - проект инструментов обработки текста на естественном языке. Пакет состоит из компонентов - лингвистических процессоров, которые друг за другом обрабатывают входной текст. Также содержит морфологический анализатор, базирующийся на грамматическом словаре А.А. Зализняка.
Mystem [26] - морфологический анализатор русского языка с поддержкой снятия морфологической неоднозначности, разработан в компании «Яндекс». Программа работает на основе словаря и способна формировать морфологические гипотезы о незнакомых словах.
Pymorphy [7] - морфологический анализатор, разработанный на языке программирования Python. Выполняет лемматизацию и анализ слов, способен осуществлять склонение по заданным грамматическим характеристикам слов. В процессе работы использует словарь АОТ.
В данной работе был сделан выбор в пользу Mystem, т.к. в этой системе присутствует возможность контекстного снятия омонимии и формирования гипотез об отсутствующих в словаре словах. Также скорость работы Mystem намного превышает скорость работы AOT и Pymorphy.
Проектирование системы поиска релевантных документов
Для определения логической структуры системы, была построена диаграмма классов, представленная на рисунке 2.2.
На диаграмме отображены основные классы системы и их связи между собой. Поля и методы классов подробно описаны в главе 3, которая содержит процесс реализации спроектированной системы.
Рисунок 2.2. Диаграмма классов системы поиска релевантных документов
Термины, выбранные в качестве кандидатов в ключевые, представлены классом KEYPHRASE. Класс содержит необходимую информацию о термине, а также конструктор для создания нового термина и методы для подсчета встречаемости термина. Также создан класс WORDSTRUCTURE, который содержит результаты морфологического анализа для каждого термина.
Класс TEXTPROCESSING содержит методы для обработки текста и извлечения ключевых терминов.
Результаты поиска представлены классом SEARCHRESULT, в классе содержится информация о статье и конструктор для создания новых экземпляров класса.
Методы для осуществления поиска и разбора результатов содержатся в классе SEARCHPROCESSING.
Класс, представляющий главную форму, называется MAINFORM. В нем содержится словарь, содержащий ключевые фразы, также словарь с содержанием файла с рассчитанными коэффициентами и список результатов поиска. В нем же происходит вызов методов класса Text Processing во время обработки текста и вызов методов класса Search Processing для поиска по ключевым словам и разбора результатов.
Описание алгоритма извлечения ключевых слов
Кандидаты ключевых фраз отбираются в виде N-грамм, не разделенных знаками препинания и стоп-словами, где N-грамма - это термин из компьютерной лингвистики, означающий последовательность из N элементов текста, например, слово или последовательность слов. Стоп-слова - слова, не несущие никакой смысловой нагрузки, предлоги, союзы, междометия, которые часто встречаются в любом документе.
Кандидатами в ключевые фразы было решено выбрать все N-граммы длины 1 и 2. В случае если это одно слово, то это должно быть существительное. В случае термина, состоящего из двух слов возможны два варианта. Во-первых, это может быть прилагательное и существительное, например «нейронная сеть». Во-вторых, это может быть два существительных, причем второе в родительном падеже, например, «поиск литературы».
Для хранения кандидатов было решено использовать коллекцию, где хранилась бы лексема сл
Вывод
При изучении предметной области был проведен анализ различных систем, производящих поиск документов на основе текущего текста. Рассмотрены системы, имеющие свою базу документов и системы, использующие для поиска сеть Интернет. Была выявлена нехватка систем, которые позволяли бы автоматизировать процесс поиска научной литературы по интересующей теме на основе текущего документа и тем самым снижали бы трудоемкость данного процесса.Это послужило основанием для разработки системы поиска документов релевантных заданному тексту.
В результате анализа методов извлечения ключевых слов и их сравнения с целью выбора метода для программной реализации был выбран статистический подход, а именно метрика TF-IDF, в соответствии с которой учитывается встречаемость термина в текущем документе и в корпусе документов. Метрика позволяет проводить качественное извлечение ключевых терминов и при этом достаточно легко реализуема в программном коде.
В результате анализа четырех наиболее популярных научных ресурсов, позволяющих искать русскоязычную научную литературу была выбрана Академия Гугл, которая может производить поиск документов по ключевым словам и покрывает множество научных ресурсов. Страница возвращаемых Академией Гугл результатов обладает удобной разметкой для программного разбора.
Во время анализа требований, поведения и структуры программы, было проведено моделирование системы с использованием языка UML. Для формализации функциональных требований построена диаграмма прецедентов, выявлены основные акторы системы, и детально описан каждый прецедент. Для описания модели поведения системы построены диаграммы последовательностей. Также определена логическая структура системы путем построения диаграммы классов.
В результате работы была разработана система поиска документов релевантных содержанию текста, реализованная в виде Windows Forms приложения. Система автоматизирует оба этапа поиска:осуществляет извлечение ключевых слов из текста и предоставляет пользователю список релевантных документов, осуществляя запрос к научным библиотекам и обрабатывая результаты.
В результате выполнения вышеперечисленных задач была достигнута поставленная цель-разработана система поиска документов релевантных заданному тексту.
Данная работа прошла апробацию на следующих конференциях: Всероссийская научно-практическая конференция молодых ученых с международным участием «Математика и междисциплинарные исследования - 2016» (ПГНИУ, г. Пермь); результаты исследования представлены в виде тезисов и включены в сборник трудов конференции [8].
Международная конференции молодых ученых по программной инженерии SYRCOSE 2016 (г. Москва).
Потенциальными пользователями разработанной программы могут быть студенты, преподаватели, научные работники.
В дальнейшем система может быть реализована в виде веб-приложения для использования широким кругом пользователей.Также в настоящее время идет разработка API для GOOGLESCHOLAR, соответственно, компонент запросов может быть модифицирован для взаимодействия с API, что ускорит и упростит работу системы.
Астраханцев Н. А. Методы и программные средства извлечения терминов из коллекции текстовых документов предметной области: дис. … канд. физ.-мат. наук. М., 2014.
Браславский П. И., Соколов Е. А. Автоматическое извлечение терминологии с использованием поисковых машин Интернета // Компьютерная лингвистика и интеллектуальные технологии. Тр. Международной конференции «Диалог», 2007. С. 89-94.
Калиниченко А. В. Диалоговый метод автоматизации поиска семантически похожих документов // Вестник Воронежского государственного технического университета. 2012. Вып.8(8). С.15-17.
Полушин Г.В. Система поиска документов релевантных заданному тексту // Математика и междисциплинарные исследования: сб. докл. всеросс. науч.-практ. конф. с междунар. участием, Пермь, 16-19 мая 2016 г. / гл. ред. Ю.А.Шарапов. Пермь: Перм. гос. нац. исслед. ун-т, 2016. С. 266-270.
Усталов Д. А. Извлечение терминов из русскоязычных текстов при помощи графовых моделей // Теория графов и приложений: материалы конференции - Екатеринбург: Изд-во Уральского гос. ун-та, 2012. С. 62-29.
Федоренко Д. Г., Астраханцев Н. А., Турдаков Д. Ю. Автоматическое распознавание предметно-специфичных терминов: экспериментальная проверка // Труды Института Системного Программирования РАН. 2014. Вып.4. С.55-72.
Шереметьева С. О., Осминин П. Г., Методы и модели автоматического извлечения ключевых слов // Вестник Южно-Уральского государственного университета. 2015. Вып.1(12). С.76-81.
Электронная библиотека РГБ // Российская Государственная Библиотека. 1999. URL: http://elibrary.rsl.ru/ (дата обращения: 18.05.2016).
Broder A., Glassman S., Manasse M. Syntatic clustering of the Web // Computer Networks and ISDN Systems. 1997. Vol. 29(8-13). P. 1157-1166.
Charikar M. Similarity estimation techniques from rounding algorithms // ACM symposium on Theory of computing. 2002. P 380-388.
Church K., Hanks P. Word Association norms, mutual information, and lexicography // Computational linguistics. 1990. Vol. 16(1). P. 22-29.
Church K., Hanks P., Hindle D. Using Statistics in Lexical Analysis // Lexical Acquisition: Using On-Line Resourses ro Build a Lexicon. Lawrence Erlbaum, 1991. P. 115-164.
Dobrov B. V., Loukachevitch N. V. Multiple Evidence for Term Extraction in Broad Domains // Proceedings of Recent Advances in Natural Language Processing, Hissar, 12-14 September 2011. P. 710-715. ELIBRARY // Научная электронная библиотека ELIBRARY. 2000. URL: http://elibrary.ru/defaultx.asp (дата обращения: 11.03.2016).
Evans D. A., Lefferts R. G. Clarit-trec experiments // Information processing & management. 1995. Vol. 31(3). P. 385-395.
Frantzi K., Ananiadou S., Mima H. Automatic recognition of multi-word terms: the c-value/nc-value method // International Journal on Digital Libraries. 2000. Vol. 3(2). P. 115-130.
Govindaraju V., Ramanathan. K. Similar Document Search and Recommendation // Journal of Emerging Technologies in Web Intelligence. 2012. Vol. 4(1). P. 84-93.
Html Agility Pack // CODEPLEX. 2012. URL: https://htmlagilitypack.codeplex.com (датаобращения: 19.04.2016).
IBM - EDISCOVERY Analyzer // IBM. URL: http://www-03.ibm.com/software/products/ru/edisanal (датаобращения: ).
Lopez P. Automatic Key Term Extraction from Scientific Articles in GROBID // Proceedings of the 5th International Workshop on Semantic Evaluation. Uppsala, 2010. P 248-251.
Meijer K., Fransincar F., Hogenboom F. A semantic approach for extracting domain taxonomies from text // Decision Support Systems. 2014. P. 78-93.
Mystem // Технологии Яндекса. 2014. URLHTTPS://tech.yandex.ru/mystem (дата обращения: 14.05.2016).
Pazienza M., Pennacchiotti M., Zanzotto F. Terminology extraction: an analysis of linguistic and statistical approaches // Knowledge Mining: Proceedings of the NEMIS 2004 Final Conference. Berlin: Springer, 2005. P. 255-279.
Penas A., Verdeio F., Gonzalo J. Corpus-based terminology extraction to information access // Proceedings of the Corpus Linguistics. 2001. Vol. 13.
Turney P. Learning Algorithms for Keyphrase Extraction // Information Retrieval. 2000. Vol. 2(4). P. 303-336.
Wang J., Peng H., Hu J. Automatic Keyprases Extraction from Document Using Neural Network // Advances in Machine Learning and Cybernetics. Berlin: Springer, 2006. P. 633-641.
Wermter J., Hahn U. You can’t beat frequency (unless you use linguistic knowledge): a qualitative evaluation of association measures for collocation and term extraction // Proceedings of the 21st International Conference on Computational Linguistics and the 44th annual meeting of the Association for Computational Linguistics., Sydney, July 2006. P. 785-792.
Williams K., Wu J. SIMSEERX: A Similar Document Search Engine // Proceedings of the 2014 ACM symposium on Document engineering, NY, 2014. P. 143-146.
Xiaoyue L., Chunyu K. An Improved Corpus Comparison Approach to Domain Specific Term Recognition // Proceedings of 22nf Pacific Asia Conference on Language, Information and Computation, 2008. P. 253-261.
Yang Y., Bansal N., Dakka W. Query By Document // Proceedings of the Second ACM International Conference on Web Search, NY, 2009. P. 34-43.
Zhang Z., Brewster C., Ciravegna F. A Comparative Evaluation of Term Recognition Algorithms // Proceedings of the Sixth International Conference on Language Resources and Evaluation, Marrakech, 28-31 May 2008.