close

Вход

Забыли?

вход по аккаунту

Головин Сергей Иванович.Разработка информационной системы рубрикации полнотексто-вых документов

код для вставки
Аннотация
Магистерская диссертация на тему «Разработка информационной системы
рубрикации полнотекстовых документов» содержит 54 страницы текста, 11 рисунков, 12 таблиц, 29 использованных источников литературы.
Ключевые слова: рубрикация текстов, задача классификации, классификационные правила, векторная модель, мешок слов, библиотека.
За последние годы отмечается значительное увеличение объемов различной
информации, представленной, в том числе, в форме текстовых документов. Этим
обуславливается потребность в автоматизации различных задач, связанных с обработкой и анализом текстовых данных на естественном языке. Сказанное позволяет сделать вывод об актуальности тематики настоящей выпускной квалификационной работы, связанной с решением задачи классификации текстовых документов.
Объект исследования выпускной квалификационной работы составляет
процесс классификации текстовых документов.
Предмет исследования составляют алгоритмы классификации текстов.
Целью выпускной квалификационной работы является разработка технологии рубрикации текстовых документов, сочетающей положительные стороны автоматической и «ручной» классификации.
Достижение поставленной цели предполагает решение следующих задач:
1. Систематизировать теоретические сведения о задаче автоматической классификации текстов;
2. Рассмотреть алгоритмы и инструментальные средства для решения задачи
классификации текстов;
3. Разработать технологию классификации, сочетающую преимущества машинной и «ручной» обработки текстов;
4. Разработать в нотации языка UML проектные решения для программной реализации предлагаемой технологии классификации;
5. Провести календарное и финансовое планирование по проекту создания информационной системы электронной библиотеки.
При выполнении выпускной квалификационной работы применялись следующие методы теоретического и практического исследования и обработки данных: методы функционального и объектно-ориентированного анализа, алгоритмы
информационного поиска, алгоритмы классификации, современные языки программирования и хранения данных.
Основными результатами исследования являются:
1. Систематизация знаний о задаче рубрикации текстовых документах и методах
ее решения;
2. Технология классификации текстовых документов, основанная на использовании векторной модели и классификационных правил.
3. Проектные решения на разработку системы электронной библиотеки.
4. Программная реализация системы электронной библиотеки.
Отдельные результаты работы, в частности, процедура построения классификационных правил имеет существенную практическую значимость, поскольку
разработанные правила уже применяются при классификации научных документов.
Abstract
The Master's thesis called The Development of an Information System for the
Classification of Full-Text Documents contains 56 pages, 14 figures, 8 tables and
29 works in the list of references.
Keywords: text classification, classification problem, classification rules, vector
model, word bag, library.
In recent years, there has been a significant increase in the volumes of various information, including in the form of text documents. This results in the necessity to automate various tasks of processing and analyzing textual data in a natural language. The
foregoing demonstrates the relevance of the topics of this graduate qualification work
related to the problem of classifying text documents.
The object of research of this graduate qualification work is the process of classification of text documents.
The subject of the research are the algorithms for text classification.
The goal of the graduate qualification work is the development of a technology
for the classification of text documents, combining the positive aspects of automatic and
"manual" classification.
This goal can be achieved through completing the following tasks:
1. To systematize theoretical information about the process of automatic text classification.
2. To consider algorithms and tools to solve the problem of text classification.
3. To develop a classification technology that combines the advantages of machinebased and "manual" processing of texts.
4. To develop design solutions for the software implementation of the proposed classification technology in the UML language notation.
5. To conduct calendar and financial planning for the project of creating an information
system of the electronic library.
When completing the final qualification work, the following methods of theoretical and practical research and data processing were used: methods of functional and ob-
ject-oriented analysis, information retrieval algorithms, classification algorithms, modern programming languages and data storage.
The main results of the research are:
1. Systematization of knowledge about the problem of text documents classification and
methods for its solution.
2. The technology of text documents classification based on the use of vector models
and classification rules.
3. Design solutions for the development of an electronic library system.
4. Software implementation of the electronic library system.
Some results of the research, in particular, the procedure for constructing classification rules, are of significant practical importance, since the developed rules are already applied to the classification of academic documents.
2
Оглавление
Введение
3
1
Теоретическое обоснование используемых методов и инструментальных средств решения поставленной задачи
5
1.1 Автоматическая классификация текстов: основные определения, постановка задачи . . . . . . . . . . . . . . . . . . . . .
5
1.2 Математические методы и инструментальные средства решения задачи классификации текстовых документов . . . . . . . 14
1.3 Концептуальная модель системы автоматической классификации документов . . . . . . . . . . . . . . . . . . . . . . . . 20
2
Разработка проектных решений
2.1 Анализ и разработка требований . . . . . . . . . . . . . . . .
2.2 Программная реализация проектных решений . . . . . . . . .
2.3 Управление проектом по созданию системы: календарное и
финансовое планирование . . . . . . . . . . . . . . . . . . . .
25
25
31
Заключение
51
Список литературы
52
Приложение
55
34
3
Введение
За последние годы отмечается значительное увеличение объемов различной информации, представленной, в том числе, в форме текстовых документов. Этим обуславливается потребность в автоматизации различных
задач, связанных с обработкой и анализом текстовых данных на естественном языке. Сказанное позволяет сделать вывод об актуальности тематики
настоящей выпускной квалификационной работы, связанной с решением
задачи классификации текстовых документов.
В современной зарубежной и отечественной научной литературе, посвященной задаче классификации текстовых документов, выделяются два
основных подхода к решению данной задачи:
– классификация на основе знаний (классификационные правила отнесения документов к рубрикам строятся экспертами в форме булевских
выражений, продукционных правил продукций и т. п);
– классификация на основе машинного обучения, при применении которой используется обучающая коллекция документов, предварительно
отрубрицированная экспертом.
Наиболее значительный вклад в решение проблемы классификации
внесли следующие ученые: C. C. Aggarwal, H. A. Do Prado, E. Ferneda,
V. Korde, C. X. Zhai, A. Khan, B. Baharudin, L. H. Lee, М. С. Агеев, В. Г. Васильев, М. П. Кривенко, Н. В. Лукашевич.
Объект исследования выпускной квалификационной работы составляет процесс классификации текстовых документов.
Предмет исследования составляют алгоритмы классификации текстов.
Целью выпускной квалификационной работы является разработка
технологии рубрикации текстовых документов, сочетающей положительные стороны автоматической и «ручной» классификации.
Достижение поставленной цели предполагает решение следующих
задач:
1. Систематизировать теоретические сведения о задаче автоматической
классификации текстов;
2. Рассмотреть алгоритмы и инструментальные средства для решения задачи классификации текстов;
4
3. Разработать технологию классификации, сочетающую преимущества
машинной и «ручной» обработки текстов;
4. Разработать в нотации языка UML проектные решения для программной реализации предлагаемой технологии классификации;
5. Провести календарное и финансовое планирование по проекту создания информационной системы электронной библиотеки.
При выполнении выпускной квалификационной работы применялись
следующие методы теоретического и практического исследования и обработки данных: методы функционального и объектно-ориентированного анализа, алгоритмы информационного поиска, алгоритмы классификации, современные языки программирования и хранения данных.
Отдельные результаты работы, в частности, процедура построения
классификационных правил имеет существенную практическую значимость, поскольку разработанные правила уже применяются при классификации научных документов.
Структуру выпускной квалификационной работы определяют следующие элементы: введение, основная часть в двух главах, заключение и список литературы.
Во введении обоснована актуальность выбранной тематики выпускной квалификационной работы, выделены объект и предмет исследования,
сформулирована цель и основные задачи, описана структура работы.
В первой главе приводятся теоретические сведения о задаче автоматической классификации текстовых документов, методах ее решения, применяемых информационных технологиях. Излагаются основные моменты
авторской технологии классификации текстов.
Вторая глава посвящена описанию проектных решений для программной реализации разрабатываемой технологии. Дается описание программного продукта — электронной библиотеки, в котором используется
предлагаемая технология классификации текстов. Приводятся также основные результаты календарного и финансового планирования по проекту и
его основные риски.
В заключении подведены основные итоги работы, указываются направления дальнейшей работы над создаваемой технологией классификации.
Список литературы содержит источники, используемые при написании работы.
5
1 Теоретическое обоснование используемых методов и инструментальных средств решения поставленной задачи
1.1
Автоматическая классификация текстов: основные определения, постановка задачи
Задача рубрикации (классификации) документов, то есть отнесение
документа к одной или нескольким темам, является весьма актуальной в
связи с ростом объема доступной полнотекстовой информации. Так, согласно исследованию, проведенному в 2011 году аналитической компанией
IDC, мировой объем данных увеличивается более чем в два раза каждые
два года. Естественно данный факт стимулирует поиск новых технологий
«укрощения информации». Так, по данным все того же агентства IDC по состоянию на 2011 год использование новых технологий позволило снизить
стоимость сбора, обработки, управления и хранения информации в шесть
раз по сравнению с 2005 годом.
Традиционные [23] рекомендации по разработке классификаторов
говорят, что рубрики должны делить пространство рубрицирования на
непересекающиеся, желательно относительно равные части. На практике,
для сколько-нибудь широких предметных областей такого можно добиться
только существенно ограничивая количество рубрик в рубрикаторе (не более ста). Как правило, для рубрикаторов простой структуры большинство
методов автоматической рубрикации показывают приемлемые результаты.
Однако, при разработке рубрикаторов, предназначенных для стандартизации обмена информацией, часто следуют иным соображениям, стараются
учесть как можно больше конкретных направлений, важных для той или
иной группы составителей рубрикатора. В результате имеется много реально использующихся рубрикаторов, насчитывающих сотни и тысячи рубрик.
Для большого классификатора эксперту трудно помнить все рубрики,
особенно в условиях наличия параллельных мест между рубриками разных
разделов рубрикатора. В результате обычна ситуация, когда при приемлемых показателях точности ручного рубрицирования по большому классификатору, наблюдается низкая полнота. Как следствие, в среднем имеется
6
значительное расхождение между даже квалифицированными экспертами.
Методы автоматического рубрицирования могли бы оказать существенную помощь для решения такого рода задач.
В последнее время большую популярность приобрели методы рубрицирования, использующие машинное обучение. Однако, ко многим рубрикам сложного классификатора даже в большой коллекции документов попадает сравнительно мало документов, что затрудняет применение методов,
использующих машинное обучение.
Сказанное позволяет сделать следующие вывод, свидетельствующий
об актуальности тематики настоящее исследования: требуются новые эффективные технологии обработки информации.
Раздел науки, в рамках которого ведется разработка технологий автоматической обработки текстов на естественной языке, называется компьютерная лингвистика.
Основными приложениями прикладной лингвистики принято считать
следующие направления [17]: машинный перевод, информационной поиск,
реферирование текста, извлечение знаний, классификация и кластеризация
текстов. В таблице 1.1 приведена краткая характеристика направлений.
Рядом зарубежных [5, 12, 14] и отечественных [17, 21, 22, 27] исследователей считается, что в настоящее время, характеризуемое в том числе
существенным ростом объемов текстовой информации, наиболее актуальным направлением приложения методов компьютерной лингвистики является классификация1 документов на естественном языке.
В общем случае под задачей классификации текстовых документов понимается систематизация этих документов по заданным категориям. Кратко задачу классификации можно определить следующим образом:
каждому из заданного множества документов требуется поставить в соответствие одну из заранее установленных категорий.
Первоначально классификация текстов использовалась преимущественно при ручной рубрикации научной литературы, например в библиотечном деле. С развитием информационных технологий и появлением большого количества электронных документов и необходимости работы с ними
задача классификации получила свое новое развитие и приложение. В настоящее время классификация текстов применяется в различных контекстах
— от традиционной полуавтоматической рубрикации научных текстов до
1 Следует заметить, что задачу классификации текстовых документов достаточно часто называют задачей рубрикации или категоризации. В дальнейшем данные термины будем употреблять как синонимы.
7
Таблица 1.1 — Приложения компьютерной лингвистики
Наименование
Характеристика
Полезные ресурсы
Машинный
перевод
Машинный перевод — процесс
перевода текстов с одного
естественного языка на другой с
помощью специальной
компьютерной программы
Материалы
компанийразработчиков
систем машинного
перевода PROMT,
trados
Информационный поиск
Информационный поиск —
процесс нахождения, отбора и
выдачи определенной заранее
заданными признаками
информации
Материалы
ведущих
компанийразработчиков
сервисов поиска
Google, Yandex
Реферирование
текста
Реферирование текста —
сокращение его объема и
получение краткого изложения
Ресурсы,
посвященные
построению
онтологий
Извлечение
знаний
Извлечение знаний из текстов —
автоматическое опознавание
выбранных типов объектов,
отношений или событий в
тексте на естественном языке
Ресурсы по
системам
реферирования
персональной рассылки рекламной информации и фильтрации спама.
В зависимости от постановки принято выделять однозначную и многозначную, четкую и нечеткую классификацию, а также документо- или
рубрикоориентированную классификацию. Основные отличия указанных
задач классификации приведены в таблице 1.2.
Следует отметить, что несмотря на кажущуюся схожесть сформулированных задач классификации, они при практической реализации существенно отличаются. Так, например, на электронной почте входящие сообщения по умолчанию получают однозначную классификацию либо спам,
либо папка «Входящие». В библиотеке при каталогизации изданий для каждого них может установлено несколько подходящих рубрик и в результате
карточка издания окажется во всех указанных рубриках тематического ка-
8
Таблица 1.2 — Виды задач классификации
Наименование
Особенность постановки
Однозначная классификация
Каждый документ принадлежит
единственной категории
Многозначная классификация
Каждый документ принадлежит
нескольким категориям
Четкая классификация
Заданный документ либо принадлежит
категории, либо нет
Нечеткая классификация
Для каждого документа определятся
некоторая оценка, имеющая
вероятностный характер и
определяющая степень
принадлежности документа заданной
категории
Документоориентированная
классификация
Для каждого документа требуется
определить все категории, которым он
может принадлежать
Рубрикоориентированная
классификация
Для заданной категории определяются
все документы, принадлежащие ей
талога.
Итак, с содержательной для заданных множеств документов и рубрик точки зрения задача классификации текстовых документов заключается
в установлении соответствия между двумя заданными множествами документов и категорий.
В общем случае задача классификации текстовых документов формализуется следующим образом [5].
Пусть имеется некоторое множество документов, подлежащих классификации
D = {d1 , d2 , . . . , dn }.
Пусть также известно множество категорий (классов)
C = {c1 , c2 , . . . , cm },
по которым необходимо распределить заданные документы. Тогда задача классификации может рассматриваться как задача поиска неизвестной
9
функции F , такой, что F : D × C → {0, 1}. При этом для любых документа
di ∈ D, i = 1, n, и категории cj ∈ C , j = 1, m верно
F (di , cj ) =
1, документ di будет принадлежать категории cj ,
0, иначе.
Функцию F (·, ·) принято называть классификатором или рубрикатором. Следует отметить некоторые свойства классификатора, исходя видов
задач классификации, представленных в таблице 2. Так, при однозначной
и четкой классификациях функция F (·, ·) для каждой пары «документкатегория» принимает значение либо 0, либо 1.
При многозначной и нечеткой классификациях для каждого документа фактически определяется вектор. В случае многозначной классификации
каждые элемент вектора принимает значение равное либо 1, либо 0, что
означает принадлежность или не принадлежность документа соответствующей категории. В случае же нечеткой классификации каждый элемент
вектора принимает значение от отрезка [0; 1], что означает вероятностную
оценку принадлежности рассматриваемого документа соответствующей категории.
Следует заметить, что в практических задачах в явном виде функция
F (·, ·), как правило, не задается, а представляется некоторым правилом или
набором правил. Так, например, фильтр почтового ящика, который может
рассматриваться как своеобразный классификатор, определяется одним или
несколькими параметрами, характеризующими адрес отправителя, тему сообщения и т.п. Более подробно известные классификаторы и методы их
построения будут рассматриваться в следующем параграфе.
Графически схему решения задачи классификации текстовых документов можно представить следующим образом (рисунок 1.1).
На первом этапе для каждой из заданных рубрик формируется ее
представление в виде набора слов или словосочетаний, называемого словарем. По каждой рубрике также задаются обучающие и тестовые множества,
исследуются взаимосвязи и пересечения отдельных рубрик, для терминов
словаря задаются весовые коэффициенты. Более подробное описание содержания данного этапа можно найти в работах [18, 22, 27].
Далее для каждой рубрики по ее обучающему множеству задается
классификатор. Подробно методы построения классификаторов будут рассматриваться в следующем параграфе.
Для оценки качества работы построенных классификаторов использу-
10
Рисунок 1.1 – Схема решения задачи классификации
ются тестовые множества. Результаты работы классификаторов на тестовых
множествах оцениваются по различным метрикам [20], отражающим полноту и точность построенной классификации.
Оценка качества классификации является ключевым элементом при
построении систем автоматической классификации. Потребность в ее проведении возникает при разработке новых алгоритмов, при выполнении обучения классификаторов, при выборе систем автоматической классификации. Далее рассмотрим следующие вопросы:
– показатели качества классификации;
– вычисление доверительных интервалов;
– статистические критерии сравнения классификаторов.
Рассмотрим сначала оценку качества классификации в случае, когда
объекты из некоторого множества D = {d1 , d2 , . . . , dn } одновременно относятся к нескольким классам из множества C = {c1 , c2 , . . . , cm }, где n —
число документов, подлежащих классификации, m — число рубрик. Следует отметить, что данный случай является обобщением более традиционного
11
случая, когда отдельный объект из множества D может быть отнесен только
к одному классу.
Пусть F 0 = fij0 m×n — заданная матрица эталонной классификации
объектов из D по рубрикам из C , где
1, документ di будет принадлежать категории cj ,
0, иначе.
Пусть также известная подобная матрица F = fij0 m×n для оцениваfij =
емой (получившейся) классификации.
Для оценки качества классификации обычно производится вычисление различных мер, характеризующих степень близости оцениваемой классификации объектов F к эталонной классификации F 0 .
При обработке текстовых данных наибольшее распространение получил подход, при котором сначала вводятся показатели качества классификации по отношению к отдельным классам, а затем на их основе уже строятся
обобщенные показатели для всей совокупности классов.
Пусть зафиксирован некоторый класс cj , j = 1, m и некоторый набор
документов d1 , d2 , . . . , dm по отношению к данному классу. Введем следующие вспомогательные обозначения результатов классификации установленного набора по отношению к заданному классу: Tj — множество документов, отнесенных к классу cj в классификации F , Bj — множество объектов,
не отнесенных к классу cj в классификации F ; Tj0 и Bj0 — множества объектов, которые отнесены и не отнесены к классу cj в классификации F 0
соответственно; nT Tj = |Tj0 ∩ Tj |, nT Bj = |Tj0 ∩ Bj |, nBTj = |Bj0 ∩ Tj |,
nBBj = |Bj0 ∩ Bj |.
Наибольшее распространение получили следующие показатели:
nT Tj
Pj =
— точность классификации, представляет собой процент
nT Tj + nBTj
объектов, правильно отнесенных к классу cj в классификации F по отношению к общему числу объектов, отнесенных к классу cj в классификации
F 0;
nT Tj
Rj =
— полнота классификации, представляет собой процент
n T T j + n T Bj
объектов, правильно отнесенных к классу cj в классификации F по отношению к общему числу объектов, отнесенных к классу cj в классификации
C 0.
Точность и полнота классификации характеризуют различные стороны оценки качества, и их нельзя использовать независимо. Например, если
12
построить классификатор, который относит все поступающие на вход документы ко всем классам, то он обеспечит полноту равную 1, но при этом
точность будет очень низкая.
На следующем этапе проводятся работы с исходным множеством документов, подлежащих классификации. Здесь, прежде всего, формируется
представление документов, необходимое для работы классификаторов. Наиболее распространенным представлением документа является набор слов
или словосочетаний, называемый в специализированной литературе [27]
«мешком слов». Формирование представления документа предполагает решения ряд таких сопутствующих задач [22, 27], как разбиение текстов на
слова и приведение их к канонической форме, понижение размерности, задание весовых коэффициентов.
Далее сформированные представления документов подаются на вход
построенных классификаторов и непосредственно, осуществляется классификация. Здесь, по сути, осуществляется сопоставление представлений
рубрик и документов, при котором выделяются наиболее близкие из них в
некотором смысле.
Для оценки качества результатов классификации, как уже отмечалось
выше, используются специализированные метрики.
После распределения документов по рубрикам возможно обновление,
или как принято говорить самообучение, исходных представлений рубрик.
На этом задача классификации текстовых документов считается решенной.
С реализацией на практике описанной схемы решения задачи классификации документов сопряжен ряд особенностей реальных документов,
негативно влияющих качество классификации. В таблице 1.3 приводятся
наиболее типичные из подобных особенностей и сопутствующие проблемы, отмеченных в литературе [14, 22, 24].
В рамках настоящей работы актуальными являются особенности, связанные, во-первых, с иерархическим устройством рубрик; во-вторых, наличием рубрик со схожим содержанием, но имеющим разное название; втретьих, политематический характер классифицируемых документов. Далее
в параграфе 1.3 в рамках разрабатываемых методов классификации текстов
будут рассматриваются возможности устранения указанных особенностей.
Итак, все более увеличивающийся объем информации и ограниченные человеческие возможности по ее обработке актуализируют развитие
методов автоматической обработки информации, в частности, методов ав-
13
Таблица 1.3 — Типичные особенности реальных документов
Особенность
Проблема
Недостаточное число или
Невозможность использования
полное отсутствие обучающих «машинных» методов построения
примеров для формирования
классификаторов
представления рубрик
Наличие рубрик с одинаковым Результаты оценки качества обучения
содержанием, но разными
оказываются некорректными
названиями
Несоответствие тематики и
характера обучающего
массива текстов тематике и
характеру классифицируемых
текстов
Результаты классификации текстов
могут быть неопределенными и
зависеть от незначительных случайных
факторов
Политематический и
составной характер
документов
Сложность автоматического
формирования решающих правил для
рубрик из-за негативного влияния
посторонней информации.
Многоуровневый
(иерархический) характер
классификаторов
Сложность построения единого
классификатора для всех уровней
категории
Одновременная оценка
текстов с использованием
нескольких классификаторов
Сложность подбора примеров
документов и обучения объединенного
классификатора
томатической классификации текстовых документов. Задача классификации
документов состоит в построении классификационных правил, позволяющих задать оптимальное, в некотором смысле, распределение исходного
множества документов по заданным рубрикам.
В следующем параграфе будут рассматриваться наиболее известные в
научной литературе методы решения сформулированной выше задачи классификации текстовых документов.
14
1.2
Математические методы и инструментальные средства решения задачи классификации текстовых документов
В современной зарубежной [1, 3, 4, 11–13] и отечественной научной
литературе [18,19,21,22,27], посвященной задаче классификации текстовых
документов, выделяются два основных подхода к решению данной задачи:
– классификация на основе знаний (классификационные правила отнесения документов к рубрикам строятся экспертами в форме булевских
выражений, продукционных правил продукций и т. п);
– классификация на основе машинного обучения, при применении которой используется обучающая коллекция документов, предварительно
отрубрицированная экспертом.
В рамках первого подхода используются заранее сформированные
экспертами, так называемыми инженерами по знаниям, наборы правил,
в которых описываются языковые выражения, соответствующие той или
иной рубрике, и правила выбора между рубриками. Так, например, согласно работам [6, 15] рубрики определяются на основе сопоставления каждой
рубрике совокупности специальных шаблонов. Шаблон определяется как
конструкция, состоящая из произвольного количества дизъюнкций, конъюнкций, отрицаний, пропусков слов и операторов необязательности. В такой конструкции могут быть также заданы части речи, способ написания (с
большой или маленькой буквы), знаки препинания. Каждому такому шаблону приписан вес, определяющий, насколько сильно этот шаблон соответствует той или иной рубрике. Суммирование весов шаблонов, сопоставленных одной и той же рубрике по тексту, дает величину соответствия этой
рубрики тексту. Решение о выборе рубрик для текста принимается на основе правил, в которых учитывается, какие рубрики были обнаружены в тексте, в какой части текста встречались соответствующие шаблоны и какой
суммарный вес имеет каждая рубрика. К типичным особенностям данного подхода можно отнести, во-первых, высокую точность классификации,
во-вторых, низкую скорость обработки документов, в-третьих, непоследовательность в суждениях экспертов.
В рамках данного подхода наиболее известными технологиями построения классификации документов являются следующие:
– технология классификации компании LexisNexis;
– технология классификации, разработанная для агентства Reuters;
15
– технология классификации, разработанная в рамках проекта УИС РОССИЯ.
В технологии компании LexisNexis в основном используется ручное
описание рубрик. Гибкий механизм описания правил приписывания рубрик
поддерживает следующие поисковые возможности:
– поиск слов и словосочетаний, без учета морфологического словоизменения;
– учет частотности слов с ручным заданием пороговых значений;
– учет местоположения слов в документе: заголовок, аннотация, текст в
начале документа, основной текст;
– поддерживается задание круга источников получения информации для
данной рубрики.
Описание одной рубрики требует 4-8 часов ручной работы без учета
времени тестирования. Для большинства рубрик качество классификации
находится на уровне более 90% полноты и точности.
В работе [7] описывается система классификации документов CONSTRUE/TIS (Categorization of News Stories, Rapidly, Uniformly and Extensibly/Topic Identification System). Система CONSTRUE/TIS использовалась
агентством Reuters для классификации потоков новостных сообщений. Для
отнесения документов к рубрике эксперт описывает правила в виде булевских формул, элементами которых выступают слова (рисунок 1.2).
Рисунок 1.2 – Пример классификационного правила
Считается [26], что подобные классификационные правила оказываются достаточно эффективными, но, только на тех потоках, на которых они
проектировались. Отмечается также, что создание достаточно большой кол-
16
лекции классификационных правил представляется серьезной организационной проблемой.
В статье [23] описывается технология классификации документов
УИС РОССИЯ. Для решения задачи рубрицирования по большим классификаторам в УИС РОССИЯ применяется комплекс из нескольких компонентов:
– большой лингвистический ресурс — тезаурус по общественнополитической тематике, специально предназначенный для автоматической обработки и автоматических выводов о содержании текста;
– специальное программное обеспечение АЛОТ (Автоматической Лингвистической Обработки Текста), позволяющее строить модель тематического содержания текста;
– специальная технология описания смысла рубрики посредством понятий тезауруса.
Алгоритм классификации УИС РОССИЯ показал высокую эффективность при создании систем рубрикации для различных текстовых коллекций.
Классификация на основе обучения на примерах предполагает построение решающей процедуры путем задания примеров текстов для каждой рубрики. Использование средств обучаемой классификации включает
три основных этапа:
1. Создание классификатора — на этом этапе производится создание
структуры рубрик классификатора, подбор обучающих примеров документов и формирование запросов на специальном языке для рубрик;
2. Обучение классификатора — на данном этапе осуществляется статистический анализ множества обучающих примеров, оценка параметров
моделей для рубрик, оценка качества обучения классификатора;
3. Классификация новых наблюдений — на этом этапе происходит классификация новых наблюдений с помощью обученного на предыдущем
этапе классификатора.
К факторам, затрудняющим применение методов машинного обучения для автоматической рубрикации текстов, принято относить [26]:
– множество примеров рубрикации отсутствует и не может быть создано
в короткое время;
17
– множество примеров рубрикации существует, но при их создании отсутствовали требования к качеству;
– множество примеров противоречиво или недостаточно для большинства рубрик;
– множество примеров для обучения взято из близкой, но другой коллекции, для которой значимое количество примеров имеется.
Отмечается [22], что по сравнению с предыдущим, эффективность
данного подхода несколько ниже, но она вполне достаточна для большинства практических приложений, в частности, во многих информационных
системах автоматического рубрицирования используется подход на основе
машинного обучения. В связи с этим далее в настоящем параграфе методам
данного подхода будет уделяться особое внимание.
В работах [2, 8, 9, 16] сравниваются следующие методы машинного
обучения, применяемые для классификации текстовых документов коллекции Reuters-21578 : метод Байеса, метод Роше, деревья решений, метод
k -ближайших соседей, метод опорных векторов (SVM), линейная регрессия, нейронные сети. Согласно указанным работам метод опорных векторов имеет преимущество над другими методами. Метод Байеса и метод k ближайших соседей также отмечаются как методы, показывающие высокие
результаты в задаче классификации текстов.
Рассмотрим более подробно отмеченные методы машинного обучения, основываясь на работах [8, 9, 16–18, 21].
Пусть, как и ранее, имеется некоторое множество документов, подлежащих классификации D = {d1 , d2 , . . . , dn }, и множество категорий
C = {c1 , c2 , . . . , cm }.
В рамках метода Байеса по обучающему множеству оценивается вероятность принадлежности каждого документа di , i = 1, n, установленным
категория cj , j = 1, m. При этом для каждых документа и категории имеются некоторые представления, например, векторное представление [27].
Целью классификации является поиск наилучшей среди всех категорий cj для документа di , то есть имеющую наибольшую апостериорную
вероятность P (cj |di )
c⋆ = argcj ∈C max P (cj |di ),
18
где вероятность P (cj |di ) рассчитывается по формуле Байеса
P (cj |di ) =
P (cj )P (di |cj )
.
P (di )
Здесь P (cj ) — априорная вероятность, что документ принадлежит категории cj , а P (di |cj ) — вероятность встретить документ di среди документов категории cj .
Опуская промежуточные преобразования [18], для каждого документа
di и категорий cj имеем следующую итоговую формулу метода
⋆
c = argcj ∈C max P (cj )
L
Y
P (til |cj ),
l=1
где til — термины документа di .
Метод Байеса обладает высокой скоростью работы и простотой математической модели. Этот метод часто используется в качестве базового
метода при сравнении различных методов машинного обучения.
Метод k -ближайших соседей относится к группе методов машинного
обучения, не требующих фазы обучения. В рамках данного метода предполагается, что для каждой рубрики cj имеется некоторое обучающее множество Ecj . При поиске рубрик cj , релевантных заданному документу di ,
этот документ сравнивается со всеми документами из обучающей выборки.
Иными словами, для заданного документа di рассчитывается расстояние до
элементов обучающего множества ecj ∈ Ecj каждой из рубрик cj . Для этого
используется следующая формула
ρ(di , ecj ) = cos(di , ecj ).
При этом предполагается, что исходные документы di и элементы обучающих множеств ecj ∈ Ecj имеется векторное представление.
Далее из обучающих множеств рубрик Ecj отбирается k документов,
ближайших к di по расстоянию ρ(di , ecj ). Обозначим подобные обучающие
множества как Eckj . Параметр k задается экзагенно. Для каждой рубрики cj
по отобранным элементам обучающего множества ecj ∈ Ecj рассчитывается
релевантность к документу di
s(cj , di ) =
X
ecj ∈Eckj
ρ(di , ecj ).
19
Рубрики с релевантностью выше некоторого заданного порога считаются соответствующими документу. Параметр k обычно выбирается в
интервале от 1 до 100.
Отмечается [16], что данный метод имеет довольно высокую эффективность, но требует довольно больших вычислительных затрат на этапе
рубрикации.
Основу метода опорных векторов (SVM) составляет принцип структурной минимизации риска — одновременного контроля количества ошибок
классификации на множестве для обучения и «степени обобщения» обнаруженных зависимостей. В наиболее простом случае метод опорных векторов
заключается в нахождении гиперплоскости в пространстве признаков, разделяющей Rn на две части: в одной находятся все положительные примеры (документы, принадлежащие рубрике), а в другой — все отрицательные
примеры (документы, не принадлежащие рубрике). При этом среди всех
таких гиперплоскостей находится та, для которой минимальное расстояние
(зазор) до ближайших примеров максимально.
Нахождение оптимальной плоскости методом SVM сводится к решению оптимизационной задачи с линейными ограничениями типа равенств
и неравенств:
n
l
P
1 P
αi αj yi yj K(xi , yj )
LD (α) =
αi −
2
i,j=1
i=1
 l
P
αi yi = 0,
 i=1
0 6 αi 6 C.
→
max
Здесь K(xi , yj ) — функция ядра SVM, которая в простейшем случае
равна евклидову скалярному произведению векторов xi и xj . Для данной
задачи разработаны эффективные методы решения [10].
Существуют также обобщения метода SVM для случая, когда разделяющей гиперплоскости не существует. В этом случае SVM ищет разделяющую гиперплоскость, одновременно минимизируя количество ошибок
и максимизируя зазор между разделяющей гиперплоскостью и ближайшими примерами. SVM также может искать отделяющее рубрику правило в
классе нелинейных нелинейных разделяющих поверхностей. Для этого используются нелинейные функции ядра. Существуют готовые реализации
алгоритма SVM.
20
Метод SVM работает с абстрактной векторной моделью предметной
области. Это позволяет применять SVM для решения различных задач машинного обучения. SVM используется для задач распознавания образов,
распознавания речи, классификации текстов.
В работе [2] проведено детальное исследование качества классификации коллекции Reuters-21578 в зависимости от используемого алгоритма
машинного обучения, подмножества рубрик и способа усреднения оценок.
Основные результаты данного исследования сводятся к следующему:
– выбор способа оценки и множества рубрик влияет на результат сильнее,
чем выбор метода машинного обучения;
– качество классификации частотных рубрик значительно выше, чем низкочастотных;
– усреднение по парам документ-рубрика дает более высокий результат,
чем усреднение по рубрикам; (макроусреднение);
– лучший результат для 90 рубрик — всего около 50% F -меры в среднем
по рубрикам.
Таким образом, при детальном рассмотрении системы рубрикации,
основанные на машинном обучении, имеют серьезные проблемы даже на
относительно простой коллекции документов.
Итак, в данном параграфе рассмотрены два основных подхода к решению задачи классификации текстовых документов. Установлено, что методы классификации, основанные на знаниях, дают лучшие результаты, чем
методы машинного обучения. Однако, применение данных методов сопряжено со значительными затратами людских и временных ресурсов. В связи
с этим оптимальным можно считать подход, сочетающий преимущества методов на знаниях и методов машинного обучения.
1.3
Концептуальная модель системы автоматической классификации документов
В данном параграфе рассматривается концептуальная модель разрабатываемой системы автоматической рубрикации, основу которой составляет
авторская технология классификации документов. В рамках данной технология предпринимается попытка гармоничного сочетания преимуществ методов, основанных на знаниях, и методов машинного обучения, которые
описывались в параграфе 1.2.
21
Архитектуру разрабатываемой системы автоматической классификации текстов упрощенно можно представить следующим образом (рисунок 1.3).
Рисунок 1.3 – Архитектура системы
На данном рисунке выделены три программных компонента, отвечающих за функциональность графического интерфейса пользователя (эксперта), сервисы, реализующие описываемую ниже технологию классификации
и базу данных, соответственно. Каждый из компонентов имеет интерфейсы,
описывающие протоколы взаимодействия выделенных программных компонентов.
Перейдем теперь к описанию разрабатываемой технологии классификации документов. Для наглядности будем использовать графические элементы нотации IDEF0.
Согласно общей постановке задачи кластеризации, сформулированной в параграфе 1.1, пусть имеется некоторое множество документов, подлежащих рубрикации, и заданное множество рубрик. Будем также предполагать, что для каждой из рубрик имеется некоторый словарь, состоящий
из слов и/или словосочетаний, характеризующих рубрику (рисунок 1.4).
Разрабатываемая технология классификация текстовых документов
состоит из следующих этапов:
1. Предварительная обработка исходного множества документов;
2. Классификация документов по методу k -ближайших соседей;
3. Пополнение лингвистических словарей;
22
Рисунок 1.4 – Контекстная диаграмма технологии
4. Формирование экспертами классификационных правил.
На рисунке 1.5 приводится последовательность выполнения и взаимосвязь выделенных этапов, а также необходимые потоки.
Рисунок 1.5 – Этапы технологии
На этапе предварительной обработки каждый документ из исходного множества разбивается на слова, при этом удаляются знаки препинания,
спецсимволы, а также последовательности символов не длиннее двух символов. В результате каждому документу сопоставляется так называемый
«мешок слов», т.е. множество всех слов документа. Разделителем слов считается пробел. При точном совпадении двух или более слов подсчитывается абсолютная частота, Различные формы одного и тоже слова считаются
отдельно. В дальнейшем для учета различных форм слова предполагается
использовать соответствующие алгоритмы [27].
Для каждого документа формируется векторное представление, на основе которого проводится классификация по методу k -ближайших соседей,
23
описанному в параграфе 1.2. Оценка качества полученной классификации
документов проводится на следующих итерациях.
Следует отметить, что реализация описанных двух этапов может проводиться разрабатываемой системой и в фоновом режиме, т.е. без участия
человека. Это достигается за счет использования метода машинного обучения — метода k -ближайших соседей.
Далее реализуются этапы, целью которых является пополнение исходных словарей за счет «мешка слов» классифицированных документов и
формирование с помощью экспертов классификационных правил. Опишем
их содержимое более подробно.
Пополнение исходных лингвистических словарей рубрик осуществляется в два шага. На первом шаге термины из словаря рубрики отыскиваются в «мешках слов» документов, отнесенных на предыдущем этапе к
этой рубрике. Если термины словаря встречаются в каком-либо «мешке»,
то запоминаются k слов, находящихся до и после термина. Параметр k задается пользователем, по умолчанию k = 2. Сформированное подобным
образом множество слов будем условно называть «множеством кандидатов». Обоснование описанной стратегии поиска совместно встречающихся
слов приводится в работе [27]. На втором шаге для каждой рубрики на основе экспертных суждений происходит пополнение исходных словарей за
счет слов из «множеств кандидатов».
На заключительном этапе технологии экспертами на основе пополненных лингвистических словарей формулируются классификационные
правила вида «Если...То...Иначе» (рисунок 1.2).
Построенные классификационные правила используются для оценки
качества рубрикации исходного множества документов, определенной на
втором этапе. Для этого следует провести повторную рубрикацию исходных документов по полученным классификационным правилам. Результат
классификации оценивается по критериям полноты и точности [20].
Как видно из описания, на заключительных этапах технологии используется подход к построению классификационных правил, основанный
на знаниях. Представляется, что подобное разделение, когда на начальных этапах автоматически проводится трудоемкая, с точки зрения человека
(эксперта), а затем уже промежуточный результат передается эксперту для
окончательного формирования классификационных правил, является рациональным. Данное обстоятельство, связанное со снижением занятости экспертов, можно считать достоинством разрабатываемой технологии. К недо-
24
статкам же следует отнести чувствительность результатов классификации
к качеству исходных лингвистических словарей. Представляется также, что
данную технологию классификации следует использовать для относительно небольшого количества документов. Иными словами, число документов,
подлежащих классификации в одну итерацию должно быть небольшим. На
практике подобные задачи классификации небольшого количества документов встречаются достаточно часто, например в библиотеке при определению рубрик для поступивших книг.
Итак, в данной главе обоснована актуальность выбранной тематики исследования, которая обуславливается стремительным ростом объемов
информации на фоне ограниченных возможностей человека по ее обработке. Приводится формализованная постановка задачи классификации текстовых документов, рассматриваются наиболее известные методы ее решения,
указываются их преимущества и недостатки. Описывается также авторская
технология классификации документов, ориентированная на снижение трудозатрат экспертов на создание классификационных правил. В следующей
главе приводится проектная документация на создание информационной
системы для рубрикации электронных ресурсов, в которой в качестве алгоритмического обеспечения будет использоваться описанная в данном параграфе технология классификации документов.
25
2 Разработка проектных решений
2.1 Анализ и разработка требований
В настоящей главе описываются проектные решения, которые могут
использоваться при создании информационной системы электронной библиотеки. Особое внимание уделяется реализации технологии классификации документов, описанной в параграфе в параграфе 1.3. Разработка проектных решений будет осуществляться в рамках унифицированного процесса [28, 29].
Унифицированный процесс (UP) разработки предполагает использование итеративной модели жизненного цикла, управляемой требованиями
к программному продукту и учитывающей риски проекта. Создаваемая при
этом система, строится на основе программных компонентов, связанных
четко определенными интерфейсами.
В рамках UP работа над системой начинается с создания модели предметной области, отражающей наиболее важные сущности и их взаимосвязи. Далее определяются требования к создаваемой системе и проводится
проектирование программных компонентов. На последующих стадиях UP
осуществляется реализация, тестирование, развертывание и конфигурирование. В данной работе основное внимание будет сосредоточено на моделировании предметной области, определении требований и проектировании.
Согласно [25], модель предметной области — это визуальное представление концептуальных классов или объектов реального мира в терминах предметной области. Здесь под концептуальным классом понимается
некоторое представление идеи или объекта. Для визуализации модели предметной области в рамках UP принято использовать диаграмму классов, подготовленную в нотации унифицированного языка моделирования (UML).
На диаграмме отображаются концептуальные классы и связи между ними.
Основываясь на описанной в параграфе 1.3 технологии классификации документов, построим следующую модель предметной области (рисунок 2.1). На данном рисунке представлены следующие концептуальные
классы: множество документов, документ, векторное представление, мно-
26
Рисунок 2.1 – Модель предметной области
жество рубрик, словарь, рубрика и классификационное правило. Для некоторых классов заданы атрибуты, например, для класса «Документ» атрибут «Текст» содержит содержимое документа. Для классов установлены
смысловые связи и соответствующие им кратности. Так, например, один
класс «Множество документов» включается в себя множество классов «Документ». Это отражено в условных обозначениях, указанных на полюсах
связи между данными классами. Далее, при проектировании программных
компонентов системы, выделенные концептуальные классы будут дополнены атрибутами и операциями, а соответствующие им связи уточнены согласно нотации UML.
На основе построенной модели предметной области, определим поль-
27
зователей создаваемой системы и соответствующие им функциональные
требования. Поскольку описываемая технология классификации документов может использоваться при создании различных прикладных систем, в
которых задача рубрикации является лишь частью функционала, то в дальнейшем будем определять только тех пользователей и их возможности, которые непосредственно относятся к использованию и сопровождению программной реализации технологии.
В UP для представления пользователей системы и соответствующей
им функциональности принято применять диаграмму вариантов использования. На данной диаграмме отображаются действующие лица, под которыми понимаются сущности, контактирующие с системой. Действующими
лицами могут быть как люди, так и другие системы. Для указания функциональности, закрепленной за действующими лицами, применяются прецеденты использования. По сути, прецеденты использования представляют
собой сценарии взаимодействий действующих лиц и системы. При этом
каждый такой сценарий должен быть не только отображен на диаграмме, но
и сопровождаться подробным текстовым описанием, называемым спецификацией варианта, последовательности действий пользователя и системы.
В качестве действующих лиц по отношению к программной реализации разрабатываемой технологии классификации могут быть выделены
«Аналитик» и «Эксперт».
В таблице 2.1 приводится краткое описание прецедентов использования для выделенных действующих лиц.
Диаграмма прецедентов представлена на рисунке 2.2.
Рисунок 2.2 – Диаграмма прецедентов использования
28
Таблица 2.1 — Описание прецедентов
Действующее лицо
Аналитик
Описание прецедента
Инициализирование классификации: определить
множество документов, подлежащих
классификации; задать рубрики и
соответствующие им словари; запустить
алгоритм классификации
Просмотр результатов классификации: визуально
оценить распределение документов по рубрикам
Оценка качества классификации: системой
формируется отчет о качестве построенной
классификации по критериям полноты и
точности
Эксперт
Задание классификационных правил: на основе
словарей или собственных суждений экспертом
для каждой рубрики задаются правила;
Просмотр результатов классификации: визуально
оценить распределение документов по рубрикам
Отбор терминов для словарей: отбираются
термины из векторного представления для
пополнения словарей и формирования
классификационных правил
Дадим необходимые пояснения к данной диаграмме.
Основными функциями действующего лица «Аналитик», как уже отмечалось ранее, являются «Классифицировать документы» и «Просмотреть
рубрики». При этом для прецедента «Просмотреть рубрики» установлена
связь типа расширения («extend») [28] с прецедентом «Редактировать рубрики». Содержательный смысл этой связи в данном случае таков: при просмотре рубрик аналитик может пожелать изменить их структуру, например
добавить новую или удалить существующую рубрику, изменить название
рубрики и т.д. При этом прецедент «Редактировать рубрики» не применяется действующим лицом непосредственно. Иными словами, прецедент «Редактировать рубрики» следует рассматривать как прецедент, реализуемый
системой.
29
Для действующего лица «Эксперт» основными функциональными
возможностями являются «Создать словарь», «Просмотреть рубрики» и
«Сформировать классификационное правило». Прецедент «Просмотреть
"мешок слов≫> расширяет возможности двух из указанных вариантов использования и предназначен для работы с имеющими «мешками слов» при
отборе значимых терминов. У прецедентов «Создать словарь» и «Сформировать классификационное правило» также имеется связь типа включение
(«include») [28] с прецедентом «Просмотреть рубрики». Содержательный
смысл этой связи в данном случае таков: при создании словаря и формирование классификационного правила требуется обязательно указать рубрику,
для которой совершаются указанные действия.
При построении диаграммы прецедентов первоочередными являются
не графические, а текстовые описания сценариев использования создаваемой системы. Подобное текстовое описание в литературе [28] принято называть спецификацией прецедента. Содержимое спецификации прецедента
не регламентируется стандартом UML. Однако, в спецификацию рекомендуется включать следующую информацию:
– имя прецедента;
– ID прецедента;
– краткое описание — абзац, в котором изложена цель прецедента;
– актеры, задействованные в прецеденте;
– предусловия — условия, которые должны выполниться, чтобы прецедент мог осуществиться; это ограничения на состояние системы;
– основной поток — шаги выполнения прецедента;
– постусловия — условия, которые должны выполниться по окончанию
прецедента;
– альтернативные потоки — список альтернативных основному потоку событий.
В таблице 2.2 приведена спецификация прецедента «Классифицировать документы».
Аналогичным образом могут быть составлены спецификации для
остальных прецедентов.
Следует также заметить, что создание спецификаций трудоемкий и
ответственный процесс. Так, из практик консорциума OMG известно, что на
30
Таблица 2.2 — Спецификация прецедента «Классифицировать
документы»
Прецедент: «Классифицировать документы»
ID:1
Краткое описание: Прецедент реализует классификацию
документов по имеющимся рубрикам
Действующие лица: Аналитик
Предусловия: пользовать в статусе аналитика активизирует
соответствующую функцию
Основной поток: пользователь выбирает документы, подлежащие
классификации и нажимает кнопку «Классифицировать»; система
выполняет реализованный алгоритм классификации; система
отражает результаты классификации — дерево рубрик с
документами; пользователь сохраняет результат классификации
Постусловия: пользователем сохранена классификация
Альтернативные потоки: нет
подготовку спецификации одного прецедента следует выделять до 6 часов
рабочего времени аналитика.
После разработки диаграммы прецедентов переходят, как правило, к
построению диаграммы классов. В данном случае пректные классы не будут отличать от классов анализа, представленных на рисунке 2.1.
Итак, в данном параграфе проведено моделирование предметной исследуемой предметной области, построена диаграмма прецедентов, определены проектные классы. В следующем параграфе описывается программная реализация разработанных проектных решений.
31
2.2 Программная реализация проектных решений
Одним из практических приложений разрабатываемой технологии
классификация текстов, как уже отмечалось выше, является использование ее
в работе системы электронной библиотеки. В данном параграфе приводится
описание созданной информационной системы управления электронным ресурсами, разработанной на основе проектных решений параграфа 2.1 и технологии классификации, описанной в параграфе 1.3. Следует отметить, что
отдельные компоненты данного программного не доработаны, поскольку акцент был сделан именно на апробацию технологии классификации, а сам
проект по созданию электронной библиотеки выходит за рамки настоящей
выпускной квалификационной работы.
Дадим краткое описание создаваемого приложения. Приложение предназначено для управления электронными ресурсами – книгами. Основной
функциональный набор системы определялся исходя из потребностей пользователя – преподавателя высшего учебного заведения (таблица 2.3).
Таблица 2.3 – Функциональные возможности электронной библиотеки
Пользователь
Краткое описание
1.
Управление рубриками каталога: добавле-
ние/удаление рубрики, переименование, создание подрубрики;
2.
Добавление новых электронных изданий в
каталог: классификация текстового докуменПреподаватель
та;
3.
Поиск и просмотр электронных ресурсов;
4.
Генерирование библиографического спи-
ска для заданного набора источников;
5.
Аннотирование электронных ресурсов;
6.
Формирование выборки ресурсов по за-
данным критериям.
32
Графический интерфейс главного окна разрабатываемой системы электронной библиотеки представлен на рисунке 2.3.
Рисунок 2.3 – Графический интерфейс главного окна
В данном окне отображается каталог электронной библиотеки, а также
отдельные функциональные возможности из таблицы 2.3. Рубрики каталога
определены согласно разделам универсальной десятичной классификации
(УДК). Предусмотрены возможности создания новых и удаления существующих рубрик. В рубриках отражаются имеющиеся ресурсы – электронные
свободнораспространяемые версии научных изданий. К научным изданиям у
пользователя имеются возможности по добавлению, поиску, просмотру, аннотированию и удалению.
33
Следует отметить, что указанный в таблице 2.3 набор функциональных
возможностей не является полным, поскольку в настоящий момент требования еще уточняются, а также определяются другие пользователи системой.
Перейдем теперь к описанию реализации компонентов разрабатываемой технологии классификации (Приложение).
Разрабатываемая технологии классификация используется при добавлении пользователем новых изданий в каталог (рисунок 2.4).
Рисунок 2.4 – Функция «Добавление нового источника»
Схема классификации источника состоит в следующем. Для источника
формируется его текстовое описание в произвольной форме, например, краткая аннотация, имеющаяся, как правило, в каждой книге или целиком текст
введения или оглавления. Далее обязательным полем является «Ключевые
слова», в которое пользователь вводит ключевые слова для добавляемого ис-
34
точника. Согласно введенным ключевым словам по описанию источника
формируется «мешок слов». При этом с целью формирования «словосочетаний» используется алгоритм k-ближайших соседей по следующему принципу: если ключевое слово содержится в описании источника, то в «мешок
слов» включаются k слов, находящихся слева и справа от него. При реализации принималось k=1. Также анализировалась длина добавляемых слов: слова короче 2 символов не добавлялись. После этого для «терминов» из «мешка
слов» использовалась булева модель поиска: для каждого «термина» определялась абсолютная частота его вхождения в заранее сформированные словари рубрик. «Победителем» считалась рубрика, содержащая наибольшее количество «терминов». Пользователю выдаются ранжированный рекомендованный перечень рубрик для добавления. После выбора запись об источнике
перемещается в соответствующий раздел каталога.
Дальнейшее внедрение разрабатываемой технологии классификации с
данную систему электронной библиотеки связано, прежде всего, с созданием
возможностей формирования классификационных правил, отбора терминов
из «мешка слов» для словарей рубрик.
2.3
Управление проектом по созданию системы: календарное и
финансовое планирование
В рамках проекта по созданию спроектированной системы рассмотрим
модель календарной организации работ и распределение их по участникам
проекта, а также финансовую реализуемость проекта.
Рассмотрим, прежде всего, вопрос определения перечня возможных
работ и их распределения.
Согласно нормативной документации, в общем случае в ходе разработки системы принято выделять следующие работы: проведение анализа требований; организация заказа; проектирование системы; реализация системы;
тестирование и внедрение.
35
Декомпозиция основной цели проекта и ряда его работ на составляющие отражена в дереве целей проекта, которое изображено на рисунке 2.5.
Рисунок 2.5 – Дерево целей проекта
Можно отметить, что цели проекта четко определены, они имеют ясный смысл и находятся в области допустимых решений проекта. Результатом
выполнения проекта будет готовая к использованию система.
Для схематичного отражения взаимозависимости и последовательности
работ в практике проектного управления применяется сетевое планирование,
компонентом которого является сетевой график, представляющий собой расписание последовательности выполнения и взаимосвязи работ.
Для составления сетевого графика необходимо проанализировать последовательность и взаимозависимость работ, так как некоторые работы могут вестись параллельно.
Временные параметры сетевого графика рассчитываются по определенным правилам.
36
Общая продолжительность проекта является важным фактором при
управлении проектами, требующими проведения большого количества мероприятий. Общую продолжительность можно рассчитать по сетевому графику
при условии, что известна продолжительность каждого мероприятия, требуемого в соответствии с проектом.
Резерв времени – это количественный показатель подвижности определенного действия при условии обязательного завершения проекта в минимально возможные сроки.
На основе данных о перечне и продолжительности работ построили
модель сетевого графика и рассчитали его временные параметры (рисунок 2.6).
На сетевом графике в левый сектор кружка с событием записано ранний срок свершения события, в правый – поздний срок его свершения. В
нижнем секторе – номер события, в верхнем – резерв времени события.
Жирным шрифтом на графике представлен критический путь: 0-1-2-34-5-6-8-9-10-11-15-19-20-22-23-24.
Существует большое количество алгоритмов расчета сетевых графиков, как ручным, так и автоматическим способом.
Рассчитаем параметры сетевой модели табличным методом PERT ,
который используется при управлении проектами. PERT – это способ анализа
задач, необходимых для выполнения проекта. В особенности, анализа времени, которое требуется для выполнения каждой отдельной задачи, а также определение минимального необходимого времени для выполнения всего проекта.
При расчете сетевых моделей методом PERT продолжительность работ является случайной величиной, подчиняющейся собственному закону
распределения, а значит, обладающей собственными числовыми характеристиками. Такими характеристиками являются средняя продолжительность
работы
и
дисперсия
оценки
продолжительности
работы
.
37
Рисунок 2.6 – Сетевой график
38
Исходными данными для расчетов служат экспертные оценки продолжительностей работ:
 оптимистическая оценка
, то есть оценка продолжительности работы i-j
при благоприятных условиях;
 пессимистическая оценка
, то есть оценка продолжительности работы
i-j при неблагоприятных условиях;
 наиболее вероятная оценка
нв
, то есть оценка продолжительности работы
i-j при нормальных условиях.
Средняя продолжительность
сти
и дисперсия оценки продолжительно-
каждой отдельной работы определяются по следующим форму-
лам:
=
+4
нв
+
,
6
−
6
=
.
Рассчитаем среднюю продолжительность каждой из работ и ее дисперсию (таблица 2.4). Для этого проставим пессимистическую и оптимистическую продолжительность работ, а за наиболее вероятностное значение
продолжительности работ возьмем данные продолжительности выполнения
работ по графику.
Таблица 2.4 – Средняя продолжительность работ и ее дисперсия
i
j
t iо j
t iнв j
t iп j
t iср j
 i2 j
0
1
2
3
4
5
6
6
8
9
1
2
3
4
5
6
7
8
9
10
7
3
3
3
1
5
10
6
3
1
9
5
5
5
1
7
13
8
5
1
11
7
7
7
2
9
15
10
7
2
9,00
5,00
5,00
5,00
1,17
7,00
12,83
8,00
5,00
1,17
0,44
0,44
0,44
0,44
0,03
0,44
0,69
0,44
0,44
0,03
39
10
0
10
10
11
12
13
14
15
19
20
20
22
23
11
12
13
14
15
16
17
18
19
20
21
22
23
24
28
22
22
17
12
10
10
7
7
16
3
9
2
1
31
25
25
20
15
12
12
10
10
20
5
11
3
1
34
27
27
22
18
15
15
12
12
23
7
13
5
3
31,00
24,83
24,83
19,83
15,00
12,17
12,17
9,83
9,83
19,83
5,00
11,00
3,17
1,33
1,00
0,69
0,69
0,69
1,00
0,69
0,69
0,69
0,69
1,36
0,44
0,44
0,25
0,11
Рассчитаем средние продолжительности работ по формуле
=
(
∙
)
= 9,00.
Аналогично рассчитываются средние продолжительности остальных
работ.
Рассчитаем дисперсии оценки продолжительности работ по формуле
=
(11 − 7)
6
= 0,44.
Аналогично рассчитываются дисперсии для остальных работ.
Вероятностные характеристики продолжительности отдельных видов
работ используются для определения параметров всего проекта в целом. Когда средняя продолжительность каждой работы определена, продолжительность проекта рассчитывается с помощью уже известных алгоритмов, только
при этом в качестве продолжительности работ используется средняя продолжительность. Значения всех аналитических параметров сетевого графика –
длины критического пути, определяющего продолжительность всего проекта,
и ранних и поздних свершений событий, резервов событий и работ – будут
такими же, если бы использовалась не средняя, а обыкновенная продолжительность работ. Но при этом необходимо понимать, что по своей сути все
40
параметры будут являться средними значениями соответствующих случайных величин.
Обобщенной вероятностной оценкой продолжительности всего проекта является средняя длина критического пути сетевого графика, которая
вычисляется как сумма всех средних продолжительностей работ, лежащих на
критическом пути:
=
= 137,5.
Ожидаемая продолжительность выполнения проекта (средняя продолжительность критического пути сетевого графика проекта –
) может
оказаться неприемлемой. Тогда вместо нее выбирается директивная продолжительность
дир
(в нашем случае, по сетевому графику выберем 137) и воз-
никает необходимость оценить вероятность того, что проект завершится не
позднее директивно установленного срока.
Для решения такой задачи необходимо:
Определить среднее квадратическое отклонение длины критического
=
пути
= 2,83, где  кр2 - дисперсия работы, лежащей на крити-
∑
ческом пути;
Рассчитать аргумент функции Лапласа Z
дир
−
=
= −0,18;
Найти значение функции Лапласа Ф(Z) (по таблицам стандартного
нормального распределения (таблицам интеграла вероятностей) или с помощью функции MSExcel НОРМСТРАСП())
Ф(−0,18) = 0,43 ;
Вычислить вероятность соблюдения директивных сроков выполнения
проекта
≤
дир
= + Ф( ) = 71,5% ≈ 72%.
41
Таким образом, вероятность того, что проект, сетевой график которого представлен на рисунке 15, с учетом введенных значений дисперсий критических работ завершится не позднее 137 дня, составляет около 72%.
В практике управления проектами возникает необходимость решения
и обратной задачи, то есть определения максимального срока выполнения
проекта с заданной вероятностью (с заданной надежностью). Продолжительность выполнения проекта
при таких условиях может быть найдена
следующим образом:
=
где
+
∙
,
- аргумент функции Лапласа, соответствующий значению
функции, равному  , то есть Ф (Z  )   .
Рассчитаем возможный срок выполнения проекта, сетевой график
которого представлен на рисунке6, с заданной надежностью  = 0,95.
Найдем аргумент функции Лапласа, соответствующий значения 0,95
(можно воспользоваться таблицей стандартного нормального распределения
или же формулой НОРМСТОБР() в программе MSExcel). Он равен – 1,64.
= 137,5 + 1,64 ∙ 3,83 = 142,16 ≈ 142.
Таким образом, при заданной вероятности 95% проект завершится за
142 дня, что соответствует 6 месяцам рабочего времени.
Определив работы по созданию системы, порядок их выполнения и
длительность, можно переходить к набору персонала, формированию матрицы ответственности по каждому виду работ и расчёту общей стоимости данного проекта.
Для того, чтобы рассчитать себестоимость системы необходимо суммировать все виды издержек производства: затраты на оплату труда, отчисления в социальные фонды, коммунальные и интернет услуги, услуги клининговой компании, арендную плату, содержание и обслуживание оборудования.
Для реализации данного проекта необходимы следующие работники:
 менеджер проекта – 1 человек;
42
 системный аналитик – 1 человек;
 программист – 4 человека;
 проектировщик – 1 человек;
 тестировщик – 3 человека;
 дизайнер – 1 человек;
 специалист по внедрению – 1 человек.
Заработные платы каждого специалиста представим в таблице 2.5.
Таблица 2.5 – Заработные платы специалистов проекта
Специалист
Заработная плата (руб/мес)
Менеджер проекта
25000
Системный аналитик
24000
Программист
30000
Проектировщик
25000
Тестировщик
27000
Дизайнер
18000
Специалист по внедрению
23000
В матрице ответственности, представленной в таблице 2.6, установим
степень ответственность каждого участника проектной команды за выполнение отдельных этапов и задач проекта. При составлении матрицы ответственности проекта используем методику RACI. Термин RACI (или ARCI) является аббревиатурой:
 Ответственный (Accountable) – полностью отвечает за исполнение
этапа/задачи, вправе принимать решения по способу реализации. В
качестве ответственного за задачу может назначаться только один
человек.
 Исполнитель (Responsible) – исполняет задачу, не несет ответственность за выбор способа её решения, но отвечает за качество и
сроки реализации. У каждой задачи должен быть хотя бы один исполнитель.
 Консультант (Consultbeforedoing) – оказывает консультации в ходе
решения задач проекта, контролирует качество реализации.
43
 Наблюдатель (Informafterdoing) – может оказывать консультации в
ходе решения задач проекта, не несет ответственности.
ИО
К
Выявление
функцио- 9-14
нальных требований
Н
ИО
К
Выявление технических 14-19
требований
Н
ИО
К
Согласование ТЗ
19-24
О
И
И
Оформление договора
24-25
ОИ
Проектирование
сис- 25-32
темной архитектуры
Н
К
ИО
Проектирование
про- 32-40
граммной архитектуры
Н
К
ИО
Проектирование интер- 40-45
фейса
Н
Документирование и со- 32-45
гласование проекта
О
Подготовка оборудова- 45-46
ния и раб.среды
Н
ИО
Программирование
46-77
Н
ИО
Тестирование
77-92
Н
Программирование
46-71
Н
О
И
И
К
ИО
ИО
Внедрение
Н
Дизайнер
Проектировщик
Аналитическое обследо- 0-9
вание
Тестировщик
Системный аналитик
Сроки
работ
Менеджер
Работы
Программист
Таблица 2.6 – Матрица ответственности
44
Тестирование
71-83
Н
ИО
Программирование
46-71
Н
Тестирование
71-83
Н
Программирование
46-66
Н
Тестирование
66-76
Н
Сбор и отладка
92-102
Н
Тестирование
102-122
Н
Документирование
122-127
О
Установка
122-133
О
И
Обучение
133-136
О
И
Сдача
136-137
О
И
ИО
ИО
ИО
ИО
ИО
ИО
И
Рассчитаем заработные платы специалистам с учетом их времени нахождения в проекте, т.е. з/п рассчитывается от количества отработанных
дней. Данные представим в таблице 2.7.
25000
25000
21913
22826
Специалист по
внедреИтого
24000
Дизайнер
25000
Тестировщик
Системный
аналитик
Проектировщик
Программист
1 месяц
(1-23 день)
2 месяц
(24-46 день)
3 месяц
(47-69 день)
4 месяц
(70-92 день)
5 месяц
(93-115 день)
6 месяц
(116-137 день)
Менеджер
Таблица 2.7 – Затраты на заработную плату по месяцам
74000
1304
3913
74957
25000
120000
3522
148522
25000
62609
54000
141609
25000
52174
45783
122957
25000
5217
24652
15000
69870
45
Кроме затрат на заработную плату специалистам проекта и отчислений
во все фонды, в проекте имеются и другие затраты. Отметим, что арендная
плата составляет 20000 руб.мес, однако на проект переносится лишь 10% от
данных затрат. Аналогично расчеты производятся по коммунальным платежам (5000 руб.мес), интернет услугам (3000 руб.мес) и услугам клининговой
компании (3000 руб.мес), которые в проекте отражаются лишь 50%. Амортизационные отчисления от офисной мебели и компьютеров, задействованных
в проекте, срок полезного использования которых 5 лет, а первоначальная
стоимостью 50000 руб. и 150000 руб. соответственно, составят 833,33 рубля
и 2500 рублей ежемесячно.
Рассчитаем себестоимость разработки с учетом инфляции, которую
выберем как 2,2% в месяц (таблица 2.8).
Таким образом, себестоимость проекта по созданию информационной
системы электронной библиотеки составит 891680 рублей.
Рассмотрим теперь вопрос анализа рисков проекта.
Наибольшее распространение при оценке риска инвестиционных проектов получили такие количественные методы, как:
 статистический метод;
 анализ чувствительности (метод вариации параметров);
 метод проверки устойчивости (расчета критических точек);
 метод сценариев (метод формализованного описания не определенностей);
 имитационное моделирование (метод статистических испытаний, метод Монте-Карло);
 метод корректировки ставки дисконтирования.
Остановимся подробнее на анализе чувствительности. При использовании данного метода риск рассматривается как степень чувствительности результирующих показателей реализации проекта к изменению условий функционирования.
46
Таблица 2.8 – Расчет себестоимости
Затраты
1 месяц
2 месяц
3 месяц
4 месяц
5 месяц
6 месяц
Всего
Заработная плата
74000
74957
148522
141609
122957
69870
631913
Отчисления ПФРФ (ставка 22 %)
16280
16490
32675
31154
27050
15371
139021
3774
3823
7575
7222
6271
3563
32228
Отчисления в ФСС (ставка 2.9%)
2146
2174
4307
4107
3566
2026
18325
Аренда помещения
2044
2089
2135
2182
2230
2279
12959
Коммунальные платежи
2555
2611
2669
2727
2787
2849
16198
Офисная мебель
852
870
890
909
929
950
5399
Компьютеры и ПО
2555
2611
2669
2727
2787
2849
16198
Интернет услуги
1533
1567
1601
1636
1672
1709
9719
Услуги клининговой компании
1533
1567
1601
1636
1672
1709
9719
107272
108759
204642
195910
171922
103175
891680
Отчисления в ФФОМС
(ставка 5.1%)
ВСЕГО:
47
В качестве результирующих показателей реализации проекта могут выступать: показатели эффективности (NPV, IRR, PI, срок окупаемости); ежегодные показатели проекта (чистая прибыль, накопленная прибыль). Анализ начинается с установления базового значения результирующего показателя (например, NPV) при фиксированных значениях параметров, влияющих на результат
оценки проекта. Затем рассчитывается процентное изменение результата (NPV)
при изменении одного из условий функционирования (другие факторы предполагаются неизменными). Как правило, границы вариации параметров составляют +/–10–15 %.
Наиболее информативным методом, применяемым для анализа чувствительности, является расчет показателя эластичности, представляющего собой
отношение процентного изменения результирующего показателя к изменению
значения параметра на один процент. Коэффициент эластичности рассчитывается по формуле
−
=
где
−
,
– базовое значение варьируемого параметра,
варьируемого параметра,
зового варианта,
– измененное значение
– значение результирующего показателя для ба-
– значение результирующего показателя при изменении
параметра.
Таким же образом исчисляются показатели чувствительности по каждому
из остальных параметров. Чем выше значения показателя эластичности, тем
чувствительнее проект к изменениям данного фактора, и тем сильнее подвержен проект соответствующему риску.
Затем на основании этих расчетов происходит экспертное ранжирование
параметров по степени важности (например, очень высокая, средняя, невысокая) и построение так называемой «матрицы чувствительности», позволяющей
выделить наименее и наиболее рискованные для проекта факторы.
48
Анализ чувствительности позволяет определить ключевые (с точки зрения устойчивости проекта) параметры исходных данных, а также рассчитать их
критические (предельно допустимые) значения.
В случае инвестиционного проекта по созданию программного обеспечения наиболее важными к исследованию факторами являются, во-первых, сроки
реализации проекта, потому что любая задержка работ приводит к увеличению
затрат по всем остальным факторам, начиная от заработной платы рабочим (в
связи с переработкой по времени) и заканчивая арендой помещения, амортизацией оборудования и бытовыми услугами, во-вторых, заработная плата рабочим по проекту, потому что увеличение данного показателя приведет к росту
издержек на налоговые платежи, в-третьих, это уровень инфляции в стране, от
которого зависят цены на услуги и продукты.
Ранее исследуя время реализации проекта, был проделан анализ рискованности по задержке работ. Методом PERT было установлено, что с вероятностью 72% проект будет выполнен по предложенному сетевому графику, т.е. завершится за 137 дней. Однако, увеличивая вероятность завершения проекта до
95%, установлена задержка проекта на 5 дней, т.е. завершение произойдет на
142 день.
Проведем анализ чувствительности показателя NPV при изменении сроков работ на 5 дней. Так как общие затраты по проекту за 137 дней составляют
891680 рублей, то 1 день работ будет в среднем равняться 6509 рублям, тогда
задержка работ на 5 дней увеличит общие расходы на 32543 рублей. Рассчитаем
показатель эффективности проекта NPV при увеличении затрат на данную величину и при не изменении доходов (таблица 2.9). Показатель эффективности
NPV при новых затратах составил 79167 рублей.
Рассчитаем показатель эластичности NPV при изменении сроков работ на
5 дней
79167 − 111710
111710
=
= −8,0.
924223 − 891680
891680
Таким образом, при увеличении сроков разработки проекта на 1% результирующий показатель NPV уменьшится на 8,0%, что является существенным
49
изменением и свидетельствует о значимом влиянии фактора на показатели эффективности.
Таблица 2.9 – Оценка эффективности проекта
Время
Ставка дисконтирования
Расходы
Денежный
поток
Дисконтированный
денежный поток
0
1,00
-924222,5
-924222,5
-924222,5
1
0,97
134089,6
134089,6
130184,1
2
0,94
135948,4
135948,4
128144,4
3
0,92
255803,0
255803,0
234096,0
4
0,89
244887,4
244887,4
217579,3
5
0,86
214902,6
214902,6
185376,9
6
0,84
128968,5
128968,5
108009,0
Доходы
Перейдем к расчету показателя эластичности NPV при изменении заработной платы рабочим. Предположим, что заработная плата рабочих возрастет
на 5%, тогда общие суммарные затраты на заработную плату составят 663509
рублей, общие налоговые отчисления будут равны 199053 рублей, а общие затраты за весь проект – 932754 рублей. С такими изменениями NPV равен 70636
рублей. Найдем эластичность по формуле
70636 − 111710
111710
=
= −7,4.
663509 − 631913
631913
Таким образом, при увеличении заработной платы рабочим на 1% NPV
уменьшится на 7,4%. Данный фактор является существенным в определении
стратегий по минимизации и управлению рисками.
Рассчитаем показатель эластичности NPV при изменении уровня инфляции. Так как в стране инфляция имеет высокий уровень отклонения (размах), то
исследуем данный фактор при изменении на минус 20%, т.е. уровень инфляция
составит 1,8%. Тогда общие затраты по проекту равны 890707 рублей, а NPV –
112683 рублей. Эластичность составит
50
112683 − 111710
111710
=
= −7,98.
890707 − 891680
891680
Изменение данного фактора (уровня инфляции) на результирующий показатель NPV имеет также обратную зависимость, т.е. при снижении уровня
инфляции на 1% чистый дисконтированный доход возрастет на 7,98%.
Таким образом, подводя итог, можно проранжировать данные факторы по
степени рискованности. Самым рискованным для данного инвестиционного
проекта по созданию информационной системы оказался фактор времени реализации проекта. Для исключения данного риска необходимо постоянно контролировать этапы реализации проекта по сетевому графику и при увеличении
сроков на одних работах, по возможности, уменьшать время на других.
Следующим по рискованности фактором является уровень инфляции. К
сожалению, на данный показатель компания не может никак повлиять, однако,
при первичном расчете инвестиционного проекта следует более пессимистично
оценивать этот фактор, т.е. возможно искусственно завышая инфляцию, нежели
занижая.
Завершающим фактором рискованности в линейке выделенных и изученных, занимает фактор заработной платы.
51
Заключение
К основным результатам выпускной квалификаций работы можно отнести.
1. Систематизация знаний о задаче рубрикации текстовых документах и
методах ее решения.
В работе анализируется современное состояние дел в области решения
задачи рубрикации полнотекстовых документов, приводится общая постановка
данной задачи, рассматриваются общие направления и конкретные алгоритмы
ее решения. В результате проведенного анализа установлено, что наиболее эффективным решением задачи классификации текстовых документов является
сочетание методов автоматической и «ручной» обработки больших массивов
документов с последующим генерированием классификационных правил.
2. Технология классификации текстовых документов, основанная на использовании векторной модели и классификационных правил.
В рамках разработанной технологии классификации текстовых документов сочетаются методы машинной обработки полнотекстовых документов и методы экспертного составления классификационных правил.
3. Проектные решения на разработку системы электронной библиотеки.
В ходе выполнения процесса проектирования реализованы следующие
этапы: 1) проведено функциональное и объектно-ориентированное моделирование исследуемой предметной области; 2) выявлены требования к созданию
системы электронной библиотеки; 3) построена диаграмма классов; 4) составлены финансовая и временная модели реализации проекта по созданию информационной системы.
4. Программная реализация системы электронной библиотеки.
В среде программирования Delphi 6 реализована система проектируемой
электронной библиотеки, ключевым элементом которой является развиваемая в
работе технология классификации текстов.
Дальнейшим развитием настоящей работы может являться составление
модели онтологий для отдельных отраслей научного знания.
52
Список литературы
[1] Aggarwal, C. C. Data Mining: The Textbook / C. C. Aggarwal. — Springer,
2015. — 746 pp.
[2] Debole, F. An analysis of the relative hardness of reuters-21578 subsets:
Research articles / F. Debole, F. Sebastiani // J. Am. Soc. Inf. Sci. Technol. —
2005. — Vol. 56, № 6. — P. 584–596.
[3] Do Prado, H. A. Emerging Technologies of Text Mining: Techniques and
Applications / H. A. Do Prado, E. Ferneda. — Hershey, PA: Information
Science Reference — Imprint of: IGI Publishing, 2008. — 375 pp.
[4] Feature selection methods for text classification / A. Dasgupta, P. Drineas,
B. Harb [et al] // Proceedings of the 13th ACM SIGKDD International
Conference on Knowledge Discovery and Data Mining. — KDD ’07. — New
York, NY, USA: ACM, 2007. — P. 230–239.
[5] Feldman, R. Text Mining Handbook: Advanced Approaches in Analyzing
Unstructured Data / R. Feldman, J. Sanger. — New York, NY, USA: Cambridge University Press, 2006. — 423 pp.
[6] Hayes, P. J. Intelligent high-volume text processing using shallow, domainspecific techniques / P. J. Hayes // Text-based Intelligent Systems / Ed. by
P. S. Jacobs. — Hillsdale, NJ, USA: L. Erlbaum Associates Inc., 1992. —
P. 227–241.
[7] Hayes, P. J. Construe/tis: A system for content-based indexing of a database
of news stories / P. J. Hayes, S. P. Weinstein // Proceedings of the The
Second Conference on Innovative Applications of Artificial Intelligence. —
AAAI Press, 1991. — P. 49–64.
[8] Inductive learning algorithms and representations for text categorization /
S. Dumais, J. Platt, D. Heckerman, M. Sahami // Proceedings of the Seventh
International Conference on Information and Knowledge Management. —
New York, USA: ACM, 1998. — P. 148–155.
53
[9] Joachims, T. Text categorization with suport vector machines: Learning with
many relevant features / T. Joachims // Proceedings of the 10th European
Conference on Machine Learning. — London, UK: Springer-Verlag, 1998. —
P. 137–142.
[10] Joachims, T. Estimating the generalization performance of an svm efficiently / T. Joachims // Proceedings of the Seventeenth International Conference
on Machine Learning. — San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2000. — P. 431–438.
[11] Korde, V. Text classification and classifiers: a survey / V. Korde // International Journal of Artificial Intelligence & Applications. — 2012. — Vol. 3,
№ 2. — P. 85–99.
[12] Mining Text Data / Ed. by C. C. Aggarwal, C. X. Zhai. — New York, NY,
USA: Springer, 2012. — 535 pp.
[13] A review of machine learning algorithms for text-documents classification /
A. Khan, B. Baharudin, L. H. Lee, K. Khan // Journal of Advances Information Technology. — 2010. — Vol. 1, № 1. — P. 4–20.
[14] Sebastiani, F. Machine learning in automated text categorization / F. Sebastiani // ACM Computing Surveys. — 2002. — Vol. 34. — P. 1–47.
[15] Tcs: A shell for content-based text categorization / P. J. Hayes, P. M. Andersen, I. B. Nirenburg, L. M. Schmandt // Proceedings of the Sixth Conference
on Artificial Intelligence Applications. — Piscataway, NJ, USA: IEEE Press,
1990. — P. 320–326.
[16] Yang, Y. A re-examination of text categorization methods / Y. Yang,
X. Liu // Proceedings of the 22Nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. — New
York, USA: ACM, 1999. — P. 42–49.
[17] Автоматическая обработка текстов на естественном языке и компьютерная лингвистика / Е. И. Большакова, Э. С. Клышинский, Д. В. Ландэ
[и др.]. — М.: МИЭМ, 2011. — 272 с.
[18] Агеев, М. С. Методы автоматической рубрикации текстов, основанные
на машинном обучении и знаниях экспертов: Дис. . . канд. физ.-мат.
наук: 05.13.11. — М., 2004. — 136 с.
54
[19] Агеев, М. С. Автоматическая рубрикация текстов: методы и проблемы /
М. С. Агеев, Б. В. Добров, Н. В. Лукашевич // Учeн. зап. Казан. гос.
ун-та. Сер. Физ.-матем. науки. — 2008. — Т. 150, № 4. — С. 25–40.
[20] Агеев, М. С. Официальные метрики РОМИП’2009 / М. С. Агеев, И. Е.
Кураленок, И. С. Некрестьянов // Сб. трудов «Российский семинар по
оценке методов информационного поиска» / Под ред. И. С. Некрестьянова. — СПб.: НУ ЦСИ, 2009. — С. 175–185.
[21] Анализ данных и процессов / А. А. Барсегян, М. С. Куприянов, И. И.
Холод [и др.]. — 3-е изд., перераб. и доп. изд. — СПб.: БХВ-Петербург,
2009. — 512 с.
[22] Васильев, В. Г. Методы автоматизированной обработки текстов / В. Г.
Васильев, М. П. Кривенко. — М.: ИПИ РАН, 2008. — 304 с.
[23] Добров, Б. В. Автоматическая рубрикация полнотекстовых документов
по классификаторам сложной структуры / Б. В. Добров, Н. В. Лукашевич // Восьмая национальная конференция по искусственному интеллекту. 7-12 октября 2002, Коломна. — М.: Физматлит, 2002. — С. 178–
186.
[24] Кривенко, М. П. Проблемы разработки и внедрения технологий извлечения информации / М. П. Кривенко, В. Г. Васильев // Системы
высокой доступности 3-4. Т. 2. — М.: Радиотехника, 2006. — С. 6–21.
[25] Ларман, К. Применение UML 2.0 и шаблонов проектирования / К. Ларман. — 3-е изд. изд. — М.: Вильямс, 2013. — 736 с.
[26] Лукашевич, Н. В. Тезаурусы в задачах информационного поиска / Н. В.
Лукашевич. — М.: МГУ, 2011. — 512 с.
[27] Маннинг, К. Д. Введение в информационный поиск / К. Д. Маннинг,
П. Рагхаван, Х. Шютце. — 3-е изд. изд. — М.: Вильямс, 2011. — 528 с.
[28] Объектно-ориентированный анализ и проектирование с примерами
приложений / Г. Буч, Р. А. Максимчук, М. У. Энгл [и др.]. — 3-е изд.
изд. — М.: Вильямс, 2008. — 720 с.
[29] Якобсон, А. Унифицированный процесс разработки программного
обеспечения / А. Якобсон, Г. Буч, Д. Рамбо. — СПб.: Питер, 2002. —
496 с.
Приложение
Программная реализация технологии рубрикации документа
procedure TForm1.Button1Click(Sender: TObject);
var
Node:TtreeNode;
string_key, str1:string;
first_symb,
first_symb_Treeview,
key_word_Upper,
temp_word:string;
flag, i, j, code, l :integer;
stream1, stream2:TStream;
path_tuda_copy_annot, path_from,path_tuda:string;
Gen_Path, temp_kat, Nam_1, Nam_2, Name_File_Copy :String;
f1, f2, f3, f4, f5, f6:TextFile;
Index:array [1..4] of string;
s, TKO_DPI:string;
begin
setlength(File_Path,length(File_Path)+1);
setlength(Name_Path,length(Name_Path)+1);
setlength(Annote_Path,length(Annote_Path)+1);
setlength(Info_Path,length(Info_Path)+1);
temp_kat:='';
Gen_Path:=GetCurrentDir;
//edit11.Text:=Gen_Path;
for i:=0 to ListBox1.Count-1 do
begin
if ListBox1.Selected[i] then
begin
str1:='';
str1:=ListBox1.Items[i];
for j:=0 to TreeView2.Items.Count-1 do
begin
TreeView2.Items[j].Selected:=false;
if TreeView2.Items[j].Text=str1 then
begin
Node:=TreeView2.Items[j];
TreeView2.Items.AddChild(Node, Title_Boook);
temp_kat:=form1.TreeView2.Items[j].text;
end;
end;
end;
end;
key_word_Down,
for i:=0 to TreeView2.Items.Count-1 do
begin
if TreeView2.Items[i].Selected
then
begin
Node:=treeview2.Items[i];
TreeView2.Items.AddChild(Node, Title_Boook);
temp_kat:=form1.TreeView2.Items[i].text;
end;
end;
// Запоминаем только название файла
i:=0;
while (i<=length(Path_File_Copy)) do
begin
if Path_File_Copy[i]<>'\'
then
begin
Name_File_Copy:=concat(Name_File_Copy,Path_File_Copy[i]);
end
else
begin
Name_File_Copy:='';
end;
i:=i+1;
end;
// Устанавливаем нужный каталог
SetCurrentDir(concat(Gen_Path,'\Katalog'));
// Если выделенный каталог существует, то провести копирование файла
if DirectoryExists(TrimRight(temp_kat)) then
begin //
path_from:=Path_File_Copy;
path_tuda:=concat(GetCurrentDir,'\', TrimRight(temp_kat),'\', Name_File_Copy);
path_tuda_copy_annot:=concat(GetCurrentDir,'\', TrimRight(temp_kat));
stream1:=TFileStream.Create(path_from,fmOpenRead or fmShareDenyWrite);
try
stream2 := TFileStream.Create(path_tuda, fmCreate or fmShareDenyRead);
try
stream2.CopyFrom(Stream1,Stream1.Size);
finally
stream2.Free;
end;
finally
stream1.Free
end;
end;
SetCurrentDir(path_tuda_copy_annot);
//Сохранение аннотации
if DirectoryExists('Abstracts') then
begin
SetCurrentDir(concat(path_tuda_copy_annot,'\Abstracts'));
Assignfile(f1, concat(Name_File_Copy,'.txt'));
Rewrite(f1);
CloseFile(f1);
end
else
begin
CreateDir('Abstracts');
SetCurrentDir(concat(path_tuda_copy_annot,'\Abstracts'));
Assignfile(f1, concat(Name_File_Copy,'.txt'));
Rewrite(f1);
CloseFile(f1);
end;
form1.Memo4.Lines.SaveToFile(concat(Name_File_Copy,'.txt'));
SetCurrentDir(path_tuda_copy_annot);
//Ключевых слов в выбранный раздел
if DirectoryExists('Key_Words') then
begin
SetCurrentDir(concat(path_tuda_copy_annot,'\Key_Words'));
Assignfile(f2, concat(TrimRight(temp_kat),'.txt'));
for l:=0 to length(Key_Words)-1 do
begin
flag:=0;
Reset(f2);
while not Eof(f2) do
begin
string_key:='';
readln(f2, string_key);
if pos(TrimRight(Key_Words[l]),TrimRight(string_key))>0 then
flag:=1;
end;
Append(f2);
if flag=0 then
writeln(f2, TrimRight(Key_Words[l]));
CloseFile(f2);
end;
end
else
begin
CreateDir('Key_Words');
SetCurrentDir(concat(path_tuda_copy_annot,'\Key_Words'));
Assignfile(f2, concat(TrimRight(temp_kat),'.txt'));
Rewrite(f2);
for l:=0 to length(Key_Words)-1 do
writeln(f2, TrimRight(Key_Words[l]));
CloseFile(f2);
end;
//Установить текущим старый каталог
SetCurrentDir(Gen_Path);
//edit11.Text:=Gen_Path;
//Добавление названия книги в файл
AssignFile(f3, 'File_Name_Book.txt');
Append(f3);
Writeln(f3,Title_Boook);
Name_Path[length(Name_Path)-1]:=Trim(Title_Boook);
CloseFile(f3);
//Добавление пути к файлу
AssignFile(f4, 'File_Path_Book.txt');
Append(f4);
Writeln(f4, concat('Katalog\',TrimRight(temp_kat),'\', Name_File_Copy));
File_Path[length(File_Path)-1]:=Trim(concat('Katalog\',TrimRight(temp_kat),'\',
Name_File_Copy));
CloseFile(f4);
//Добавление пути к файлу аннотации
AssignFile(f5, 'File_Annote_Book.txt');
Append(f5);
Writeln(f5,
concat('Katalog\',TrimRight(temp_kat),'\','Abstracts','\',
concat(Name_File_Copy,'.txt')));
Annote_Path[length(Annote_Path)1]:=Trim(concat('Katalog\',TrimRight(temp_kat),'\','Abstracts','\',
concat(Name_File_Copy,'.txt')));
CloseFile(f5);
for i:=0 to TreeView2.Items.Count-1 do
TreeView2.Items[i].Selected:=false;
for i:=0 to ListBox1.Count-1 do
ListBox1.Selected[i]:=false;
for i:=0 to form1.TreeView2.Items.Count-1 do
begin
code:=0;
first_symb_Treeview:='';
//Если для текущего элемента дерева удается преобразование первых двух
символов в число, то это раздел, иначе книга
first_symb_Treeview:=Copy(form1.TreeView2.Items[i].Text,1,2);
Val(first_symb_Treeview, j, code);
if code<>0 then
begin
treeview2.Items[i].ImageIndex:=1;
treeview2.Items[i].SelectedIndex:=1;
treeview2.Items[i].TreeView.Repaint;
end;
end;
if checkbox4.Checked then
Index[1]:='T:' else Index[1]:='';
if checkbox5.Checked then
Index[2]:='K:' else Index[2]:='';
if checkbox6.Checked then
Index[3]:='O:' else Index[3]:='';
if checkbox3.Checked then
Index[4]:=concat(combobox3.Text,'dpi') else Index[4]:='';
AssignFile(f6,'Sluz_Inf.txt');
Append(f6);
for i:=1 to 3 do
if Index[i]<>'' then write(f6,Index[i]);
if Index[4]<>'' then writeln(f6,Index[4]);
CloseFile(f6);
for i:=1 to 4 do
if Index[i]<>'' then TKO_DPI:=concat(TKO_DPI,Index[i]);
Info_Path[length(Info_Path)-1]:=Trim(TKO_DPI);
end;
1/--страниц
Пожаловаться на содержимое документа