ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
ФАКУЛЬТЕТ ИСКУССТВ
Направление 230700 «Прикладная информатика»
Магистерская программа «Инженерия гуманитарных знаний»
АВТОРЕФЕРАТ
РАЗРЕШЕНИЕ КОРЕФЕРЕНЦИИ В ЗАДАЧАХ СЕРВИСА ЯНДЕКС НОВОСТИ
Выпускная квалификационная работа
магистра прикладной информатики
Научный руководитель практической части:
,
к. т.н., руководитель группы извлечения фактов «Яндекс»
Научный руководитель теоретической части:
,
д. т.н., профессор кафедры «Прикладная информатика»
факультета искусств СПбГУ
Рецензент:
,
к. ф.н., доцент кафедры «Прикладная лингвистика»
филологического факультета СПбГУ
Санкт-Петербург
2013
Промышленные системы автоматической обработки текста в основном используют два этапа анализа текста: морфологический и синтаксический. Однако многие задачи требуют использования следующего за синтаксическим этапа – семантического.
Одной из подзадач семантического анализа является автоматическое разрешение кореференции, иначе говоря, отождествление повторно упоминаемых в тексте объектов.
Актуальность настоящего исследования обусловлена тем, что без анализа кореференции сейчас невозможно решить ни одну задачу, связанную со смысловой обработкой текста.
Объект исследования – референциальные отношения имён в естественном языке.
Предметом исследования являются способы выражения референциальных связей между словами в тексте, а также методы их автоматического распознования. В процессе исследования были выделены формальные признаки, влияющие на референциальный выбор человека, придуман алгоритм автоматического выделения этих признаков в тексте, а также получена статистическая модель, определяющая в зависимости от набора признаков, есть ли между данными словами референциальная связь или нет.
Целью данной работы является разработка и программная реализация алгоритма автоматического установления референциальных связей между именами персон для русского языка. Предполагается, что данный алгоритм будет использоваться в сервисе Яндекс. Новости, а именно, в задачах кластеризации и автоматического аннотирования новостных текстов. Самыми значимыми объектами для решения таких задач являются именованные сущности (персоны, организации, географические объекты). Наибольший интерес представляют персоны, набор референциальных выражений, которые могут обозначать персону в тексте, значительно разнообразнее чем, например, набор референциальных выражений для обозначения компании.
Для достижения поставленной цели были решены следующие задачи:
1. Разработать алгоритм выделения в тексте цепочек, обозначающих персон
2. Обучить готовую статистическую модель на размеченных данных для получения классификатора референциальных выражений
a. Написать программу, выполняющую морфологическую, синтаксическую и частичную семантическую разметку текста
b. Собрать и разметить обучающую выборку
c. Провести машинное обучение на размеченных данных
3. Произвести оценку результатов
a. Собрать и разметить тестовую выборку
b. Произвести автоматический анализ референциальных связей обученным классификатором
c. Сравнить полученные результаты с канонической разметкой
Основным методом исследования является метод машинного обучения, используемый для обучения статистической модели и получения автоматического классификатора рефернциальных связей. Для выделения в тексте объектов, между которыми устанавливаются референциальные связи, а также для частичной разметки этих объектов, были написаны формальные грамматики, содержащие в себе набор правил, по которым осуществлялась обработка текста. Для определения набора параметров, по которым производилось машинное обучение, использовался метод изучения и анализа литературы, а также анализа эмпирических данных. Наконец, для определения наилучшего набора параметров для определения референциальных связей применялся метод сравнения классификаторов, построенных на различных наборах параметров.
В ходе исследования был произведён анализ специальной литературы, в которой рассматриваются основные методы автоматического разрешения кореференции. На западе эта тема сейчас активно исследуется, создаются корпуса с размеченными референциальными связями, проводятся соревнования систем разрешения кореференции, и ежегодно разрабатываются все новые системы, в то время как в России недостаток инструментов и корпусов приводит к тому, что прикладных систем разрабатывается крайне мало и в основном проводятся теоретические исследования разрешения кореференции.
Первые работы в этой области относятся к 70-ым годам XX века. К этому периоду относятся системы Т. Винограда, Й. Уилкса, Дж. Хоббса. В них широко использовалась лингвистическая и даже экстралингвистическая (энциклопедическая) информация о словах в тексте, а разрешение кореференции происходило с помощью системы правил.
В середине 80-ых годов, после почти десятилетнего затишья, исследования в этой области продолжились. Основная тенденция этого периода – объединение разных признаков, ранее использовавшихся по отдельности, в одну систему. Так появился алгоритм Э. Рич и С. Луперфой, объединяющий в себе такие факторы, как согласование по роду, согласование по числу, семантическая связность, новизна, глобальный фокус, катафора и т. д. Их примеру последовали другие исследователи: Дж. Карбонелл и , Р. Митков и др.
В 90-ые годы на смену системам, основанным на правилах, пришли статистические алгоритмы, которые опирались в первую очередь на закономерности, полученные из больших объёмов данных, таких как корпуса (И. Даган и А. Итай). Именно в этот период для разрешения кореференции стал использоваться метод машинного обучения ( Д. Конноли и Дж. Бергер, Ви Мэн Соон и др.).
Для русского языка стоит отметить последнюю книгу «Reference in discourse», в которой подробным образом рассматривается когнитивная природа явления кореференции, а также приводится ряд лингвистических признаков, отражающих эту природу. Несмотря на то, что в данной книге не предложено методов практической реализации автоматического разрешения кореференции, теоретический материал, изложенный в ней, представляет большой интерес при разработке таких систем. Из прикладных работ были рассмотрены исследования и . В первой предложен алгоритм построения статистической модели, разрешающей кореференцию, методами машинного обучения. Вторая полностью основана на правилах и работает довольно с ограниченным набором текстов.
Диссертация состоит из введения, двух основных глав, разделенных на параграфы и заключения.
Во введении сформулирована тема и задачи диссертации, обоснована ее актуальность, описаны методы и материал исследования.
Первая глава носит повествовательный характер и посвящена обзору методов и моделей разрешения кореференции, описанных в литературе. Задачей первой главы было дать краткий экскурс в историю развития вопроса, а также проследить эволюцию используемых методов и динамику результатов. Кроме того, в первой главе показано современное состояние дел в данной области, а также продемонстрировано, насколько российская наука отстаёт от западной по количеству систем и доступных инструментов для разрешения кореференции.
Вторая глава вторая глава включает в себя несколько логических частей.
В первом параграфе представлена расширенная постановка задачи, с подробным описанием входных и выходных данных и идеального желаемого результата.
Во втором параграфе описаны модели и методы решения поставленной задачи. В частности, в нём представлен обзор основных методов машинного обучения, с выводами по каждому методу о его применимости к решаемой задаче, а также описывается базовый набор параметров, которые будут использоваться при машинном обучении. В качестве параметров рассматриваются пары потенциально кореферентных между собой цепочек и набор признаков для каждой пары: расстояние, согласование, синтаксическая позиция, семантический класс и др.
В третьем параграфе изложены алгоритм, инструменты и методы программной реализации разрабатываемой системы. В качестве инструмента выделения в тексте цепочек использовался Томита-парсер – программа для извлечения структурированных данных (фактов) из текста на естественном языке. Для синтаксической и морфологической разметки был взят синтаксический парсер SyntAutom, разработанный в Яндексе. Для сведения результатов работы двух программ, а также для вычисления некоторых дополнительных признаков был написан код на языке Python. Наконец, для машинного обучения использовался готовый пакет программ Orange.
В четвертом параграфе производится сравнение результатов работы различных классификаторов, построенных разными методами машинного обучения на различных наборах параметров, и их оценка.
Заключение содержит в себе выводы о проделанной работе и предложения по совершенствованию разработанного метода.
Практическая значимость данной работы состоит в том, что разработанный прототип будет в дальнейшем переписан на более эффективный язык программирования и внедрён в алгоритмы кластеризации и автоматической аннотации в новостном сервисе Яндекс. Новости. Кроме того, на базе данного алгоритма могут быть разработаны другие, более универсальные системы разрешения кореференции для использования их в других областях и задачах.
Результатами данной работы является выполнение следующих задач:
1. Разработка общего алгоритма автоматического распознавания кореференции для именованных сущностей и для анафоры.
2. Разработка и частичная программная реализация алгоритмов, формирующих признаковое пространство для автоматического распознавания кореференции:
a. алгоритм выделения цепочек в тексте
b. алгоритм семантической разметки
c. алгоритм объединения результатов работы различных программ для одного текста в единый вектор признаков
d. алгоритм выбора из текста пар и построения для них вектора признаков, опираясь на признаки отдельных слов и их взаимное расположение
3. Выбор оптимального набора параметров и метода машинного обучения отдельно для задач разрешения кореференции именованных сущностей и разрешения анафоры.
4. Создание комплекса программ для автоматического распознавания кореференции персон в новостных текстах.


