Сущность и особенности устройства текста устного воспоминания. Описание используемых инструментов и механизм переработки тестов. Фильтрация реплик и выбор значимых предложений. Классификация полученных паттернов. Оценка работы программы и визуализация.
При низкой оригинальности работы "Исследование методов извлечения отношений с использованием онтологий на материале текстов личных воспоминаний", Вы можете повысить уникальность этой работы до 80-100%
Несмотря на это, автоматическое извлечение информации остается нетривиальной задачей, изза неоднозначности естественного языка, его вариативности и изменчивости: существует множество различных способов представить одну и ту же информацию в тексте, а интересующий нас факт может быть передан как в одном предложении, так и в нескольких абзацах, документах и т.д. Существуют четыре фактора, которые влияют на производительность и точность систем извлечения информации: а) уровень логических структутр, которые должны быть извлечены (кореферентность, отношения, события) б) природа корпуса текстов (социальные медиа, корпоративные отчеты, новостные интернет порталы и другие) в) жанр, или область, к которым принадлежат данные тексты г) язык, на котором написаны тексты (насколько он морфологически богат и в связи с этим сложен для автоматической обработки [Piskorski 2013]. Наиболее популярными алгоритмами, которые используются при извлечении информации, являются Скрытые Марковские Модели (СММ), как например в системе Nymble при извлечении именованных сущностей [Bikel 1997]; Conditional Random Fields (CRF) используются при установлении и извлечении отношений в тексте (Banko 2008); метод опорных векторов и т.д. Таким образом можно заключить, что связующим всего текста в данном корпусе является рассказчик, и именно вокруг него строятся все отношения в тексте, и он будет главной фигурой для извлечения информации. Такой разброс возможен только устной речи, отличая ее от хорошо выверенной и организованной новостной статьи. б) реплика может прерываться ведущим, при этом все равно представляя собой единое дискурсивное целое, не распадаясь на две автономные реплики, так как все отношения между элементами текста могут быть восстановлены только при наличии двух разрывных подреплик. в) Данные тексты содержат много фатических фраз, которые характерны для диалога, устанавливают контакт с собеседником и делают беседу более связной, при этом никак не влияя на содержание речи (например «Сейчас я расскажу вам»). г) Наличие отступлений и пояснений во время рассказа, уточнений. д) Стиль речи и лексика, которая может быть снижена в виду того, что это устная речь (например, «полицай»). е) Обилие местоимений и анафорических связей, где упоминание антецедента происходит гораздо реже, чем в письменной речи, так как он (антецедент) может являться центральным связующим на протяжении нескольких реплик.Данная работа представляет собой довольно редкое направление в извлечении отношений - извлечение отношений в текстах устных воспоминаний. Предложенный подход, основанный на классификации предложений и отборе тех, которые могут содержать отношения между героем беседы и персоной, может быть в дальнейшем использован в качестве базового подхода при исследованиях в данной теме ввиду относительной простоты его реализации и энергоемкости.
Введение
Извлечение отношений (relation extraction) и поиск фактов (fact extarction) в неструктурированных данных - одни из основных проблематик извлечения информации (information extraction), в которых данная область тесно соприкасается с компьютерной лингвистикой. На данный момент широко применяются различные методы к решению данных задач, которые включают в себя как классические подходы, основанные на правилах и на описании шаблонов, так и методы, полностью основанные на машинном обучении.
Большинство современных систем извлечения фактов и отношений создаются под определенный жанр текстов. Многие системы выбирают в качестве эталонных текстов новостной жанр, так как он обладает рядом черт, которые упрощают данную задачу, а именно относительно жесткой структурой текстов и единственности факта, вокруг которого строится повествование.
Так же данная работа тесно связана с областью электронного представления гуманитарных знаний (Digital Humanities), которая в последнее время получила широкое распространение и в настоящее время бурно развивается. Данная область ищет пути для нового представления канонических текстов и знаний, в связи с чем она связана как и с проблемами извлечения информации из неструктурированных данных, так и с их визуализацией.
Жанр текста, вокруг которого построена данная работа представляет собой устные воспоминания известных личностей, записанные и расшифрованные проектом «Устная история» (www.oralhistory.ru).
Цель данной работы - опробовать существующие методы для извлечения отношений на данных текстах, предложить варианты их усовершенствования и понять особенности и возможные проблемы данного жанра при извлечении информаций из такого рода текстов.
1. Обзор проблематики
1.1 Извлечение информации. State of the art
Извлечение информации - одна из областей автоматической обработки естественного языка, целью которой является поиск фактов и фактической информации в неструктурированном тексте [Piskorski 2013]. В последнее время с ростом потока неструктурированной информации в интернете данная область получила широкое распространение. Ее основная задача - найти и представить ценную информацию из текста в некоторой структурированной форме, попутно отсеивая нерелевантные факты.
Одной из особенностей данной области является то, что исследователь должен заранее понимать, какую именно информацию необходимо достать из представленного корпуса текстов, то есть необходимо работать с заранее заданным набором концептов. Именно поэтому почти все системы извлечения информации из текстов строятся вокруг одного специфического жанра. Несмотря на это, автоматическое извлечение информации остается нетривиальной задачей, изза неоднозначности естественного языка, его вариативности и изменчивости: существует множество различных способов представить одну и ту же информацию в тексте, а интересующий нас факт может быть передан как в одном предложении, так и в нескольких абзацах, документах и т.д. [Huttunen 2002]
В последнее время в данной области широко применяется поверхностный лингвистический анализ, который в отличие от глубокого лингвистического разбора текста позволяет быстро имплементировать системы извлечения информации, а также ускорить их адаптацию под новый тип текстов. Также такой подход гораздо больше подходит для обработки большого объема данных, так помогает значительно ускорить их анализ.
Существуют три основных направления извлечения информации, связанных с компьютерной лингвистикой: поиск именованных сущностей, разрешение кореферентности (coreference resolution), извлечение отношений (Relation extraction) и извлечение событий (Event extraction). Как уже было сказано выше данная работа посвящена извлечению отношений. Несмотря на то что количество интерсных и полезных отношений в тексте может быть неограниченное количество, на начальном этапе их набор всегда ограничен и заранее известен. Это отличает его от других направлений, таких как разрешение кореферентонсти, где теоретически возможно установить связи на всем тексте.
Существуют четыре фактора, которые влияют на производительность и точность систем извлечения информации: а) уровень логических структутр, которые должны быть извлечены (кореферентность, отношения, события) б) природа корпуса текстов (социальные медиа, корпоративные отчеты, новостные интернет порталы и другие) в) жанр, или область, к которым принадлежат данные тексты г) язык, на котором написаны тексты (насколько он морфологически богат и в связи с этим сложен для автоматической обработки [Piskorski 2013].
На данный момент существует множество подходов к автоматическому извлечению информации. Глобально их можно разделить на экспертные подходы и подходы, основанные на машинном обучении.
Классическим подходами считаются подходы, основанные на инженерии знаний (Knowledge Engineering) или экспертном подходе [Appelt 1999], при котором набор правил или шаблонов для извлечения релевантной информации создается экспертом при помощи исследования корпуса текстов и собственной языковой интуиции. Ниже представлены несколько первых систем, основанных на данном подходе: ATRANS [Llytinen 1986], JASPER [Andersen 1992] и SCISOR [Jacobs 1990]. Системы данного типа используют различные формализмы: контекстно-свободных грамматики, унификационные грамматики и конечные автоматы. Данный подход также привел к развитию программного обеспечения (GATE, Tomita) для формального описания паттернов.
Другой подход к извлечению информации, который в настоящее время получил широкое распространение - это использование машинного обучения. Как правило, такие методы широко используют онтологии и другие базы знаний для улучшения качества результатов. Наиболее популярными алгоритмами, которые используются при извлечении информации, являются Скрытые Марковские Модели (СММ), как например в системе Nymble при извлечении именованных сущностей [Bikel 1997]; Conditional Random Fields (CRF) используются при установлении и извлечении отношений в тексте (Banko 2008); метод опорных векторов и т.д.
Также в последнее время развиваются системы, которые позиционируют себя как независимые от области знаний и специфики обрабатываемых текстов. Одной из таких систем является KNOWITALL. Данная система использует небольшое количество простых заговтленных паттернов для установления первичных связей, а затем использует полученные данные для обучения и дальнейшего извлечения информации. Для работы данной системы не требуются ни предварительно разрешенная кореферентность, ни извлеченные сущности. Однако для нее важна частеречная разметка, а также необходимо заранее задать наименования искомых отношений. [Etzioni 2005]
1.2 Digital Humanities
Электронное представление гуманитарных знаний родилось при столкновении традиционных гуманитарных наук с компьютерными методами [Burdick 2012]. Digital Humanities занимается поиском новых методов в представлении, интерпретации и сохранении культурного наследия. Оно включается в себя множество методов и подходов, но центральными являются моделирование, анализ, редактура и кураторство современного гуманитарного знания. Во многом, появление данной области обязано развитию новых методов и способов коммуникации в цифровом обществе, так как она предполагает создание новых форм и инструментов для взаимодействия. Сегодня уже нельзя отрицать ту роль и то влияние, которое оказывает дизайн и визуальное представление данных на способы общения. Именно поэтому, понятная и хорошая визуализация данных является одной из важных областей в электронном представлении гуманитарных знаний. Однако не стоит воспринимать визуализацию как надстройку над текстом, которая помогает его лучше понять. В данном случае речь идет о новом способе коммуникации, который может существовать независимо от текста и имеет свои особенности.
Электронное представление гуманитарных знаний - это крайне прикладная область науки, которая в первую очередь направлена на создание некоторого конечного продукта, который является центральным для данного исследования. Можно сказать, что без конечного продукта, исследования в области Digital Humanities не существуют.
Таким образом, моделирование знаний в цифровую эпоху предполагает тесное сотрудничество представителей гуманитарных наук, технических специалистов и дизайнеров.
Сегодня широкое распространение получил анализ классических произведений литературы при помощи различных вычислительных инструментов. Все исследователи, работающие в данной сфере, отмечают тот факт, что невозможно применить существующие системы и методы к анализу художественных произведений, так как последние имеют ряд характеристик, которые не встречаются в текстах, с которыми обычно имеют дело системы извлечения информации. Например некоторые шаблоны могут быть крайне важными при анализе художественной литературы, но при этом они совсем не встречаются в интернет новостях. Также для художественного текста большую роль играет его графика (использование аббревиатур, сокращений, графическое выделение текста и другие). [Bonch-Osmolovskaya 2015].
В данной области в последнее время широкое распространение получило построение сетей для художественной литературы, которые отражают связи между персонажами и их роль в тексте, иллюстрируют важные кластеры для понимания произведений [Bodrova]. Одним из первых в данной области был Ф. Моретти, который предложил представить всех персонажей произведения в виде графа.
Существуют множество методов для построения таких сетей. Так Элсон использовал автоматическое определение прямой речи и диалогов, чтобы установить связи между говорящим в произведении. [Elson 2010]. Агарвал предложил концепцию «социальных событий» (social events), которые представляют собой события, которые происходят между людьми, где хотя бы один человек в курсе данного события. [Agarwal 2011].
Также широкое распространение получили квантативные методы, основанные на частотности упоминаемости персонажей в тексте. Кажется естественным, что если несколько персонажей часто встречаются в одних и тех же отрывках произведения, то связь между ними должна быть довольно сильной.
Построение сетей связей между персонажами, или связей между персонажами и локациями, расположение их в диахроническом порядке - все это один из видов «Distant Reading», удаленного чтения, - термин, который ввел Ф. Моретти в 1999 году [Moretti 1999].
Наибольшее распространение при построении социальных сетей для художественной литературы получили сети персонажей, conversational networks, где связываются участники ситуации. Так, например, при построении таких сетей для пьес Шекспира, Штиллер считал, что два персонажа связаны, если один из них, что-то говорит, а другой персонаж в это время присутствует на сцене.
2. Корпус текстов и их специфика
2.1 Проект «Устная история»
Одна из особенностей данного исследования является необычный корпус текстов, который представляет собой устные воспоминания, представленные в виде расшифровок бесед со значимыми людьми ХХ века. Материалом для данной работы послужила коллекция текстов, собранная ресурсом «Устная история».
Для начала необходимо пояснить, что такое устная история. Это «социальная технология исследования истории общества и конкретного человека (собеседника) сквозь призму биографического рассказа (беседу), сознательно зафиксированного заинтересованным и профессиональным слушателем (ведущим) с помощью технических средств. Устная история дисциплинарно оформилась, получила известность и область применения во второй половине ХХ века». Данное направление является важным элементом современного гуманитарного знания и представляет собой интересное направление для современных исследователей, например для этнографов.
Совмещение данного направления с современными технологиями расширяет понятие истории и делает ее более доступной, человечной и впечатляющей для широкой публики. Примером тому являются такие интернет ресурсы, как «Устная история» (http://oralhistory.ru/), речь о которой более подробно пойдет ниже, и «Я помню» (http://iremember.ru/), проект созданный в рамках научно-исследовательской работы А.В. Драбкина и представляющий собой коллекцию интервью с ветеранами Великой отечественной войны.
Проект «Устная история», пожалуй, является одним из самых известных ресурсов, посвященной проблематике записи, хранения и распространения устных воспоминаний и мемуарных бесед. Они представляют собой беседы по культуре, науке и повседневности ХХ века. Архив разработан и создается Фондом развития гуманитарных исследований «Устная история», основанным в 2010 году сотрудниками отдела устной истории Научной библиотеки МГУ Дмитрием Споровым и Михаилом Найденкиным.
Данный проект начался с публикации бесед, записанных в 1967-1982 гг. В.Д. Дувакиным, который является одним из первых устных историков в России. Стоит отметить, что большинство бесед, записанных Виктором Дмитриевичем, до сих пор нуждаются в расшифровке и пока не опубликованы данным ресурсом. Однако несмотря на это данный проект занимается сбором новых бесед со значимыми личностями ХХ века и регулярно расширяет свой архив медиазаписей.
На момент написания данной работы на портале «Устная история» было выложено 169 бесед. Все они были включены в корпус данного исследования.
2.2 Устройство текста устного воспоминания
Все 169 текстов, которые вошли в данное исследование, обладают схожей структурой в виду их размещения на одном портале. Каждый текст имеет в начале метаинформацию о беседе, в которую входят имена собеседников, а именно главного героя, с кем ведется беседа, и ведущего. Также всегда представлены краткое содержание беседы и набор тэгов, а именно список людей, мест, локаций, организаций и событий, которые упоминаются в данной беседе. Такая разметка текстов позволяет осуществлять быстрый переход к беседам со смежными темами и таким образом связывает весь набор текстов. Все тэги сопровождаются частотой их упоминания в данной беседе, что позволяет выделить основную тематику беседы.
Помимо этого все беседы сопровождаются дополнительным материалом: аудио- или видеозаписью беседы, набором фотографий, а также списком ресурсов (книг, архивов и сайтов), которые помогут читателю гораздо глубже постичь тему беседы. Материалы из данного списка не вошли в исследовательский корпус, так как не представляют интереса в рамках данной работы.
Основная часть каждой беседы - это расшифровка записи интервью. Именно она является главным материалом данного исследования и занимает в нем центральную часть. Как правило, большинство представленных расшифровок состоят из реплик двух, реже трех, человек (ведущего и интервьюируемого). Каждая реплика беседы помечена инициалами говорящего, что позволяет легко отличить рассказчика от ведущего. Это важно, так как основной смысл беседы содержится в репликах собеседника, а ведущий лишь поддерживает беседу и иногда направляет говорящего. Однако не стоит недооценивать роль ведущего, так как без него текст теряет связность и логическую структуру.
Как следует из вышесказанного, основной отличительной чертой данных текстов является то, что они представляют собой диалог. Диалоги и полилоги довольно редко выступают в качестве материала для извлечения информации в компьютерной лингвистике.
Помимо своей структуры, данные тексты обладают еще рядом черт, которые отличают их, например от новостных статей, наиболее популярного материала, который используется в современных исследованиях по извлечению информации. Во-первых, статьи обычно строятся вокруг одной глобальной темы, что зачастую упрощает работу с данными текстами, так как набор отношений, так или иначе будет связан с центральной темой. Записи бесед, которые используются в данной работе, редко строятся вокруг одной центральной темы, распадаясь на несколько подтем-воспоминаний, которые охватывают определенный период из жизни героя в ХХ веке. Таким образом можно заключить, что связующим всего текста в данном корпусе является рассказчик, и именно вокруг него строятся все отношения в тексте, и он будет главной фигурой для извлечения информации.
Данные беседы, несмотря на расшифровку и небольшую бережную редактуру, которую они проходят перед публикацией текстов на сайте «Устная история», чтобы стать более удобочитаемыми, представляют собой устную, а не письменную речь. Эта черта данного корпуса также выделяет данную работу от других в области извлечения информации.
Черты устной речи в данном корпусе прослеживаются в следующих аспектах, которые можно увидеть в тексте, приведенном в примере
Пример 1. Отрывок из беседы с Александром Семеновичем Капто от 12 мая 2012 года
А.К.: Сейчас я расскажу вам. Причем, чтобы подчеркнуть особую преданность немцам, он даже согласился добровольно отправить свою дочь в Германию, она уехала и не возвратилась. Потом вышла замуж за австралийца и оказалась в Австралии. А вот два сына… один сын…
Д.С.: …его?
А.К.: …пошел полицаем, а второй, старший, пошел в партизанский отряд. И однажды в украинских плавнях (плавни - это заросли большие-большие на берегах Днепра) в зимнее время, когда завязался бой между партизанами и нацистами, старший брат был ранен на озере.
Даже на таком небольшом кусочке текста можно проследить следующие черты устной речи: а) Довольно сильно разнятся длины предложений: часты короткие фразы, парцелляция, но при этом часто встречаются и длинные сложные предложения. Такой разброс возможен только устной речи, отличая ее от хорошо выверенной и организованной новостной статьи. б) реплика может прерываться ведущим, при этом все равно представляя собой единое дискурсивное целое, не распадаясь на две автономные реплики, так как все отношения между элементами текста могут быть восстановлены только при наличии двух разрывных подреплик. в) Данные тексты содержат много фатических фраз, которые характерны для диалога, устанавливают контакт с собеседником и делают беседу более связной, при этом никак не влияя на содержание речи (например «Сейчас я расскажу вам»). г) Наличие отступлений и пояснений во время рассказа, уточнений. д) Стиль речи и лексика, которая может быть снижена в виду того, что это устная речь (например, «полицай»). е) Обилие местоимений и анафорических связей, где упоминание антецедента происходит гораздо реже, чем в письменной речи, так как он (антецедент) может являться центральным связующим на протяжении нескольких реплик. Это также имеет отношение и к стилю речи устных бесед в целом. Если повествование ведется об одном человеке, то его имя может быть упомянуто где-то один раз в начале текста, и больше не упоминаться на протяжении всей беседы. ж) Большое количество местоимений первого и второго лица, которые практически не используются в новостных статьях, также характерны для данного корпуса. Как правило они относятся к одному человеку, который является героем беседы. з) допускаются междометия, которые часто встречаются в устной речи и совершенно не характерны для письменной (например, «Ну»).
Как уже было сказано выше, в данной работе использовался корпус объемом в 169 текстов. Среднее количество реплик в беседе - 198.92. Средняя длина текста беседы - 748.01 предложений. Средняя длина предложения в тексте - 7.21 слов. При подсчете данной характеристики корпуса учитывались только те предложения, которые входят в реплики говорящих, метаинформация и описания, которые также присутствуют в исходном тексте, не учитывались.
Таким образом, данные тексты устных воспоминаний содержать ряд черт, которые обычно не встречаются в текстах, использующихся при автоматической обработке текста. Именно изза их необычной структуры устные воспоминания были выбраны в качестве исследовательского материала для данной работы.
3. Предобработка текста и описание инструментов
3.1 Описание используемых инструментов
Данная работа предполагает довольно большую практическую работу, связанную с реализацией поиска отношений в текстах устных воспоминаний. Ниже будет приведен список инструментов, который использовался для реализации данного проекта.
Все программы, которые использовались в данной работе были написаны на языке программирования Python 3, который является одним из самых распространенных инструментов в компьютерной лингвистике и автоматической обработке естественного языка.
Для поиска дополнительной информации, за неимением онтологии, которая бы отвечала целям данной работы, а именно онтологии, которая бы включала в себя всех персон, упомянутых в данном воспоминании, была написана специальная часть программы с использованием API Wikipedia для поиска заголовков в онлайн энциклопедии.
Так как русский язык - язык с богатой морфологией, то для его успешного анализа требуется морфоанализатор. В данной работе использовался подключаемый модуль к языку Python 3 - PYMORPHY 2. Данный модуль отвечает за определение грамматической характеристики слова, его нормализацию, а также постановку слова в нужную грамматическую форму. При определении грамматической формы слова в данной работе всегда выбирался первый предложенный PYMORPHY 2 вариант, так как согласно заявлению разработчиков данного модуля он является наиболее вероятным. [Korobov 2015]
Для получения синсетов и списков синонимов для существительных, которые в дальнейшем будут использовать для классификации отношений применялся ресурс YARN (Yet Another Russian WORDNET) - большой открытый тезаурус русского языка.
Для построение графов - социальных сетей использовался подключаемый модуль к Python 3 - NETWORKX.
Для визуализации использовался Gephi, как наиболее простая и удобная в использовании программа, способная визуализировать красивым образом графы.
3.2 Предобработка текста
В предыдущей главе описывалась специфика выбранных для данного текста текстов. Теперь речь пойдет об особенности их предобработки.
Ниже на рисунке 1 представлена блок-схема, на которой отражены основные стадии предобработки текста. Затем каждая стадия будет описана отдельно.
Рисунок 1. Этап I: Предобработка текста
На вход поступает полный текст выкаченной интернет страницы, на которой выложена расшифровка записи беседы. Как уже было сказано выше, данный текст помимо самого разговора содержит еще некоторое количество метаинформации, которая не является объектом для поиска отношений в данной работе. Однако она может быть использована для лучшего понимания текста.
Сначала из исходного текста выделяется три части: имя ведущего и имя героя-собеседника, сама расшифровка беседы и список тэгов упоминаемых в беседе людей. Данные части выделяются довольно легко изза единообразного устройства интернет страниц для каждой беседы на сайте «Устной истории». Это позволило написать универсальный парсер для выделения вышеперечисленных частей, который одинаково успешно обрабатывает все 169 текстов, составляющих корпус данной работы.
Первая часть, где упоминаются имена ведущего и собеседника необходима в первую очередь для выделения центрального лица (героя интервью), относительно которого в дальнейшем будет осуществляться поиск отношений в тексте. Также при помощи установления имен говорящих можно образовать их инициалы, которые в дельнейшем используются для различения реплик ведущего и собеседника в беседе.
Сама по себе беседа извлекается отдельно как часть текста. Затем она бьется на строки, где каждая строка - это реплика, независимо от ее длины. После чего в начале каждой реплики инициалы, указывающие на говорящего, соотносятся с инициалами, полученными при выявлении имен ведущего и собеседника. Таким образом каждой реплике приписывается ее говорящий, и текст беседы передается в таком виде на следующий этап.
Как было сказано во второй главе, исходные тексты, взятые с ресурса «Устная история» содержат много метаинформации. Нас в данном случае интересуют тэги, представленные в каждой беседе. Они содержат в себе список мест, персон, организаций и ключевых слов, которые упоминаются в данной беседе.
Цель данной работы - поиск отношений в текстах. Показалось разумным сконцентрироваться на поиске межличностных отношений, о чем более подробно будет рассказано в следующей главе. Для поиска такого рода отношений необходим список персон, которые упоминается в тексте. Именно поэтому данная часть метаинформации - список тэгов персон - важна для осуществления данной работы. Только эти тэги выбираются из общего числа всех перечисленных упоминаний.
Стоит отметить, что в большинстве своем данный список персонажей покрывает интересующих нас людей в беседе, однако бывают случаи, когда он оказывается неполным. Это можно объяснить маленькой значимостью того или иного персонажа в рассказе героя. Сразу же необходимо отметить, что в данной работе принято считать, что все интересующие нас фигуры и личности, с которыми мы хотим установить связи и отношения с главным героем, перечислены в тэгах исходного текста. Поиск дополнительных людей не осуществляется ввиду их маргинальности в рамках данной беседы.
Тэги упоминаемых в беседе людей представляют собой список, в котором содержатся фамилия и инициалы человека и частота его упоминаемости в тексте. Естественно в рамках беседы, особенно в таком жанре как воспоминания, упоминание людей вида фамилия и инициалы никогда не встречается.
Стоит заметить, что большинство людей, речь о которых идет в данных беседах являются довольно видными личностями в истории ХХ века. Этот факт позволил установить имена для части перечисленных в тегах лиц. Для этого использовался API Wikipedia, который позволяет отправлять запросы в данную онлайн энциклопедию автоматически и напрямую из программы, реализованной для данной работы.
Таким образом, в Википедию отправлялся запрос, содержащий фамилию интересующего нас лица. В случае успешного поиска данного человека в энциклопедии программе возвращается список с заголовками статей. Стоит отметить, что в Википедии поиск происходит по неполному совпадению, что приводит к тому, что на данные запросы возвращается список однофамильцев.
Например, в списках тэгов у нас имеется «Булгаков М.А.». Из него мы выделяем фамилию по принципу, что после нее идет пробел, а не точка (данный принцип всегда срабатывает в рамках данного корпуса и списка тэгов, так как все упоминания людей записываются однообразно). Затем полученную фамилию мы отправляем в виде запроса на Википедию и получаем ответ в виде списка заголовков статей, содержащих данную фамилию. Так на запрос «Булгаков», список заголовков представлен в примере 2.
Пример 2. Список статей, которые возвращает Википедия на запрос «Булгаков».
["Булгаков", "Булгаков, Михаил Афанасьевич", "Булгаков, Федор Ильич", "Булгаков, Сергей", "Булгаков, Алексей Юрьевич", "Булгаков, Яков Иванович", "Булгаков, Сергей Васильевич", "Булгаков, Валентин Федорович", "Булгаков (Краснодарский край)", "Булгаков, Петр Семенович"]
Как видно из примера 2, список содержит 10 элементов, из которых 9 персон и 1 локация. Теперь необходимо выбрать нужный нам заголовок, которые соотносится с упомянутым в беседе человеком. Для этого сначала отсеиваются все заголовки, в которых нет указанной нами фамилии. В данном случае таких заголовков нет, но они возможны ввиду того, что Википедия ведет поиск по неполным совпадениям, а также анализирует текст статьи. После такой простой фильтрации, в каждом заголовке мы находим слова, начинающиеся с заглавной буквы и исключаем из них фамилию, по которой производился поиск. Два слова с заглавной буквы идущие подряд считаются потенциальными именем и отчеством. Затем из них выбираются заглавные буквы и составляются инициала вида: заглавная буква первого слова точка заглавная буква второго слова точка. Полученные инициалы мы соотносим с инициалами, указанными в тэге из исходного текста. Выбирается только тот заголовок, у которого полностью совпали фамилия и инициалы. Если таких заголовков оказывается несколько, то выбирается первый, так как считается, что Википедия ранжирует выдаваемые заголовки по значимости.
Таким образом из списка, приведенного в примере два выбирается заголовок "Булгаков, Михаил Афанасьевич". После этого данная последовательность передается дальше функции, которая формирует словарь, где ключом является тэг, указанный в тексте, а значением список возможных наименований персоны. Данный список получается путем комбинации из последовательности, полученных в ходе работы с Википедией.
В полученной последовательности выделяются три основных элемента: фамилия, имя и отчество. Из них формируются комбинации допустимые в рамках русского языка, а именно имя - отчество - фамилия; имя - фамилия; имя - отчество; фамилия; имя. Все эти комбинация складываются в список, который будет являться значением вышеописанного ключа. Так из «Булгаков М.А.» мы получим элемент словаря, показанный в примере 3.
Пример 3. Элемент словаря для персоны «Булгаков М.А.»
Безусловно, не все персоны имеют свои собственные статьи на Википедии. Если на запрос Википедия вернула нам пустой список или же мы не смогли найти нужного соответствия по фамилии и инициалам, то в значение для данного тэга у нас попадает только фамилия.
Такой подход не учитывает, например, вариативность имен в русском языке. Хорошим дополнением к нему будет словарь русских имен, где можно было бы найти возможные варианты имен.
Таким образом предобработка текстов данного корпуса заключается в выявлении текста беседы, имен героя и ведущего, а также списка персон, упоминаемых в данном тексте.
На следующий этап программы передаются текст беседы, где разделены реплики ведущего и собеседника, причем мы на данном этапе уже знаем, кому какая реплика принадлежит, а также словарь, который содержит в себе список возможных наименований в тексте для персон, упомянутых в тэгах данной беседы.
4. Характеристика и реализация
4.1 Фильтрация реплик. Выбор значимых предложений
Как было сказано в конце предыдущей главы, на вход следующему этапу обработки текста подается текст беседы, разбитый на реплики с указанием говорящих, и список персон, упоминаемых в данном тексте с вариантами того, какие формы они могут принимать в тексте.
Для начала необходимо определить, какие именно реплики содержат нужную нам информацию. Стоит напомнить, что цель данной работы - поиск и установление межличностных отношений между рассказчиком и людьми, которые встречаются в его повествовании. Таким образом, предоставляется логичным отфильтровать реплики, которые не имеют отношения к данному предмету.
Сначала все реплики индексируются и каждой присваивается порядковый номер, чтобы потом всегда можно было восстановить нужную часть текста. Затем оставляются те реплики, которые заключают в себе один из вариантов наименования персоны, которые были получены в ходе предыдущего этапа. Данный признак довольно специфичен и позволяет уже на этом этапе отсеять большую часть реплик.
После этого отфильтрованные реплики разделяются на реплики рассказчика и ведущего. В репликах рассказчика остаются только те, что содержат местоимения «я», «мой», «наш» и «мы». Это важно, так как отношения, которые нас интересуют, должны быть восстановлены к главному герою повествования - рассказчику. В репликах ведущего также осуществляется поиск местоимений, но уже второго лица - «ты», «твой», «вы» и «ваш». В данном случае, если находится реплика ведущего, удовлетворяющая всем вышеперечисленным условиям, берется следующая по порядку реплика - ответ рассказчика. Затем эти два списка реплик объединяются и дубликаты (случаи, когда двумя путями была получена одна и та же реплика) удаляются.
Так как русский язык - язык с богатой морфологией, для осуществления вышеприведенного поиска был необходим морфологический анализатор. Все реплики делились на предложения, те в свою очередь на токены. Из списка токенов удалялась вся пунктуация, а оставшиеся токены приводились к нормальной форме. Так как список персон был представлен в виде нормальных форм слов или их комбинаций, то поиск осуществлялся по полному совпадению токена или нескольких токенов. Поиск местоимений также осуществлялся уже по полному совпадению.
4.2 Кореферентность. Поверхностный подход
Известно, что для наиболее точного понимания речи при автоматической обработке текста требуется использовать ряд инструментов, которые позволяют осуществлять семантический анализ текста. Одним из таких инструментов является разрешение анафоры и установление отношений кореферентности.
Ввиду того, что при написании данной работы, в распоряжении автора не было готового инструмента по разрешению анафоры, было принято решение использовать поверхностный подход (shallow approach) для установления кореферентных связей.
Поверхностные подходы довольно распространены в современной лингвистике при решении прикладных задач, так как они позволяют сэкономить время, которое бы потребовалось для реализации того или иного функционала в полную силу. Несмотря на то, что такая реализация сказывается на качестве работы программы по сравнению с более глубокими подходами, ее результаты, как правило являются более или менее удовлетворительными для решения более крупной задачи.
Основным компонентом поиска анафорических связей в данной работе является поверхностный онтологический подход. Он был описан выше, как поиск полных имен в Википедии для героев, упомянутых в беседе. Такой подход позволяет получить ряд возможных наименований персон в беседе.
Стоит напомнить, что возможные наименования для персон формировались по схеме «имя - отчество - фамилия; имя - фамилия; имя - отчество; фамилия; имя». Первые четыре способа наименования, как правило, являются более или менее уникальными для отдельно взятого текста. Определенную проблему представляет собой лишь последний способ упоминания персоны в тексте - имя, ввиду того, что набор имен в русском языке довольно ограничен и совпадения персон по этому показателю в рамках текста одной беседы более чем вероятны.
Для решения данной проблемы, во-первых, при поиске исключались имена, которые входят в паттерны более высокого уровня, такие как «имя - отчество» и т.п. Этот простой способ уже позволяет отсеять большое количество ложных результатов. Во-вторых, если мы все-таки встретили имя, стоящее отдельно, оно восстанавливалось к ближайшему упоминанию персоны с таким именем. Данный подход верен в большинстве случаев.
При разрешении местоименной анафоры использовались схожий принцип. Все местоимения третьего лица единственного числа, за исключением местоимений среднего рода, восстанавливались к ближайшему упоминанию той или иной персоны. Единственным ограничением являлся род персоны.
Род персоны определялся в два этапа. Сначала проверялось заканчивается ли отчество на «-а» или на согласную. В итоге получалось три группы «женский пол», если фамилия заканчивалась на «-а», «мужской пол», если на согласную и «неизвестно» в оставшихся случаях. Такая проверка наиболее специфична для русского языка и в принципе можно было бы обойтись только ей, но, к сожалению, не у всех персон есть отчество, изза чего вводится второй этап проверки. Этим этапом была схожая проверка фамилий персон, попавших в группу «неизвестно»: если она оканчивалось на «-а», то персоне, приписывался женский пол, а в оставшихся случаях - мужской. Персоны, которые после этих двух этапов остались не расклассифицированными, допускают соответствие с местоимениями обоих родов.
Безусловно такой метод, имеет свои минусы, как довольно грубый. Наличие дополнительных ресурсов, таких как список вариантов имен, улучшили бы и расширили бы количество кореферентых связей в тексте.
4.3 Извлечение отношений. Паттерны и шаблоны
Для извлечения отношений в текстах устных воспоминаний наиболее рациональным показалось использовать инженерный подход, то есть подход, основанный на шаблонах и паттернах. Это объясняется спецификой данных текстов: их необычной диалоговой структурой, лексикой и стилем, о которых более подробно говорилось во второй главе данной работы.
Для поиска возможных паттернов производилась дальнейшая классификация реплик. Было выявлено шесть основных шаблонов, основанных на морфологической характе
Вывод
Данная работа представляет собой довольно редкое направление в извлечении отношений - извлечение отношений в текстах устных воспоминаний. Предложенный подход, основанный на классификации предложений и отборе тех, которые могут содержать отношения между героем беседы и персоной, может быть в дальнейшем использован в качестве базового подхода при исследованиях в данной теме ввиду относительной простоты его реализации и энергоемкости. Несмотря на это, полученные отношения являются довольно точными и описывают связи между рассказчиком и действительно важными для него персонами, с которыми у него действительно был лично знаком в том или ином ключе.
Также были описаны способы работы с таким видом текста, как «устные воспоминания», которые по большому счету представляют собой диалог с небольшими стилистическими особенностями.
Предложенные методы могут быть улучшены при дальнейших исследованиях по данной теме. Очевидно, что подключение новых модулей, таких как разрешение анафоры и установление отношений кореферентности, а также более точного и полного поиска сущностей должны принести прирост в количестве и качестве извлекаемых отношений.
Визуализация, полученная в ходе реализации данного проекта, может являться дополнительным сопровождением и медиаматериалом к текстам устных воспоминаний, представленных проектом «Устная история». Также было бы интересно организовать навигацию, а именно переход по беседам, в которых упоминаются связанные с данным героем персонажи.
Список литературы
1. Jakub Piskorski and Roman Yangarber. Information Extraction: Past, Present and Future. In T. Poibeau, H. Saggion, J. Piskorski, and R. Yangarber, editors, Multi-source, Multilingual Information Extraction and Summarization. Volume in the Series: Theory and Applications of Natural Language Processing. Springer-Verlag, Berlin & New York, 2013.
2. Huttunen, S., Yangarber, R., Grishman, R.: Complexity of event structure in information extraction. In: Proceedings of the 19th International Conference on Computational Linguistics (COLING 2002). Taipei (2002)
3. Appelt, D.: Introduction to information extraction. AI Commun.12, 161-172 (1999)
4. Llytinen, S., Gershman., A.: ATRANS: automatic processing of money transfer messages. In: Proceedings of the 5th National Conference of the American Association for Artificial Intelligence. IEEE Computer Society Press (1986)
5. Jacobs, P., Rau, L.: SCISOR: extracting information from online news. Commun. ACM 33, 88-97 (1990)
6. Andersen, P., Hayes, P., Huettner, A., Schmandt, L., Nirenburg, I., Weinstein, S.: Automatic extraction of facts from press releases to generate news stories. In: Proceedings of the 3rd Conference on Applied Natural Language Processing, ANLC «92, Trento, pp. 170-177. Association for Computational Linguistics, Stroudsburg (1992)
7. Bikel, D., Miller, S., Schwartz, R., Weischedel, R.: Nymble: a high-performance learning name-finder. In: Proceedings of the 5th Applied Natural Language Processing Conference, Washington. Association for Computational Linguistics, Washington, DC (1997)
8. Banko, M., Etzioni, O.: The tradeoffs between open and traditional relation extraction. In: Proceedings of ACL-08: HLT, Columbus, pp. 28-36. Association for Computational Linguistics, Columbus (2008)
9. Etzioni, O., Cafarella, M., Downey, D., Popescu, A.M., Shaked, T., Soderland, S., Weld, D., Alexander, A.: Unsupervised named-entity extraction from the web: an experimental study. Artif. Intell. 165, 91-134 (2005)
10. Agarwal A. (2011). Social Network Extraction from Texts: A Thesis Proposal. ACL 2011.
11. Elson D., Dames N. and MCKEOWN K. (2010), Extracting Social Networks from Literary Fiction, ACL2010, Uppsala, Sweden.
12. Skorinkin D.A., Bonch-Osmolovskaya A.A. Automatic Semantic Tagging of Leo Tolstoy’s works, in: DH 2015 Global Digital Humanities Conference Abstracts., 2015.
13. Burdick Anne, Drucker Johanna, et al. Digital Humanities: MIT-Press., 2012
14. Franco Moretti. 1999. Atlas of the European Novel 1800-1900. Verso.
15. Korobov M.: Morphological Analyzer and Generator for Russian and Ukrainian Languages // Analysis of Images, Social Networks and Texts, pp 320-332 (2015).
Размещено на .ru
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы