УДК 519.767.6
А. М. Андреев, Д. В. Б е р е з к и н, К. В. Симаков
МЕТОД ОБУЧЕНИЯ МОДЕЛИ ИЗВЛЕЧЕНИЯ ЗНАНИЙ ИЗ ЕСТЕСТВЕННО-ЯЗЫКОВЫХ ТЕКСТОВ
Приведен метод обучения модели извлечения знаний из естественно-языковых текстов. Возможность обучения обеспечивается простотой правил извлечения и решеткой лексических ограничений, являющихся ключевыми элементами модели. Метод обучения формирует набор правил на основе обучающих примеров, подготовленных человеком-экспертом. Проведен ряд экспериментов, дана оценка зависимости основных показателей качества обученной модели от свойств исходной обучающей выборки.
Основное назначение технологий извлечения знаний из естественно-языковых текстов заключается в сборе представляющих интерес фактов по массиву текстов некоторой предметной области. Извлекаемые факты представляют собой структурированное описание событий и явлений, излагаемых в анализируемых текстах. Например, структурными элементами фактов могут быть имена/названия, участники события, их цели и средства, место события, его причины и последствия.
Одно из популярных применений технологий извлечения — это составление досье на представляющий интерес объект, информация о котором доступна из открытых источников, таких как тексты новостей электронных СМИ. Например, интересующим объектом может выступать некоторый политический деятель, досье на которого может включать такую информацию, как фамилия, имя, отчество, возраст, происхождение, образование и т.д. Аналогичным образом выполняется разведка в коммерческих целях, когда некоторая компания интересуется активностью конкурента, действия которого освещаются в СМИ. В данном случае извлечению подвергаются данные об анонсируемых продуктах конкурента, сделках с другими участниками рынка, изменениях, происходящих на руководящих должностях, а также о по-глощених и слияниях других компаний. Вместе с тем, компания может интересоваться собственным информационным портретом, отражаемым СМИ. Этот портрет, кроме досье, может содержать элементы, учитывающие отношения потребителей к продвигаемым компанией брендам.
Основной проблемой при построении системы извлечения является обеспечение должной полноты и точности модели. В большинстве
случаев модель извлечения представляется правилами извлечения, описывающими условия, которым должны удовлетворять фрагменты текста, чтобы из них было выполнено извлечение. В идеальной системе правила извлечения должны охватывать все возможные фрагменты текстов, подлежащие извлечению. Составление правил человеком-экспертом вручную в большинстве случаев требует больших трудозатрат, кроме того, приводит к появлению правил, противоречащих друг другу. Такие проблемы связаны с тем, что эксперт не в состоянии запомнить все правила, которые он уже составил, и все фрагменты текстов, которые эти правила охватывают. Зачастую правила, составленные таким образом, оказываются недостаточно полными и охватывают только фрагменты текстов, которые известны эксперту, но не охватывают аналогичные фрагменты, с которыми ранее эксперт не сталкивался. Возможна и противоположная ситуация, когда эксперт составляет слишком обобщенные правила, так что на практике они ошибочно покрывают фрагменты, существование которых изначально не было учтено экспертом. В таком случае имеет место низкая точность правил. Для решения указанных проблем целесообразно использовать методы машинного обучения, позволяющие автоматически формировать правила извлечения по обучающим примерам, подготовленным экспертом.
В настоящей работе описан метод обучения для разработанной ранее модели извлечения, кроме того, приведены результаты экспериментов, проведенных над текстами из разных предметных областей, дающие оценку точности и полноты обученных моделей и позволяющие судить о предложенном методе обучения.
Обзор методов обучения для задач извлечения. Методы обучения зависят от типа анализируемых текстов. Тексты можно разделить на структурированные, слабоструктурированные и неструктурированные [1]. Особенностью структурированных текстов является наличие специальных символов, не принадлежащих алфавиту естественного языка. Такие символы используются для явного определения структурных элементов в текстах, например с помощью HTML- или XML-тэгов. К слабоструктурированным относятся тексты, где некоторые извлекаемые знания явно выражены символами или цепочками символов, принадлежащими алфавиту языка. В работе [2] в качестве слабоструктурированных рассматривались тексты, описывающие свободные вакансии программистов в ИТ-компаниях. Описание каждой вакансии имело несколько полей: название компании, язык программирования, платформа, опыт работы и т.д. К неструктурированным относятся методы, извлекающие знания из текстов, авторы которых явно не выделяли знания при их написании. В статье изложен метод обучения, формирующий, в первую очередь, правила извлечения для
неструктурированных текстов, тем не менее, его можно использовать и для первых двух типов текстов.
Методы обучения разделяются по стратегии обучения на методы, действующие "сверху вниз" и "снизу вверх". Первые выполняют итеративную конкретизацию [3], формируя из общих правил более конкретные правила. Сложность таких методов применительно к естественному языку заключается в том, что при большой обучающей выборке примеров на первых шагах обучения приходится перебирать чрезвычайно большое число вариантов "расщепления" общего правила на более конкретные. Методы, действующие по принципу "снизу вверх" [4] формируют из конкретных правил более общие правила. Для обработки естественно-языковых текстов такие методы подходят лучше, поскольку число возможных вариантов обобщения текущих правил ограничено. Основным недостатком такой стратегии является "недоученность" модели. Это проявляется в том, что результат обучения представлен недостаточно общими правилами, что в итоге снижает полноту извлечения обученной модели.
По стратегии использования обучающих примеров методы разделяются на "сжимающие" и "покрывающие". Для первых [2] характерно использование всех обучающих примеров на каждом этапе обучения. Покрывающая стратегия предписывает отбрасывать обучающие примеры, для покрытия которых уже сформированы правила извлечения [5].
По способу представления обучающих примеров методы разделяются на следующие группы. Методы, использующие примеры, представленные в виде логики нулевого порядка (атрибутивная логика) [6]. Такие примеры ограничиваются описанием признаков текстовых элементов извлекаемых фрагментов, при этом не учитывается взаимосвязь между этими элементами. В таких методах полагается, что синтаксические шаблоны текстовых элементов извлекаемых фрагментов предопределены, поэтому синтаксические роли элементов могут быть представлены в виде соответствующих признаков (атрибутов). Методы, использующие примеры в виде логики первого порядка [5], учитывают не только признаки текстовых элементов, но и взаимосвязи между ними. Предопределенных синтаксических шаблонов не существует, они выводятся в процессе обучения и являются частью полученных правил извлечения.
По типу формируемых правил выделяют методы, формирующие правила, которые извлекают значения только одного слота целевой структуры [7], и методы, формирующие правила, способные извлекать значения всех слотов целевой структуры одновременно [8].
Анализ существующих подходов к извлечению знаний из текстов выполнен преимущественно на основе зарубежных разработок, что
связано с повышенным интересом именно зарубежных исследователей к данной теме. Наиболее популярной является серия конференций MUC (Message Understanding Conference), проводимая при поддержке DARPA (Defense Advanced Research Projects Agency) в целях совершенствования методов компьютерной разведки. В связи с этим большинство существующих моделей извлечения и методов их обучения ориентированы на языки западной Европы (в первую очередь, на английский), а также на некоторые восточные.
Именно поэтому, в настоящей работе была поставлена цель — разработать метод обучения предложенной ранее модели извлечения [911], обеспечивающей извлечение знаний из неструктурированных текстов и учитывающей особенности русского языка. Для обеспечения практической применимости при разработке метода обучения было отдано предпочтение обобщающей стратегии "снизу вверх", но для повышения полноты обученной модели предложена ее модификация.
Представление знаний и текста. В задачах извлечения знаний текст рассматривается как последовательность сегментов. Минимальными элементами сегмента являются слова, представляющие собой последовательности символов алфавита естественного языка, а также знаки препинания. Данная модель текста представима в виде алгебраической системы вида
TM =<T,W,t0, • >, (1)
где T — множество текстовых сегментов; W — множество слов; t0 — пустой текстовый сегмент; • — операция сцепления на T. В модели текста определены следующие свойства:
1. Vw £ W ^ w £ T — каждое слово является текстовым сегментом;
2. Vti £ T Л Vt2 £ T3!t = ti • t2 Л t £ T — операция сцепления позволяет из произвольной пары текстовых сегментов сформировать новый текстовый сегмент;
3. t0 £ T ЛМ £ T ^ t = t0 • t Л t = t • t0 — пустой текстовый сегмент является нейтральным элементом по отношению к операции сцепления;
4. t1,t2 £ TЛ^ = t0 Л^ = t0 ^ t1 ^t2 = t2•t1 — некоммутативность операции сцепления.
На основе приведенных свойств модели можно сделать следующие выводы:
1. Vt £ T ^ t = w1 • ...• wn: Wi £ W Л Wi £ t — любой текстовый сегмент может быть представлен в виде сцепления слов;
2. Поскольку слова являются неделимыми сегментами, то удобно измерять длину сегментов в словах, далее длину сегмента t будем обозначать Nt;
3. Длина пустого сегмента равна нулю, т.е. = 0.
В качестве модели представления знаний используются фреймы [12, 13]. Фрейм рассматривается как структура с поименованными элементами — слотами. Для дальнейшего изложения ограничимся описанием аксиоматической части фреймовой модели
ЕЛ =< Е, Б, Т, Яре, Явт >, (2)
где Е — множество фреймов; Б — множество фреймовых слотов; Т — множество значений слотов; С Е х Б — отношение, задающее связи между слотами и фреймами; С Б х 2т — отношение, задающее для каждого слота допустимую область значений.
Предположим, что ЕЛ задается человеком-экспертом, который определяет все возможные фреймы и составляющие их слоты. Также полагается, что все возможные значения слотов Т представимы в виде текстовых сегментов модели ТМ.
Модель извлечения. Детальное описание предлагаемой модели извлечения приведено в работе [11]. Приведем описание некоторых компонентов этой модели и проиллюстрируем их на примерах.
Компоненты модели. Ключевыми компонентами модели являются множество правил извлечения V, множество образцов Р и множество элементов образцов Я. Правила конструируются из образцов, а образцы — из элементов при помощи операции сцепления. Любой образец можно представить в виде сцепления п элементов — Ур € Р ^ р = г 1 о ... о гп. Любое правило извлечения представляется в виде сцепления трех образцов: префиксного, извлекающего и постфиксного — Vv € V ^ V = рь о рс о ра. Префиксный и постфиксный образцы могут быть пустыми (т.е. нейтральными по отношению к операции сцепления). В модели извлечения введена функция покрытия а: Т х V ^ {истина, ложь}. Данная функция для любого правила извлечения и любого текстового сегмента позволяет ответить на вопрос, покрывает ли данное правило данный текстовый сегмент. Функция покрытия также применима для образцов и их элементов. Правило V = рь о рс о ра покрывает текстовый сегмент, если этот сегмент представим в виде тройки • Ьс • ¿а, и каждый из этих сегментов покрывается соответствующим образцом из тройки рьорсора. Образец р = г1 о г2 о ... о гп покрывает текстовый сегмент, если этот сегмент представим в виде ¿1 • ¿2 • ••• • ¿п, и каждый покрывается соответствующим гг. Функция покрытия для элемента образца определяется внутренней структурой элемента. Если правило покрывает текстовый сегмент, то извлечению подлежит та часть текстового сегмента, которая покрывается извлекающим образцом правила. Отсюда следует связь между моделью извлечения и моделью фреймов.
1. Vs £ FA3Vs С V: Vv £ Vs ЛМ = tb • tc • ta £ T Л a (t, v) = = истина ^ tc £ Ti: sRST Ti — с каждым слотом s связан набор правил Vs такой, что любой текстовый сегмент, извлекаемый одним из правил, принадлежит области значений данного слота.
2. Vs1, s2 £ FA3Vs1, Vs2 С V: Vs1 П Vs2 = 0 — множества правил извлечения для каждого слота уникальны и не пересекаются между собой.
Чтобы дать интерпретацию функции покрытия для элементов образцов, рассмотрим структуру элемента
Т =< c,e, /1 ,/2 >, (3)
где с С W — лексическое ограничение; e С W — исключение лексического ограничения; /1 и /2 — минимальная и максимальная длины покрытия элемента. Лексическое ограничение c и его исключение e определяют множество слов c\e = {w}, которые могут встречаться в текстовых сегментах Tri = {t}, покрываемых элементом ri. Слова {w} берутся из множества W модели текста (1). Минимальная и максимальная длины покрытия /1 и /2 определяют допустимый диапазон длин текстовых сегментов Tri. Таким образом, чтобы элемент т покрывал текстовый сегмент t, необходимо, чтобы все слова, сцепление которых образует t, принадлежали множеству слов, разрешенных лексическим ограничением элемента, не попадали в исключения, а длина текстового сегмента должна находиться в диапазоне [/1, /2].
Поясняющие примеры реализации модели. В программной реализации модели используется XML-нотация для описания правил извлечения. Правило описывается XML-элементом <rule... >, содержащим пустые дочерние элементы с тэгами <ct/> и <ex/>. XML-элементы <ct/> описывают элементы префиксного и постфиксного образцов, XML-элементы <ex/> описывают элементы извлекающего образца. Данные элементы имеют атрибуты set и len. Синтаксис записи значения атрибута len следующий: len="[l1;l2]", где l1 и l2 — числа, обозначающие верхнюю и нижнюю границы задаваемого диапазона. Атрибут set имеет следующий синтаксис: set="A\B", где A и B — записи, задающие соответственно множества лексических ограничений c элемента образца и e — исключений из с. В случае, когда e = 0, вторая часть в записи set="A\B" отсутствует. Записи A и B имеют одинаковый синтаксис, допускающий комбинации из следующих вариантов.
1. Непосредственное перечисление допустимых к употреблению слов. Запись такого множества имеет вид "(word1|word2|... |wordn)", где wordi — i-е слово множества.
2. Перечисление концевых буквосочетаний слов, допустимых к употреблению. Запись такого множества имеет вид "(*end1|*end2|...
... |*endn)", где endj — i-е концевое буквосочетание слов множества. Концевое буквосочетание endj определяет множество всех слов, концевые буквы которых совпадают с endj.
3. Перечисление морфологических признаков слов, допустимых к употреблению. К морфологическим признакам относится часть речи и принятые в естественном языке значения грамматических категорий. Для русского языка такими категориями являются падеж, число, род, лицо и др. Запись такого множества имеет вид "{zi|z2|... |zn}", где Zj — i-й морфологический признак. Морфологические признаки связываются логической функцией "И". Таким образом, итоговое множество слов является пересечением множеств, соответствующих указанным в записи морфологическим признакам.
Кроме указанных способов, существуют и другие способы задания множеств лексических ограничений, например использование классификации слов, задаваемой тезаурусами [14, 15] или толковыми словарями [16, 17], но в данной работе они не применялись.
Возьмем в качестве примера текстовые сегменты: "Компания nVidia официально отложила день выпуска видеокарты... " и "Фирма Apple опровергла слухи о том... ". Оба примера представимы в виде tb•tc•ta, где подчеркиванием выделены сегменты tc, состоящие из одного слова и подлежащие извлечению. Значениями целевого слота являются названия компаний. Для первого примера tb = компания, tc = nVidia, ta = оф ициально отложила день. Для второго примера tb = ф ирма, tc = Apple, ta = опровергла слухи. XML-запись правила, покрывающего данные примеры, имеет следующий вид.
<rule name = "company_1"> ct len = "[1;1]"set = "{И|ЕД}"/> <ex len = "[1;1]" set = "{eng}"/> <ct len = "[0;1]" set ="{нрч}"/> <ct len ="[1;1]"set ="{сов|пхд|глг|ЕД}/> <ct len ="[1;1]"set ="{B}"/> </rule>
Приведенное правило состоит из пяти элементов. Оно представи-мо в виде pb о pc о pa, так что образец pb состоит из одного элемента <ct len="[1;1]" set="{И|ЕД}"/> и покрывает все текстовые сегменты, состоящие из одного слова, которое должно быть отнесено к категории единственного числа именительного падежа. Для данного примера такими сегментами являются tb = компания и tb = ф ирма. Извлекающий образец pc состоит из одного элемента, выделенного подчеркиванием, <ex len="[1;1]" set="{eng}"/>. Этот элемент покрывает все текстовые сегменты, состоящие из одного слова и записанные символами английского алфавита. В данном случае pc покрывает сегменты
tc = nVidia и tc = Apple. Постфиксный образец правила состоит из трех элементов, выделенных жирным шрифтом. Первый элемент образца <ct len="[0;1]" set="{Hp4}"/> покрывает текстовые сегменты длиной от 0 до одного, слова которых должны относиться только к категории наречий. Второй элемент <ct len="[1;1]" set="{сов|пхд| глг|ЕД}"/> покрывает текстовые сегменты, состоящие только из одного слова, которое должно относиться к категории переходных глаголов совершенного вида единственного числа. Последний элемент образца <ct len="[1;1]" set="{B}"/> покрывает текстовые сегменты длиной в одно любое слово, у которого допустимо выделить винительный падеж. Поскольку минимальная длина покрытия первого элемента равна 0, в тексте могут не встречаться сегменты, покрываемые этим элементом. Так, если положить ta = t1 • t2 • t3, то для первого примера ^"официально", ^="отложила", ^="день", тогда как для второго примера t1 = t0, t2="опровергла", t3="слухи".
Решетка лексических ограничений. Для того чтобы представленная модель извлечения была обучаемой единым требованием для всех способов задания лексических ограничений и их исключений является возможность представить все их множество C в виде алгебраической решетки (4). Для этого множество C должно быть частично упорядоченным и на нем должны быть определены операции наименьшей верхней и наибольшей нижней границы:
CL =<C, <, V, Л >, (4)
где C С 2W — множество лексических ограничений и их исключений; < — отношение частичного нестрогого порядка на C; V — операция наименьшей верхней границы; Л — операция наибольшей нижней границы. Наименьшая верхняя граница c1Vc2 для двух элементов c1 и c2 определяется как (cu = c1Vc2) ЛVc £ C: c < cu ^ (c < c1 V c < c2). Наибольшая нижняя граница c1Л c2 для двух элементов c1 и c2 определяется как (c = c1Лc2) ЛVc £ C : (c < c1 Л c < c2) ^ c < ci. Требование к представлению множества C лексических ограничений и исключений в виде решетки CL гарантирует существование метода обучения. Этот факт сформулирован и доказан авторами в виде теоремы "О поиске модели извлечения".
Метод обучения модели извлечения. Задача обучения заключается в генерации множества правил V модели извлечения EM. Разработанный метод обучения относится к методам, основанным на примерах, идея которых заключается в формировании правил извлечения на основе обучающих примеров, подготовленных человеком-экспертом.
Представление обучающих примеров. В задачах обучения [2, 5, 18, 19] принято использовать позитивные и негативные примеры. Дадим формальное определение обучающего примера. Предположим,
что имеется текстовый сегмент вида
¿с = ¿ь • ^ • ¿а- (5)
Предположим, что наверняка известно следующее:
3 (/, 8) е Ярв ЛЗ (8, Тг) е Явт: ¿с е Т,
т.е. у некоторого фрейма имеется слот, области значений которого принадлежит сегмент ¿в, являющийся частью ¿с. Тогда ¿с можно объявить позитивным примером проявления слота 8 в тексте. По аналогии с данными работ [2] и [37], в качестве негативных примеров принимается любой текстовый сегмент, не входящий в Тс.
Описание метода. Метод обучения использует обучающую выборку Тс = {¿с} примеров вида (5). Задача обучения — получить на основе Тс множество правил V модели извлечения ЕМ. Основополагающим критерием генерации правил извлечения является максимизация числа покрываемых правилом позитивных примеров и минимизация числа покрываемых правилом негативных примеров. Поэтому в процессе обучения на каждом шаге выполняется оценка качества полученной к данному шагу модели извлечения. Решения по модификации множества правил извлечения на каждом шаге принимаются только, если это приводит к возрастанию функции Е (V, Тс) = 1 / (у, Тс), где
vev
N — количество правил извлечения множества V; /(у, Тс) — функция качества отдельно взятого правила у. Для оценки качества отдельного правила в настоящей работе используется Е-мера [20]:
* (уТ )= (1 + в2) Р (у , Тс) Я (у , Тс)
с) Р (у, Тс)+ в2Я (у,Тс) ' (6)
где Р(у,Тс) — точность извлечения правила у; Я(у,Тс) — полнота извлечения правила; в — вес, определяющий значимость полноты по отношению к точности, в данной работе использовался в = 1.
Полнота и точность правила у оцениваются как Я (у, Тс) = а Те)
и Р (у, Тс) = е) соответственно, где а(у,Тс) — число коррект-
но извлеченных сегментов; Ь(у, Тс) — общее число извлеченных сегментов; ¿(у, Тс) — требуемое число извлеченных сегментов, которые должно покрыть в идеале правило. Поскольку в идеале каждое правило должно стремиться покрыть всю обучающую выборку, примем ¿(у, Тс) = кс, где N — число обучающих примеров. Тогда функция качества модели извлечения Е(V, Тс) запишется как
(7)
vgV 4 с/
Разработанный метод можно разделить на следующие этапы: формирование предельно конкретных правил, итеративное обобщение, деградация незадействованных примеров, генерация исключений. Рассмотрим первые два этапа метода обучения подробнее.
Формирование предельно конкретных правил. Формирование предельно конкретных правил выполняется на основе позитивных примеров вида (5), каждый такой пример объявляется правилом вида v = pb о pc о pa. Элементы каждого образца формируются на основе слов соответствующей части t|, tec и tea примера. Каждый элемент образца имеет вид r =< {w^}, {}, 1,1 >, где {w^} — множество из одного слова w,t, соответствующего (r — 1)-му элементу образца; {} — пустое множество исключений. Каждое полученное таким образом правило покрывает ровно один позитивный пример, на основе которого оно было получено.
Итеративное обобщение подразумевает создание новых, более общих правил на основе существующих. Процедура итеративна, поскольку на каждом шаге заменяет существующее множество правил новым множеством сформированных обобщенных правил так, что на следующем шаге предпринимаются попытки обобщения новых правил без участия старых. Данный подход к обобщению отличается от принятых стратегий "сжатия" и "покрытия", поскольку замене подлежит все текущее множество правил извлечения, а не отдельно взятые правила. Алгоритм итеративного обобщения представлен следующими выражениями:
V = 0
Vm = {vc} — предельно конкретные правила
пока Vm = 0 ^
VC = 0 — правила, полученные на данной итерации G = (Vm, Vg, Rmg) — граф обобщений: Vm — вершины, Vg — ребра
Vvj, Vj G Vm Vj = Generalize (vi5 Vj) V vij = 0
G [vi][vj ] = G [vj ][v] = vtj ^ v%Rmg vtj Л vj Rmg vj Vvi G Vm: 3G [vi][vj] = 0 ^ 3Ci=vi . ..vk ...vi — контур
Vvk, viGCj : l=k + 1 ^ 3vkt G Vg Л f (vkt, TC) = max f (vfes, T)
Vks&Vg
Vvk ,vk+i G Ci ^ Vc = Vc U G [vk] [vk+1 ] Л Vm = Vm\ {vk, vk+l} Vm = Vc V = V U Vc
повторить для нового Vm. (8)
Итеративное обобщение оперирует с множеством V правил, полученных к текущему шагу, и множеством Vm правил, обобщаемых на текущем шаге. Изначально множество V не содержит ни одного правила, множество Vm содержит предельно конкретные правила, полученные
на первом этапе обучения. Итерации выполняются до тех пор, пока удается пополнить множество V, которое и является результатом работы алгоритма. На каждой итерации формируется множество V обобщенных правил. Для текущего набора правил Vm формируется граф обобщений С, так что вершинам этого графа соответствуют правила текущего набора ^,ас каждым ребром связано правило у^ € Vg, полученное в результате парного обобщения правил у, и у^, вершины которых соединяет данное ребро. Для дальнейшего изложения удобно принять, что данный граф является ориентированным мультиграфом, у которого кратность каждого ребра равна 2, так что любую пару вершин у, и у^ в действительности соединяют два противоположно направленных ребра, с каждым из которых связано обобщенное правило у^. Пример такого графа с учетом указанных замечаний приведен на рис. 1.
Далее, согласно алгоритму (8) полученный таким образом граф анализируется на предмет наличия контуров. Для каждой вершины графа находят оптимальный контур С такой, чтобы для каждой вершины контура из всех ребер графа, инцидентных ей, контуру принадлежало бы ребро у^ с максимальным значением качества f (у^, Те). На рис. 1 приведен пример такого контура, составленный из вершин правил у1 и у2, соединенных ребром у12. При этом согласно определению контура выполняется условие: f (у12,Те) > f (у2з,Те) Л f (у12,Те) > > f (у25,Те). Обобщенные правила ук1, соответствующие ребрам контура С, заносятся в результирующее множество правил текущей итерации УС, правила ук и уг, на основе которых образовано ук1, помечаются как обработанные, чтобы исключить их из дальнейшего анализа графа. Оценка качества обобщенных правил f (у^,Те) выполняется согласно уравнению (6).
Для сокращения вычислительных затрат при расчете каждой оценки f (у^,Те) используется порог точности задающий минимально допустимую точность обобщенных правил, так что f (у^, Те) = 0, если
\ / /
Рис. 1. Пример графа обобщения
Р(V^, Те) < вр. Такой подход позволяет существенно ограничить число проверок покрытий правилом Vij. Так, если при проверке число покрытий правилом превысило значение
b(Vij ,Te) , (9)
Up
то правило можно дальше не проверять и принять его качество f (Vjj,Te) = 0. Выигрыш от такого подхода возможен, так как для расчета a(vij,Te) достаточно использовать только часть всей обучающей выборки Te, состоящую из позитивных примеров для текущего слота, тогда как для расчета b(vij, Te) в общем случае требуется определять покрытия по всей Te.
Алгоритм обобщения пары правил Generalize (vi,vj) используется при итеративном обобщении в выражениях (8). Пусть правила Vi и Vj представлены в виде троек образцов: vi = ры о pci ◦ Pai и Vj = Pbj ◦ Pcj ◦ paj. Обобщение выполняется независимо для каждой пары образцов (pbi,pbj), (pci,pcj) и (pai,paj). Результатом обобщения каждой такой пары являются множества префиксных (Pb), извлекающих (Pc) и постфиксных (Pa) обобщенных образцов. Для каждой тройки (pb,Pc,Pa)^Pb х Pc х Pa формируется правило V = Pb о Pc О Pa, если v удовлетворяет критерию (9), то выполняется расчет его качества (6). Из всех возможных троек v = pb о pc оpa выбирается единственное правило vij с максимальным качеством f (vij ,Te).
При обобщении пары образцов (pi, pj) независимо от их типа (префиксный, постфиксный или извлекающий) выполняется построение матрицы соответствий A (рис. 2), в которой со строками связаны элементы образца pi = ql о q2 о.. .о qm, а со столбцами — элементы образца Pj = rl о r2 о... о rn. Таким образом, размер матрицы составляет m х п.
Матрица заполняется следующим образом. Для любой пары элементов ri = < ci, 0,l\,12, > и qj = < Cj, 0, Ij, Ij >, при использовании операции наименьшей верхней границы решетки лексических ограничений, формируется наименьшее общее лексическое ограничение c = civcj. Для него определяется величина sij = 1 — ^^ P (w), значение которой записывается в соответствующую ячейку матрицы, где
Г1 П Гп
qi S11 ... Sv ... Sin
9' Sn ... Sij ... Sin
qm Sm1 Smj ... Smn
Рис. 2. Матрица соответствий образцов p и p
Рис. 3. Поиск маршрута, близкого к основной диагонали
р (ад) — вероятность встретить слово ад в тексте. Значения в ячейках тем больше, чем больше общих слов содержат исходные лексические ограничения с, и с,, а также чем меньше вероятности этих слов. Для полностью идентичных образцов р, и р^ длиной п элементов матрица А будет квадратной, при этом первые п ячеек с максимальными значениями будут расположены на основной диагонали матрицы. Поэтому поиск общего образца для анализируемой пары р, и р^ сводится к поиску среди ячеек матрицы А, для которых 8^ > 0, маршрута опорных точек, в геометрическом смысле близкого к эталонным точкам, равномерно размещенным на основной диагонали матрицы (рис. 3).
Для любой пары соседних ячеек 8^, 8к1 этого маршрута должно выполняться следующее условие: г < к Л ] < /. Это необходимо, чтобы сохранить порядок следования элементов нового образца таким же, как в исходных образцах. Для оценки геометрической близости маршрута к диагонали используется следующий критерий:
W (p) =
\
[¿f; jf]2 н (if,if) н (jf,jf),
(10)
где Ь — число ячеек в маршруте; А [г®; Л*] — значение в соответствующей ячейке матрицы; г®, Л — номера строки и столбца опорной точки; ¿е, Л — номера строки и столбца для эталонной точки; Н (г1, г2) =
— функция, подобная эн-
ii
¿1 + ¿2 1о^2 (i1 + г^ ¿1 + ¿2 1о&2 уг1 + ,
тропии, позволяющая оценить близость для произвольной пары ячеек матрицы. Для одинаковых значений (г1 = г2) индексов Н (г1, г2) = 1.
Ячейки найденного маршрута являются опорными для построения обобщенного образца. В итоговом образце элементы формируются поочередным применением следующих правил:
г =< с, 0, ¿1, ¿2 >: (с = с^Усг) Л /1 =
i2
i2
= min Л /2 = max ß,4) ; (11)
L
r =< c, 0,ll,l2 >: c =
(k-1 l—l isii\л i2 =
s=n+l q=m+l
(k—l l-l
£ is , £ l21. (12)
s=n+l q=m+l
Здесь ck, cl — лексические ограничения элементов qk и rl исходных образцов, которым соответствует опорная точка матрицы; ik, l\ — минимальная длина покрытий элементов qk и rl, lík, i2 — максимальная длина покрытий элементов qk и rl. Первый и последний элементы итогового образца формируются правилом (12). Правило (12) применяется к элементам, которые соответствуют ячейкам подматриц матрицы А, заключенных между соседними опорными точками. На рис. 4 эти подматрицы выделены темным цветом для примера, представленного на рис. 3.
В правой части рис. 4 приведена первая подматрица для данной матрицы. Если положить, что строка и столбец верхней левой опорной точки имеют номер m и n, а строка и столбец нижней правой опорной точки имеют номера l и k, то получим правило (12) формирования элементов итоговых образцов на основе подматриц. Назначение правила (11) — создать новый элемент на основе пары лексически близких (похожих) элементов, образующих опорную точку маршрута. Назначение правила (12) — сформировать новый элемент на основе "непохожих" элементов исходных образцов, заключенных в промежутке между двумя парами "похожих" элементов. Если опорные ячейки располагаются так, что k = n + 1 и l = m +1,то правило (12) создает пустые элементы с пустым лексическим ограничением c = 0 и числом повторений ll =0 и l2 = 0. Поскольку пустой элемент является нейтральным по отношению к операции сцепления, то такие элементы можно не добавлять к текущему образцу.
Результаты экспериментов. Для оценки качества разработанного метода обучения были проведены эксперименты с тремя обучаю-
1 -Т
0,9 -0,8 -0,7 -■ 0,6 -0,5 -■ 0,4 -0,3 -0,2 -■ 0
Рис. 5. Результат эксперимента для текстов новостей
щими выборками. Экспериментальной оценке подвергались: точность P = а/6, полнота R = a/Nt и F-мера извлечения F = 2а/6 + где а — количество корректных извлечений, выполненных обученной моделью; 6 — общее число извлечений, выполненных обученной моделью; — эталонное число корректных извлечений, которые должна сделать модель.
Обучение на текстах новостей. Тестовая выборка сформирована на основе ленты новостей Интернет-портала, посвященного сфере информационных технологий. Проверке подвергались значения слота "Название компании". Тестовая выборка содержит 3044 названия компаний-производителей продуктов информационных технологий. В обучении использовались выборки от 100 до 1000 обучающих примеров с шагом 100. На рис. 5 отражены графики зависимости оцениваемых показателей качеств от размера обучающей выборки.
Графики демонстрируют общий рост всех трех показателей качества от размера обучающей выборки, при этом разница между точностью и полнотой не превышает 0,05. Для 30% общего числа обучающих примеров F-мера обученной модели достигает значения 0,85.
Обучение на стенограммах заседаний. Выборка взята из базы данных стенограмм заседаний Совета Федерации Федерального Собрания РФ. Проверке подвергались значения слота "Фамилия члена Совета Федерации". Тестовая выборка содержит 1177 фамилий членов Совета Федерации. В обучении использовали выборки от 50 до 250 обучающих примеров с шагом 50. На рис. 6 приведены графики зависимости оцениваемых показателей качества от размера обучающей выборки, которые демонстрируют практически линейную зависимость показателей качества от размера обучающей выборки. Максимальная разница между полнотой и точностью достигает 0,1. В отличие от предыдущего теста, значение F-меры, равное 0,85, достигается для 25 % общего числа обучающих примеров.
Обучение на текстах почтовых адресов. Тексты взяты из базы почтовых адресов клиентов банка. Проверке подвергались значения
200 400 600 800 1000 1200 Число обучающих примеров
^^Точность ^^Полнота ^^Качество -
О 50 100 150 200 250 300
Число обучающих примеров
Рис. 6. Результат эксперимента для текстов стенограмм заседаний
слота "Название улицы". Тестовая выборка содержит 200 адресов. В обучении использовались выборки от 5 до 40 обучающих примеров с шагом 5. На рис.7 приведены графики зависимости оцениваемых показателей точности от размера обучающей выборки для данного теста, которые демонстрируют экспоненциальную зависимость показателя качества F от размера обучающей выборки. Разница между точностью и полнотой, начиная с размера выборки 30, не превышает 0,05. Особенность данного теста заключается в том, что для 20% общего числа обучающих примеров, модель достигает значения F-меры, близкого к 1.
Сопоставление с аналогами. Наиболее близкой к данной разработке является система Rapier [3]. Эта систем тестировалась на сообщениях об ИТ-вакансиях в различных компаниях, извлечению подвергались названия компаний, языки программирования и др. По заявлениям авторов, точность системы извлечения, обученной на 200 примерах, составляет 0,85, а полнота извлечения — 0,6. При этом значение F-меры составляет 0,7. Как утверждают сами авторы, для Rapier характерна высокая точность, но низкая полнота. Разница между этими параметрами составляет 0,25. Если сопоставлять данные показатели с нашими тестами, проведенными с текстами новостей, то предложенный метод обучения на 200 примерах обеспечит значения F-меры (см. рис. 5)
1 т
оЩ-00:0,7 0,6 -0,5 0,4 -0.3 -0,2 -0
Рис. 7. Результат эксперимента для текстов почтовых адресов
90 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. "Приборостроение". 2007. № 3
10 20 30 40 50
Число обучающих примеров
только 0,6, хотя разница между точностью и полнотой в этой точке не превышает 0,1. Такое низкое качество объясняется тем, что для Rapier точка в 200 примеров является точкой насыщения, после которой графики точности и полноты практически не изменяются, тогда как в нашем случае такой точкой можно считать отметку в 600 примеров. В этом случае F-мера обученной модели извлечения достигает 0,75, при этом разница между полнотой и точностью составляет не более 0,05. Это является основным преимуществом разработанной модели по сравнению с рассматриваемыми аналогами — малая разница между полнотой и точностью обученной модели в точке насыщения. Такое свойство обученной модели, в первую очередь, связано с предложенной стратегией итеративного обобщения процесса обучения. Вместе с тем, в нашем случае насыщение достигается позже, т.е. для качественного обучения требуется большее число обучающих примеров. Но этот факт нельзя считать недостатком в сравнении с Rapier, поскольку на этот показатель сильно влияет содержимое обучающей выборки, предметная область текстов и естественный язык, на котором эти тексты написаны. Графики на рис. 5, 6 и 7 это наглядно демонстрируют.
Другой алгоритм, использующий скрытые марковские модели (HMM), предложенный в работе [8], использовался для распознавания адресных объектов в почтовых адресах, представленных сплошными строками. Система [8] достигала значения F = 0,9 на 50 примерах американских адресов, и на 300 примерах индийских адресов. Как видно из рис. 7, предложенная в данной работе модель обучается на 40 примерах российских адресов для достижения аналогичного качества.
Поскольку в работах [2] и [8] проводились эксперименты с англоязычными выборками, которыми мы не располагаем, говорить о преимуществах представленного в настоящей статье метода было бы несправедливо. Здесь мы всего лишь хотим показать сопоставимость нашего подхода с подходами зарубежных исследователей.
Выводы. В работе описан метод обучения разработанной ранее модели извлечения знаний из текстов на естественном языке. Метод сохраняет работоспособность в условиях "зашумленности" обучающих примеров, т.е. примеров, содержащих как ошибки эксперта-составителя, так и естественно-языковые исключения. Модифицированная стратегия итеративного обобщения позволяет получить в результате обучения малую разницу между значениями точности и полноты модели при том, что общее значение F-меры сохраняется высоким.
Разработанный метод может быть использован в различных задачах, связанных с обработкой неструктурированных и слабоструктурированных текстов. Обученные по данному методу модели извлечения
могут применяться при мониторинге потоков новостей для извлечения конкретных данных по интересующим нас событиям (место, где событие происходит, участники события и др.). Другой областью применения обученных моделей является наполнение тезаурусов и онтоло-гий, когда в качестве источника знаний выступают репрезентативные естественно-языковые тексты предметной области.
В настоящий момент разработанный метод и обученные модели используются в системе семантического контроля текстов редактируемых документов для поиска несоответствий в текстах стенограмм заседаний Совета Федерации Федерального Собрания РФ. Кроме того, эта же технология используется в интеллектуальной системе выявления и исправления ошибок в почтовых адресах клиентов банка.
СПИСОК ЛИТЕРАТУРЫ
1.Jordi Turmo, Alicia Ageno, Neus Catala. Adaptive information extraction // ACM Computing Surveys. - Vol. 38, No 2.
2. Mary Califf, Raymond J. Moony. Bottom-up relational learning of matching rules for information extraction // Journal of Machine Learning Research 4, 2003.
3. Herve Dejean. Learning rules and their exceptions // Journal of Machine Learning Research 2, 2002.
4. Vincent Claveaue, Pascale Sebillot. Learning semantic lexicons from a part-of-speech and semantically tagged corpus using inductive logic programming // Journal of Machine Learning Research 4, 2003.
5. S c o t t B. H u f f m a n . Learning to extract information from text based on user-provided examples, ACM, 1996.
6. Jun-Tae Kim, Dan I. Moldovan, PALKA: a system for lexical knowledge acquisition. ACM'1993.
7. Ted Pedersen. A simple approach to building ensembles of naive bayesian classifiers for word sense disambiguation. ACM.
8. Vinayak Borkar, Sunita Sarawahi. Automatic segmentation of text into structured records. ACM, 2001.
9. Андреев А. М., Березкин Д. В., Симаков К. В. Особенности проектирования модели и онтологии предметной области для поиска противоречий в правовых электронных библиотеках // VI Всерос. научн. конф. RCDL'2004.
10. А н д р е е в А. М., Березкин Д. В., Р ы м а р ь В. С. Использование технологии Semantic Web в системе поиска несоответствий в текстах документов // VIII Всерос. научн. конф. RCDL'2006.
11. Андреев А. М., Березкин Д. В., Симаков К. В. Модель извлечения фактов из естественно-языковых текстов и метод ее обучения // VIII Всерос. научн. конф. RCDL'2006.
12. Udo Hahn, Kornel G. Marko. Joint knowledge capture for grammars and ontologies. ACM'2001.
13. Г а в р и л о в а Т. А., Червинская К. Р. Извлечение и структурирование знаний для экспертных систем. - М.: Радио и связь, 1992.
14. U d o Hahn. Knowledge mining from textual sources. ACM'1997.
15.George A. Miller. WordNet: A lexical database for English // Communications of the ACM, Vol. 38, No 11, 1995.
16. German Rigau, Jordi Atserias, Enekko Agirre. Combining unsupervised lexical knowledge methods for word sense disambiguation. ACM, 1996.
17. Yael Karov. Similarity-based word sense disambiguation. Computation Linguistics. - Vol. 24, No 1, 1998.
18.Shigeaki Sakurai, Akihiro Suyama. Rule discovery from textural data based on key phrase patterns. ACM, 2004.
19.Benjamin Rosenfeld, Ronen Feldman, Moshe Fresko TEG — A hybrid approach to information extraction. ACM, 2004.
20. C.J.van Rijsbergen. Information Retrieval. Buttersworth, 1979.
Статья поступила в редакцию 22.05.2007
УДК 004.942: 519.876.5
А. М. Андреев, Д. В. Б е р е з к и н, Р. С. С а м а р е в, В. В. Сюзев
АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ РАЗРАБАТЫВАЕМЫХ СИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ И ИНФОРМАЦИОННЫХ СИСТЕМ НА ИХ ОСНОВЕ С ИСПОЛЬЗОВАНИЕМ АЛГЕБРАИЧЕСКИХ МОДЕЛЕЙ
Рассмотрены аспекты моделирования производительности систем управления базами данных и информационных систем, приведены метод оценки характеристик на основе алгебры процессов и пример моделирования.
Моделирование характеристик систем управления базами данных (СУБД) и информационных систем (ИС) актуально в следующих случаях: создание новой СУБД, проверка допустимых режимов работы уже существующей СУБД и оптимизация работы существующих приложений СУБД.
Архитектура СУБД наиболее существенно влияет на производительность будущих систем, построенных с применением данной СУБД. Целесообразно моделировать работу СУБД и возможные последствия от введения каких-либо элементов архитектуры СУБД на ранних стадиях разработки. Кроме того, существует возможность оценить области применения СУБД по предельно допустимым режимам работы.
В случае, когда СУБД уже разработана, необходимо знать допустимые режимы ее эксплуатации (типы приложений и наборы операций, которые не приведут к снижению производительности), а также иметь возможность оценивать требуемые параметры оборудования, такие как