Исследование и разработка методов извлечения именованных сущностей

Разработка системы для извлечения именованных сущностей из текстов микроблогов (Твиттер) на русском языке на основе анализа существующих методов и инструментов извлечения именованных сущностей. Особенности предметной области – текстов микроблогов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 30.10.2017
Размер файла 3,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Санкт-Петербургский государственный университет

Кафедра математической лингвистики

Направление: «Лингвистика»

Образовательная программа: «Прикладная и экспериментальная лингвистика»

Профиль: «Компьютерная лингвистика и интеллектуальные технологии»

Исследование и разработка методов извлечения именованных сущностей

Выпускная квалификационная работа

соискателя на степень магистра филологии

Крастынь Валерии Валерьевны

Научный руководитель

к.ф.н., доц. Хохлова М.В.

Санкт-Петербург 2017

Введение

Целью данного исследования является разработка системы для извлечения именованных сущностей из текстов микроблогов (Твиттер) на русском языке на основе анализа существующих методов и инструментов извлечения именованных сущностей.

Для решения заявленной цели были поставлены следующие задачи:

- исследовать существующие методы извлечения именованных сущностей;

- изучить особенности предметной области - текстов микроблогов;

- выбрать и доработать наиболее подходящие инструменты для анализа выбранной предметной области;

- собрать и разметить корпус текстов микроблогов;

- провести эксперименты на корпусе микроблогов и на фоновом корпусе новостных текстов;

- сравнить результаты по двум корпусам и по двум инструментам;

- сделать выводы о результативности систем и дальнейших направлениях работы. именованный сущность текст микроблог

Актуальность работы обусловлена как широким применением методов извлечения именованных сущностей в различных задачах прикладной лингвистики, так и особенностями предметной области. Выделение именованных сущностей является одной из важных задач автоматической обработки текста. Это обязательный этап во многихсистемах извлечения структурированной информации из неструктурированных данных: в задачах информационного поиска, при построении вопросно-ответных систем, автоматизированнм сборе и аннотировании новостей, анализе биологических и медицинских текстов. Извлечение именованных сущностей из текстов микроблогов находит применение в первую очередь в системах, используемых для анализа отзывов о товаре и упоминания бренда в сети.

Новизна исследования состоит в выборе и адаптации инструментов извлечения именованных сущностей к конкретному материалу исследования - текстам микроблога Твиттер на русском языке.

Практическая значимость исследования состоит, во-первых, в создании размеченного корпуса текстов микроблогов на русском языке; во-вторых, в экспериментальной оценке и сравнении результатов различных систем извлечения именованных сущностей. Полученные результаты могут быть использованы для дальнейшего совершенствования инструментов выделения именованных сущностей.

1. Особенности предметной области

По данным исследования Риттера [Ritteretal. 2011: 30] каждый день появляется более 100 миллионов новых сообщений в Твиттере. Социальные сети формата микроблога продолжают набирать популярность, в то время как более привычные текстовые блоги отошли на второй план. При подобном бурном росте объема свободно доступных современных текстов на множестве языков Твиттер, несомненно, является одним из важнейших источников данных для задач прикладной лингвистики. В то же время, ряд специфических характеристик данных заставляет исследователей искать нетрадиционные подходы к извлечению информации и в частности, к выделению именованных сущностей.

Работа Риттера и соавторов [30] показала характерные особенности текстов Твиттера, затрудняющие их обработку классическими средствами АОТ. Две основные причины затруднений: во-первых, при обилии в сообщениях-твитах различных ИС (названий компаний, продуктов, музыкальных групп, кинофильмов, сериалов и т.д.), почти все типы, кроме имен людей (Персона) и географических локаций (Локация) встречаются относительно редко, и таким образом даже большой корпус вручную размеченных твитов будет содержать недостаточно сущностей каждого типа для обучения модели. Нехватка должным образом размеченных корпусов является важным сдерживающим фактором развития моделей, основанных на методах машинного обучения в этой сфере. В данной работе исследователи собрали корпус из 2400 случайных твитов и разметили 10 типов сущностей в нем.

Во-вторых, в связи с ограничением в 140 символов, твиты не всегда обладают достаточным контекстом, позволяющим с уверенностью определить тип ИС даже эксперту-аннотатору. Кроме того, тексты Твиттера зачастую не позволяют с уверенностью использовать один из классических признаков для выделения ИС - паттерн капитализации, так как многие сообщения носят отрывистый, телеграфный характер, и их авторы не считают необходимым соблюдение принятых шаблонов капитализации. В силу того же ограничения длины сообщений и их особого формата может быть также затруднен синтаксический анализ (многие сообщения представляют собой неполные предложения, не встречающиеся в более формальных текстах). В дополнение ко всему вышесказанному, тексты Твиттера содержат гораздо большую долю аббревиатур, сленговых сокращений и орфографических ошибок, чем любой другой жанр.

Ссылаясь на сложную, полную «шумов» природу микроблогов, Шерман Малмази и Марк Драс [Malmasi, Dras, 2016: 47] предлагают для выделения в тексте упоминаний локаций опираться на поиск именных групп и n-граммы взамен традиционного подхода к извлечению именованных сущностей.

Леон Держински в работе [Derczynski etal., 2013: 35] также отмечает, что тексты Твиттера сопровождаются обилием метаданных (время, место написания), которые могут дать ключ к некоторым задачам семантической разметки.

В своем обзоре [Derczynski et al., 2014: 42] Держински отмечает помимо прочего, что сами сущности, упоминаемые в Твиттере отличаются от тех, что часто встречаются в новостных текстах. Если говорить о категории «Персона», то в то время как в новостях в нее попадают в основном политики, журналисты и представители бизнеса, микроблоги чаще говорят о спортсменах, актерах, персонажах кино и сериалов, а также о частных лицах - друзьях, родных. Для «Локаций» частотными в новостях будут названия стран, рек, городов, в Твиттере же часто говорят также ресторанах, барах, местных достопримечательностях - небольших объектах. То же характерно и для упоминаний организаций: вместо доминирования крупных в терминах капитализации и кадрового состава, международных или государственных организаций/корпораций, мы также можем часто встретиться с названиями музыкальных коллективов, небольших компаний, стартапов, спортклубов, как общеизвестных, так и местных.

Для твитов также характерно более частое по сравнению с новостями упоминание названий продуктов (примерно в 5% сообщений).

Таким образом, в условиях многообразия представленных типов сущностей усложняется задача обнаружения и классификации сущностей, не представленных на этапе обучения (или написания правил). Это негативно сказывается на результатах различных подходов, основанных как на газеттирах, так и на методах машинного обучения.

Кроме того, как отмечает Держински, для социальных сетей (и микроблогов в частности) характерно явление «смещения» (``drift''): набор сущностей, широко представленных в текстах микроблогов существенно меняется со временем. В результате система, подготовленная и обученная на корпусе текстов определенного временного периода может хорошо справляться с другими текстами того же периода, но с течением времени результаты станут менее впечатляющими.

О проблемах ненормативного написания в Твиттере и, как следствие, появления большого количества слов, не входящих в словарь (“out-of-vocabulary” - OOV), что делает менее эффективными все этапы обработки текста, также говорят Бо Хан и Тимоти Болдуин [Han, Baldwin, 2014: 24]. Авторы предлагают каскадный метод выявления и нормализации неверно написанных (“ill-formed”) слов, основанный на морфологической и фонетической близости. Однако авторы также признают, что лучшие результаты может дать подход, сочетающий данный спеллчекер с обширным словарем замен и списком «белых» OOV-cлов - не нуждающихся в замене.

2. Основные методы извлечения ИС

2.1 Подходы к извлечению именованных сущностей

Именованные сущности -- это объекты определенного типа, чаще всего составные, например, названия организаций, имена людей, даты, места, денежные единицы и.т.д. В зависимости от прикладных задач, может быть необходимо выделить в тексте, во-первых, имена собственные: имена лиц, топонимы, названия организаций, названия песен и исполнителей, названия товаров и брэндов; во-вторых, такие объекты как числа, даты, денежные единицы. Наибольшее распространение для широкого спектра задач получила выделение таких сущностей, как Персона (Per) - имена, фамилии, отчества людей; Локация (Loc) - топонимы; Организация (Org) - названия организаций, компаний, объединений; Разное (Misc) - в эту группу входят все прочие типы сущностей, если их более тщательное разделение не требуется для целей исследования.

Термин «именованная сущность» впервые был введен на шестой Конференции по Пониманию Сообщений (Message Understanding Conference, MUC-6) в 1996 году. MUC-6 и предшествующие ей Конференции по Пониманию Сообщений были посвящены задачам по извлечению информации: получение структурированной информации о компаниях и военных операциях из неструктурированных текстов, как, например, газетных статей и военных сводок.

При постановке задачи по извлечению информации было замечено, что необходимо различать такие информационные единицы, как персона, организация, локация и числовые выражения, включающие в себя время, даты, деньги и проценты. Идентификация в тексте данных сущностей была признана одной из важнейших подзадач извлечения информации и была названа извлечение именованных сущностей.Одной из первых работ в данной области принято считать статью Лизы Рау [Rau, 1991: 12]. Она предложила использовать эвристические подходы и набор правил для выделения названий компаний в тексте. В случае невозможности создания обучающей выборки, данный метод является единственным возможным для решения задачи извлечения именованных сущностей.С тех пор за 26 лет исследований было предложено огромное количество решений и стратегий по извлечению имен. Задача была представлена несекциях различных конференций: Message Understanding Conference (MUC), Conference on Natural Language Learning (CoNLL), International Conference on Language Resources and Evaluation2 (LERC).

Большая обзорная работа была проделана Дэвидом Надю и Сатоши Секином [Nadeau, Sekine, 2006: 8]. Авторы подробно рассмотрели методы, используемые в области выделения и классификации сущностей с 1991 по 2006 года. В данной же работе мы ограничимся основными моментами, необходимыми для общего понимания подходов к решению задачи, и постараемся дополнить упомянутый обзор.

В работе [Brykinaal., 2013: 5] рассматривается словарный подход для разрешения омонимии в задаче извлечения именованных сущностей. Разработанная система получает на вход список сущностей, интересных пользователю. При помощи существующих онтологий, в которых в структурированном виде отражена информация об объектах и их отношениях, из текстов извлекаются заданные сущности. Задачей системы является извлечение всевозможных верных синонимов интересующих пользователя объектов. Как следствие, в работе рассматриваются различные случаи омонимии внутри типов именованных сущностей (Персон, Локаций и Организаций). Настраиваемый список позволяет пользователю регулировать предметную область извлекаемых сущностей под свои информационные запросы. Результатом работы системы является высокая оценка точности извлечения именованных сущностей.

Целью работы [Popov etal., 2004: 10] является адаптация для русского языка многоязыкового проекта MUSE [Maynard etal., 2003: 7], основанного на извлечении англоязычных именованных сущностей. Проект создан на основе правил с использованием справочников сущностей: крупнейшие компании, субъекты федерации, главные лица государства, известные персоны, распространенные имена мужчин и женщин, фамилии, названия месяцев.

В то время как первые исследования главным образом были основаны на созданных вручную правилах, последние работы используют методы машинного обучения с учителем. Они создают автоматически регулируемые системы, основанные на алгоритмах разметки данных, которые получают из обучающей коллекции документов.

Например, работа [Нехай, 2012: 3] использует метод опорных векторов в применении буквенных n-грамм и других статистик уровня символов и слов для задачи извлечения имён собственных.

В работе [Глазова, 2010: 2] для решения задачи извлечения имён собственных из текстов на английском языке используется метод максимальной энтропии, для которого характеристические функции представлены перечислением специальных предшествующих слов (mr., chairman и другие), наличием после словосочетания-кандидата глагола, частотой встречаемости слова в документах, присутствием аббревиатур и прочее.

В [Nigam etal., 1999: 9] для решения проблемы переобучения вводится использование априорного распределения модели (Гауссово распределение) для классификации текстов на естественном языке.

В работе [Антонова, Соловьев, 2013: 1] для анализа текстов на русском языке (задача распознавания именованных сущностей, определения частей речи и анализа отношения (положительного / отрицательного) к объекту) использован метод условных случайных полей. Как замечают авторы, данный метод позволяет решить проблему смещения метки (labelbiasproblem), возникающую в методе максимальной энтропии.

Статья [Подобряев, 2013: 4] использует метод условных случайных полей для поиска упоминаний персон в новостных текстах. Помимо признаков уровня слова (прописные буквы и знаки препинания внутри слова-кандидата), используются также признаки контекста и онтологическая и фактографическая информации о слове-кандидате.

В работе [McCallum etal., 2003: 53] предложена новая категория систем для извлечения именованных сущностей, основанная на методе частичного обучения (semisupervisedlearning). Основной техникой данного метода является самообучение с использованием статистического бутстрэпа (bootstrapping), который включает в себя небольшую долю обучения с учителем, например, набор начальных данных для старта процесса обучения. Рассмотрим пример работы системы, направленной на извлечение названий болезней. В первую очередь, она получает небольшой список примеров таких названий. Затем система ищет предложения, которые содержат данные примеры, и пытается выявить некоторые общие признаки для известных примеров. После этого система пытается отыскать другие названия болезней, появляющиеся в аналогичных контекстах. Процесс обучения повторяется вновь для извлеченных сущностей, чтобы отыскать новые признаки искомых. По завершению нескольких итераций представляется список болезней и большое количество их контекстов.

В 1999 году был полностью разобран корпус текстов, содержащий около 90 000 именованных сущностей, в поисках шаблонов для такой модели [Collins, Singer, 1999: 6]. Примером такого шаблона может являться имя собственное со следующей за ней именной группой (например, «Mr. Cooper, avicepresidentof …»). Шаблоны хранятся в паре «написание слова - контекст», где «написание» включает в себя именованную сущность, а «контекст» - именную группу в его контексте. Для кандидатов, удовлетворяющих правилу «написание», определяется их тип именованной сущности, и их «контексты» накапливаются в рамках каждого типа. Затем наиболее частые контексты превращаются в набор контекстных правил. После выполнения этих действий контекстные правила могут быть использованы для нахождения новых именных сущностей, не включенных в начальный список сущностей.

Работа демонстрирует, что при одновременном обучении нескольким типам именованных сущностей происходит выделение так называемого «негативного примера» - класса, выступающего в роли один против всех, который сокращает чрезмерную генерацию шаблонов. Хотя данный метод требует минимального набора обучающих данных, что, несомненно, является большим преимуществом, основным недостатком обучения с использованием метода частичного обучения является чрезмерная генерация шаблонов, которая для точных и полных результатов требует валидации экспертом.

Победители соревнования по NER CoNLL 2003 [Florian et al. 2003: 59], получившие 88.76% F1, представили систему использующую комбинацию различных алгоритмов машинного обучения. В качестве признаков был использован их собственный, вручную составленный газетир, POS-теги, CHUNK-теги, суффиксы, префиксы и выход других NER-классификаторов, тренированных на внешних данных.

Нейронные сети для выделения именованных сущностей.

Коллобер и соавторы[Collobert et al., 2011: 41] представили комбинацию сверточной нейронной сети с условными случайными полями, получившую 89.59% F1 на корпусе CoNLL 2003. Их нейросетевая архитектура не зависит от задачи и используется как для NER, так и для частеречной разметки (part-of-speech tagging), поиска синтаксически связанных групп соседних слов (chunking), установления семантических ролей (semantic role labelling). Для задачи NER они использовали три типа признаков - векторное представление слова, капитализацию и небольшой газетир, включенный в соревнование CoNLL 2003.

[Chiu, Nichols, 2015: 60] представили комбинацию сверточных сетей, рекуррентных сетей и условных случайных полей. Они использовали такие же признаки как и в [41], дополнительный, вручную сформированный газетир на основе DBpedia и обучались на train+dev1 выборке CoNLL 2003. У них получилось 91.62% F1. Кроме корпуса CoNLL 2003 они тестировали архитектуру на более крупном англоязычном корпусе OntoNotes 5.0. На нем они получили state-of-the-art результат 86.28%.

[Yang et al. 2016: 61] представили глубокую иерархическую рекуррентную нейросетевую архитектуру с условными случайными полями для разметки последовательностей. Они использовали такие же признаки как в работе [41]. Кроме англоязычного корпуса CoNLL 2003, где они получили state-of-the-art 90.94% F1 при обучении только на обучающей выборке (train set), они тестировали работу нейросети на CoNLL 2002 DutchNER и CoNLL 2003 SpanishNER. На этих корпусах они улучшили предыдущий state-of-the-art результат: 82.82% до 85.19% на CoNLL 2002 DutchNER и 85.75% до 85.77% на CoNLL 2003 SpanishNER.

Современные работы используют векторное представление слов и условные случайные поля в своих моделях. Из сторонних признаков применяют только газетиры. В работе [Xu et al. 2014: 62] описано применение дополнительных признаков для слов (морфологических, синтаксических, семантических) для создания более совершенных векторных представлений. Такие векторные представления помогают повысить оценку качества в прикладных задачах [62].

Что касается методов, применяемых для извлечения ИС из текстов микроблогов, Леон Держински в работе [Derczynski et al. 2014: 42] дает достаточно развернутый обзор современных систем и их результатов на корпусе из 4264 твитов объемом в 29089 токенов на английском языке, созданном в рамках конкурса Making Sense of Microposts2013 ConceptExtractionChallenge.

В таблице 1 представлены основные характеристики некоторых систем, проанализированных в исследовании Держински, в таблице 2 - продемонстрированные ими результаты.

Таблица 1. Основные характеристики систем, проанализированных в работе [42]

Характеристика

ANNIE

Stanford NER

Ritter et al.

Alchemy API

Lupedia

Методы

Газеттиры и конечные автоматы

CRF

CRF

Машинное обучение

Газеттиры и правила

Языки

EN, FR, DE, RU, CN, RO, HI

EN

EN

EN, FR, DE, IT, PT, RU, ES, SV

EN, FR, IT

Предметная область/жанр

новости

новости

Твиттер

Универсально

Универсально

Число типов ИС

7

4,3 или 7

3 или 10

324

319

Схема разметки

MUC

CoNLL, ACE

CoNLL, ACE

Alchemy

DBpedia

Тип системы

Java (модуль Gate)

Java

Python

Веб-сервис

Веб-сервис

Лицензия

GPLv3

GPLv2

GPLv3

Некоммерческая

Неизвестно

Возможность адаптации

Да

Да

Частично

Нет

Нет

 

Dbpedia Spotlight

TextRazor

Zemanta

YODIE

NERD-ML

Методы

Газеттиры и меры сходства

Машинное обучение

Машинное обучение

Меры сходства

Метод k ближайших соседей и Наивный Байес

Языки

EN

EN, NL, FR, DE, IT, PL, PT, RU, ES, SV

EN

EN

EN

Предметная область/жанр

Универсально

Универсально

Универсально

Твиттер

Твиттер

Число типов ИС

320

1779

81

1779

4

Схема разметки

Dbpedia, Freebase, Schema.org

Dbpedia, Freebase

Freebase

DBpedia

NERD

Тип системы

Веб-сервис

Веб-сервис

Веб-сервис

Java (модуль Gate)

Java, Python, Perl, bash

Лицензия

Apache Licence 2.0

Некоммерческая

Некоммерческая

 

GPLv3

Возможность адаптации

Да

Нет

Нет

Да

Частично

Таблица 2. Результаты сравниваемых систем

Другие авторы, не вошедшие в данный обзор, предлагают смешанный подход к решению задачи выделения именованных сущностей в микроблогах. В частности, Сяохуа Лиу с соавторами [Xiaohuaetal. 2011: 29] предлагают гибридный подход, сочетающий метод k ближайших соседей (для предварительной разметки) с моделью условных случайных полей. Такая комбинация методов в сочетании с использованием списков-газеттиров позволяет авторам получить F-меру 80,2% на англоязычных тестах.

2.2 Современные реализации инструментов извлечения именованных сущностей

На данный момент существует множество коммерческих и открытых систем извлечение именованных сущностей. Рассмотрим кратко некоторые из них.

RCO Fact Extractor SDK - это лингвистический анализатор текста, комплексный инструментарий для разработки информационно-поисковых и аналитических систем, использующих анализ текста на русском языке. Библиотека RCO FX Ru(ядро проекта) осуществляет полный синтактико-семантический разбор русского текста. Библиотека выделяет разные классы сущностей, упомянутых в тексте (персоны, организации, географические названия, предметы, действия, атрибуты и др.), и строит сеть отношений, связывающих эти сущности, а также предоставляет дополнительную грамматическую информацию о составляющих текста. Средствами библиотеки также осуществляется семантическая интерпретация результатов разбора текста - производится описание ситуаций, удовлетворяющих заданным семантическим шаблонам. В состав лингвистического обеспечения пакета, помимо общих словарей и правил русского языка, входят правила выделения специальных объектов (дат, адресов, документов, телефонов, денежных сумм, марок автомобилей и пр.), шаблоны для распознавания различных классов событий и фактов (сделок, экономических показателей, конфликтов, биографических фактов и пр.), характеристик объекта (позитива, негатива и др.), высказываний прямой и косвенной речи.

ABBYYIntelligentTaggerSDK (Compreno). Это инструментарий разработчика, который анализирует неструктурированную текстовую информацию и автоматически извлекает из нее именованные сущности (персоны, организации, даты и другие) и метаданные документов. Полученные данные можно использовать для совершенствования и автоматизации различных бизнес-задач, таких как поиск и анализ знаний, классификация и маршрутизация входящей информации, управление документацией и выявление конфиденциальных данных в ней. Технология Compreno - это универсальная лингвистическая платформа для приложений, решающих множество прикладных задач по обработке текстов на естественном языке. В основе Compreno лежит многоуровневое лингвистическое описание. Помимо ручного описания Compreno использует для анализа большое количество информации, извлекаемой различными статистическими методами из текстовых корпусов. В Compreno реализована процедура семантико-синтаксического анализа текста, в результате которой любому предложению на естественном языке (английском или русском) ставится в соответствие семантико-синтаксическое дерево, моделирующее смысл предложения и содержащее грамматическую и семантическую информацию о каждом слове предложения.

Томита-парсер (Яндекс) - инструмент для извлечения структурированных данных (фактов) из текста на естественном языке. Извлечение фактов происходит при помощи контекстно-свободных грамматик и словарей ключевых слов. Парсер позволяет написать свою грамматику, добавить свои словари и запустить на любых текстах.

PROMT Analyser. Анализирует любые тексты или документы, выделяет в нем сущности (персоналии, организации, географические названия, геополитические сущности и др.), а также определяет соотносящиеся с этим сущностями действия, дату и место совершения действия, формирует целостный образ документа. Система выполняет тонкий морфологический, синтаксический и семантический анализ, что позволяет максимально точно получать информацию из неструктурированных текстовых данных на разных языках, взаимодействуя даже с такими морфологически богатыми, как русский и немецкий. PROMT Analyser имеет обширную базу данных, но главным его достоинством является то, что он выделяет в текстах также сущности, не представленные в базах. Еще одним преимуществом программы является простая настройка - путем введения значения для новых типов сущностей.

NER от Айтеко. Система автоматического распознавания именованных сущностей служит для типизации имен собственных, терминов, различных названий и т.п. Представленный алгоритм использует статистические языковые модели и правила для «шаблонных» сущностей, таких, как url, e-mail, цифры и пр. Количество типов и их описание задается на этапе обучения системы и не зависит от словаря. Его возможности ограничиваются следующими типами: определение имен людей, названий компаний и организаций, географических объектов, продуктов и брендов, названия праздников, форумов и др. событий. Дополнительно к этому определяются url, e-mail, деньги и даты.

MF LIK R10 МетаФраз Лингвистический интеграционный комплект (Metafraz Lingware Integration Kit, MF LIK) R10 - SDK для разработчиков приложений в виде API к автономному ядру и серверу лингвистического ПО (интеграция технологий фразеологического машинного перевода и семантической обработки неструктурированной текстовой информации МетаФраз в сторонние приложения). Возможности: нормализация текста (для повышения качества поиска средствами СУБД); выделение из текста ключевых выражений, характерных для данной предметной области; классификация выделенных выражений; автоматическое составление аннотации (общего реферата) по документу; автоматическое составление контекстного реферата по документу с учетом пользовательской тематики или поискового запроса; выделение объектов (организации, персоны, должности, бренды и т.д.); определение и типизация связей между объектами; сравнение документов и установление степени их семантической близости для задач кластеризации (группировки документов по смыслу) и антиплагиата.

Eureka Engine. Высокоскоростная система лингвистического анализа текстов модульного типа, позволяющая извлекать новые знания и факты из неструктурированных данных огромных объемов. В систему входят такие модули как: Определение языка сообщения (24 языка, относящихся к разным языковым семьям); Автоматическое определение тональности документа (АОТ) для русского языка; Определение тематики (автоклассификация) для русского языка; Выделение именованной и имен собственных (NER) для русского языка (подключение английского в ближайшее время); Нормализация слов (русский язык); Разметка частей речи (морфоанализ) для русского языка. Возможна обработка не только материалов СМИ, но и сообщений социальных сетей, форумов и блогов. Есть online-демо.

Хурма (Hurma). Хурма - проект, основная цель которого формулировалась как создание простого и удобного в использовании веб-сервиса для массовой обработки текстов и извлечения из них различной информации, полезной как профессиональным прикладным лингвистам и исследователям, так и различного рода аналитикам коммерческих компаний. Хурма - это не только простой способ быстро обработать большой объём текстов и получить на выходе информацию в структурированном и нормализованном виде, но и возможность строить разнообразную аналитику и проводить статистические исследования на пользовательской коллекции документов.

Zamgi - высокоскоростная система лингвистического анализа текстов модульного типа, позволяющая извлекать новые знания и факты из неструктурированных данных огромных объемов. В систему входят следующие подсистемы: определение языка сообщения; определение тональности документа для русского языка; классификация тематики документа для русского языка; выделение именованных сущностей и имен собственных (NER) для русского и английского языков; нормализация слов для русского языка; определение частей речи и морфоанализ для русского языка.

АРИОН-Лингво. На вход Лингвистический процессор получает текстовый документ. Результатом его работы является массив связной фактографической информации, который далее передается в модуль идентификации для выделения похожих и слияния совпадающих объектов. Выделение фактографической информации осуществляется с помощью специализированных правил, которые описывают процедуры выделения объектов и связей на внутрисистемном языке Лингвистического процессора, построенном на базе XML.

Textocat -облачный веб-сервис, предоставляющий RESTful API для решения базовых задач аналитики русскоязычных текстов. В текущей версии поддерживаются следующие функции: распознавание упоминаний сущностей, таких как люди, организации, геополитические сущности, сооружения и локации; выделение временных и денежных выражений; полнотекстовый поиск с учетом выделенных аннотаций.

DictaScope Tokenizer от компании Dictum занимается выявлениемв текстах на русском языке текстовых объектов и фактов, таких как: персона, должность, спортивные команды, организации (коммерческие и некоммерческие), географические объекты, даты, количественные показатели, высказывания персон, должность, место работы и др. Выявленные объекты и факты приводятся к канонической форме (нормализуются). В состав модуля включаются образцы правил для выявления и нормализации некоторых из перечисленных категорий текстовых объектов и фактов. Входной формат - plain-текст. Результат может быть выдан в формате XML. Для работы программы требуется морфологический словарь. Программа поставляется в виде динамической библиотеки для Windows/FreeBSD.

XANALYS. Этот инструмент извлечения сущностей из различных текстов (ранее известен как Quenza и PowerIndexer), извлекает из текста различные объекты:

- Сущности, такие как: Лица, Организации, События;

- Атрибуты сущностей, такие как: Пол лица, Профессия лица, Название компании;

- Отношения, такие как: находится, работает в, участвовал в событии.

Indexer имеет интерфейсы , достаточные для его интеграции во внешнюю систему.

iLab - лаборатория по извлечению информации. Извлечение структурированной информации из неструктурированных и слабоструктурированных текстов. В настоящий момент сделано извлечение адресов с их нормализацией. Извлечение организаций и персон на стадии разработки.

BusinessobjectsTextAnalysis. Программа позволяет извлекать информацию по 35 типам объектов и событий, включая людей, географические места, компании, даты, денежные суммы, email-адреса, и выявлять взаимосвязи между ними. Обладает мощными лингвистическими возможностями по чтению и пониманию документов на 30 языках. На основе структуры естественных языков программа может распознавать информацию, связанную с заданными пользователем объектами, такими как названия проектов, анализировать взаимосвязи между событиями и конкретные фразы на предмет сентимент-анализа (sentiment analysis).

AeroText. ВерсияAeroText 5.xсуществуетввиденаборакомпонентов. Программа позволяет осуществлять извлечение информации, связанной с конкретными объектами (персоны, организации, географические объекты и т.п.), ключевые фразы (указание на конкретное время, объемы денег) и т.п. Решение также анализирует взаимосвязи между сущностями, позволяя решить проблему множественных референтов одной и той же сущности, осуществляет идентификацию взаимоотношений между сущностяи, извлечение событий (кто, где, когда), категоризацию тем (предмет, его определение), определение временного промежутка, когда имело место событие, определение места, которое может быть привязано к карте.

FreeLing. Пакет FreeLing предоставляет функционал для анализа текста с учетом специфики языка. В него входят следующие компоненты:

1 Разметка текста (токенизация);

2. Выделение предложений;

3. Морфологический анализ;

4. Определение составных слов;

5. Вероятностное определение части речи неизвестного слова (hmm tagger);

6. Обнаружение и определение именной группы;

7. Классификация именной группы;

8. Построение дерева зависимостей (слов в предложении);

9. Определение местоимений (местоименных словоформ);

10. Нормализация и определение дат, чисел, процентных соотношений, валюты и физических величин (скорость, вес, температура, плотность и т.д.);

11. Определение части речи (вероятностное);

В настоящее время проект поддерживает языки: испанский, каталонский, галисийский, итальянский, английский, валлийский, португальский, австрийский, русский.

3. Материал исследования - корпусы текстов

3.1 Корпус текстов микроблогов

Корпус текстов социальной сети Твиттер собран с помощью APITwitterв формате .json.Корпус насчитывает 8600 записей на русском языке за период с начала 2014 года по январь 2017 года объемом 136070 словоупотреблений.Для отбора записей и отсеивания записей, не содержащих именованных сущностей, критерии поиска включали распространенные имена, фамилии известных людей, а также наименования организаций из перечня, сформированного на основе выборки из новостных текстов, проанализированной и размеченной вручную.

Для разметки границ именованных сущностей широко распространена схема IOB: метка B означает начало сущности; I - расположение внутри неё; меткой O отмечаются токены, не входящие в именованную сущность.

Рисунок 1. Схема аннотации IOB

Разметка корпуса проведена вручную автором и вторым аннотатором (взрослым носителем русского языка, имеющим филологическое образование).

Для оценки практических результатов работы из корпуса были удалены записи, при разметке которых наблюдались разногласия между аннотаторами (1141 запись из 8600).

Пример аннотации:

Газеты [OrgB] "Вечерний [OrgI] Минск" [Org I], "Минский [Org B] Курьер" [Org I] прислали [O] КП [O]. Предлагают [O] разместить [O] у [O] них [O] рекламу [O] инет-магазина [O] )) Думаю [O], конверсия [O] зашкалит[O]

3.2 Корпус новостных текстов

В качестве фонового корпуса был использован корпус новостных текстов, подготовленный проектом OpenCorporaк соревнованию FactRuEval в рамках конференции Диалог 2016.

Предложенный в рамках конференции «Диалог» корпус состоит из 122 новостных текстов. Каждому тексту соответствует 4 файла:

1. Файл с токенами - деление текста на токены и предложения. Каждая строка содержит идентификационный номер - id токена, позицию его начала, длину и текст.

2. Файл со спанами - первый уровень разметки. Кроме всего прочего включает в себя id спана и id входящих токенов.

3. Файл с объектами - упоминание объектов. Включает id объекта и id входящих в него спанов.

4. Файл кореференций и идентификаций - отношения между несколькими идентифицированными объектами.

Рассмотрим подробнее первые 3 из них, которые были использованы в работе. Примеры файлов приведены ниже. На рисунке 2 показан файл токенов, рисунок 3 иллюстрирует пример разметки файла со спанами, рисунок 4 представляет файл с объектами данной демонстрационной коллекции.

Рисунок 2. Фрагмент файла токенов.

Рисунок 3. Пример разметки файла со спанами

Рисунок 4. Фрагмент файла с объектами

Для составления выборки именованных сущностей совершается последовательный обход представленных файлов:

1) Из файла с токенами было получено разбиение текста на предложения (пустая строка в файле) и список всех токенов с их идентификационными номерами.

2) Из файла объектов извлекаются типы именованных сущностей иid входящих в их состав спанов.

3) В файле спанов находились спаны по идентификационным номерам, полученным на предыдущем шаге. Затем для каждой именованной сущности получался набор id токенов, входящих веё состав.

4) Происходит разметка полученного на первом шаге списка токенов, разбитого на предложения, по схеме IOB.

4. Практическое применение инструментов выделения именованных сущностей

Анализ методов, применяемых для выделения именованных сущностей показал, что с данной задачей хорошо справляются как методы, основанные на правилах и словарях, так и различные методы машинного обучения. В то же время было показано, что особенности предметной области затрудняют применение обеих групп методов и снижают результативность традиционных систем, настроенных на обработку научных и публицистических текстов.

Состояние разработанности проблемы, обилие готовых систем с открытым кодом, адаптированных для тех или иных типов текстов и сущностей заставило искать решение задачи среди существующих инструментов, любой из которых, несомненно, требовал доработки и адаптации с учетом конкретного материала.

Исходя из вышесказанного, для дальнейшей доработки и тестирования были выбраны 2 инструмента - Gateи Томита-парсер. Обе системы работают с правилами-грамматиками и словарями. Особенностью Gate, послужившей основой для её выбора является то, что эта система хорошо зарекомендовала себя при обработке текстов микроблогов на русском языке. Томита-парсер же был выбран в силу относительной простоты работы с ним и адаптированности для текстов на русском языке.

4.1 Система GATE

GATE (GeneralArchitectureforTextEngineering) -модульная система обработки текста для извлечения информации, основанная на правилах, разработанная университетом Шеффилда.

Для проведения эксперимента была использована модифицированная и дополненная версия системы Gate, предложенная Калиной Бончевой и Леоном Держински в 2013 году - TwitIE[Bontcheva etal. 2013: 33].

На рисунке 5 представлена схема работы системы Gateс плагином Twitie.

Рисунок 5. Схема работы Twitie

Этапы работы:

При работе с системой Gateкорпус текстов последовательно проходит несколько модулей.

1. Модуль определения языка работает на основе инструмента TextCat (версия, адаптированная для твиттера -[Carter et al., 2013: 63]), который в данный момент поддерживает 5 языков, в их числе нет русского. Для обеспечения работы данного модуля он был обучен на половине корпуса.

2. Токенизатор: вместо токенизатора по умолчанию (ANNIEEnglishTokenizer)использован GATE Unicode Tokeniser. При этом аббревиатуры и URL считаются одним токеном. Хештег и следующее за ним упоминание пользователя делятся на 2 токена. Сохраняется паттерн капитализации.

3. Газеттиры. Списки имен, названий стран, континентов, городов, организаций на русском языке были предоставлены плагином Russianpluginи дополнены вручную. Списки содержат все падежные формы каждого входящего в них слова. В списки имен помимо полных имен добавлены распространенные сокращенные варианты (например, Александр - Саня, Саша, Сашка, Шурик). Список названий организаций насчитывает 21040 элементов, список имен - 1566, список геолокаций (страны, города, континенты) - 2065 элементов. Помимо данных списков, составлены газеттиры слов-указателей на именованную сущность (формы обращения в людям, некоторые профессии и должности, организационно-правовые формы предприятий, и т.д.) В эти списки для Персон вошли 343 элементов, для Организаций - 47, для Локаций - 99.

Рисунок 6. Фрагмент газеттира мужских имен.

Рисунок 7. Фрагмент газеттира названий городов.

Рисунок 8. Фрагмент газеттира слов-указателей именованной сущности типа «ORG» (Организация)

4. Модуль выделения предложений (SentenceSplitter) системы Gate применяется без изменений.

5. Модуль нормализации включает спеллчекер на основе расстояния Левенштейна и словари замен на русском языке, составленные вручную (на основе анализа собранного корпуса), включающий нестандартные написания, характерные для соцсетей.

Подготовлены словари опечаток (587 замен), сокращений (158) и специфического сленга (198).

Примеры из словаря опечаток:

дигистировать

дегустировать

дегистировать

дегустировать

дигустировать

дегустировать

рождетство

рождество

рождетсво

рождество

Примеры из словаря сленга:

пачиму

почему

патаму

потому

шта

что

Примеры из словаря сокращений:

мб

может быть

хз

хрен знает

спб

Санкт-Петербург

смр

Самара

екб

Екатеринбург

6. Вместо Stanford POS tagger подключен модуль частеречной разметки из RussianPlugin.

7. Модуль выделения именованных сущностей (Named Entity Recogniser) является встроенным модулем системы. На основании грамматик, описанн

4.2 Томита-парсер

Томита-парсер - созданный компанией Яндекс вариант GLR-парсера (от англ. GeneralizedLeft-to-rightRightmostderivationparser -- Обобщенный восходящий магазинный анализатор), впервые описанного Масару Томита в 1984 году.В настоящее время открытый код парсера доступен для разработчиков в коммерческих и некоммерческих целях. В составе парсера три основных лингвистических процессора: токенизатор (осуществляет разбиение входного текста на слова и несловарные токены), сегментатор (разделяет текст на предложения) и морфологический анализатор mystem (производит частеречную разметку).

Основными компонентами парсера являются: газеттир, набор контекстно-свободных (КС) грамматик (пользовательских шаблонов) и набор описаний типов фактов, которые могут фиксироваться (порождаться) этими грамматиками в результате процедуры интерпретации.

Газеттир -- словарь ключевых слов, которые используются в процессе анализа КС-грамматиками. Каждая статья этого словаря задает множество слов и словосочетаний, объединенных общим свойством (например, «мужские имена»).

Грамматика представляет собой множество правил на языке КС-грамматик, описывающих синтаксическую структуру выделяемых цепочек.

Грамматики для Томита-парсера состоят из правил. У каждого правила есть левая и правая части, разделенных символом -->. В левой части стоит один нетерминал (S в примере, приведенном ниже). В правой части стоит список терминалов или нетерминалов (S1 ... Sn), после которого указываются условия (Q), применяемые ко всему правилу в целом.

Грамматический парсер запускается всегда на одном предложении. Перед запуском терминалы грамматики отображаются на слова (или словосочетания) предложения. Одному слову может соответствовать много терминальных символов. Таким образом, парсер получает на вход последовательность множеств терминальных символов. На выходе - цепочки слов, распознанные этой грамматикой.

Факты -- таблицы с колонками, которые называются полями фактов. Факты заполняются во время анализа парсером предложения. Как и чем заполнять поля фактов указывается в каждой конкретной грамматике (интерпретация). Типы фактов описываются в отдельном файле.

Для запуска Томита-парсера созданы файлы: config.proto -- конфигурационный файл парсера (сообщает парсеру, где искать все остальные файлы и как их интерпретировать); dic.gzt -- корневой словарь, содержит перечень всех используемых в проекте словарей и грамматик; mygram.cxx -- грамматика;kwtypes.proto -- описания типов ключевых слов.

Фрагмент файла dic.gzt:

encoding "utf8";

import "base.proto";

import "articles_base.proto";

import "kwtypes_my.proto";

import "facttypes.proto";

TAuxDicArticle "LOC"

{

key = { "tomita:loc.cxx" type=CUSTOM }

}

city "Нижний_Новгород"

{

key = "Нижний Новгород";

mainword = 2;

}

city "Санкт_Петербург"

{

key = "Санкт-Петербург" | "Питер" | "Петербург";

lemma = "Санкт-Петербург";

Фрагмент файла config.proto:

encoding "utf8";

TTextMinerConfig {

Dictionary = "dic.gzt"; // корневой словарь газеттира

PrettyOutput = "debug.html"; // файл с отладочным выводом

Input = {

File = "test.txt"; // файл с анализируемым текстом

Type = dpl; // режим чтения "document per line" (каждая строка - отдельный документ)

}

Articles = [

{ Name = "LOC" } // Запустить статью корневого словаря "Location"

]

Facts = [

{ Name = "LocFact" } // Сохранитьфакт "LocFact"

]

Output = {

File = "facts.txt"; // Записатьфактывфайл "facts.txt"

Format = text; // используя при этом простой текстовый формат

}

}

Алгоритм работы парсера:

Парсер ищет вхождения всех ключей из газеттира. Если ключ состоит из нескольких слов (например, «Нижний Новгород»), то создается новое искусственное слово, которое разработчики назвали «мультиворд».Из всех найденных ключей газеттира отбираются те, которые упоминаются в грамматике.

Среди отобранных ключей могут встречаться и мультиворды, пересекающиеся друг с другом или включающие в себя одиночные ключевые слова. Парсер должен покрыть предложение непересекающимися ключевыми словами так, чтобы как можно большие куски предложения были охвачены ими.

Линейная цепочка слов и мультивордов подается на вход GLR-парсеру. Терминалы грамматики отображаются на входные слова и мультиворды.

На последовательности множеств терминалов GLR-парсер строит все возможные варианты разметки. Из всех построенных вариантов также отбираются те, которые как можно шире покрывают предложение.

Затем парсер запускает процедуру интерпретации на построенном синтаксическом дереве. Он отбирает специально помеченные подузлы, а слова, которые им соответствуют, записываются в порождаемые грамматикой поля фактов.

При создании газеттиров и грамматик использовались те же списки имен, названий стран, континентов, городов, организаций, что и при работе с системой Gatе.

5. Методика оценки результатов

Оценка систем выделения сущностей является стандартным индикатором прогресса данной области, и может служить проверкой работоспособности новых методов. По общему правилу оценка систем проводится на корпусах, размеченных вручную (создается так называемый «эталон» разметки - “goldstandard”). Методики измерения основных показателей, однако, отличаются от работы к работе.

В ходе серии конференций CoNLL был предложен следующий интуитивно понятный способ оценки: именованная сущность считается выделенной системой правильно, если и ее тип, и границы, отмеченные системой, совпадают с типом и границами, размеченными аннотаторами в корпусе; в противном случаеможно считать, что сущность выделена неправильно. Назовем такой способ оценки оценкой методом точного соответствия. Точность (??), полнота (??) и ??-мера в данном случае определяются следующим образом:

??=количество во верно выделенных сущностей/кол-во всех выделенных сущностей,

?? = количество во верно выделенных сущностей/ кол-во сущностей в корпусе,

?? =2????/ (?? + ??).

Данный метод оценки широко распространен, однако подвергается критике. Оценка точным соответствием не позволяет снисходительно относится к ошибкам в границе сущности или в ее классе, которые вполне могут быть совершены и людьми при разметке текста. Кристофер Маннинг предложил способ подсчета сегментов, который бы учитывал 3 дополнительных типа ошибки: сущность выделена, но есть неточность в границе, есть ошибка в классе сущности, но граница верна, ошибка есть как в классе, так и в границе сущности. Однако, предложенный способ не нашел широкого распространения.

Наравне с вышеназванным существуют и другие способы оценки, применявшиеся в разное время и для подсчета результатов на различном материале.

Основные недостатки стандартных способов расчета точности и полноты:

- Если считать правильно выделенными только фрагменты, которые точно совпадают с границами фрагментов-эталонов, скорее всего, результаты будут слишком низкими и не будут отражать потенциал системы. Кроме того, экперты-аннотаторы также расходятся в оценке границ многословных сущностей.

- В то же время, если рассчитывать точность и полноту на основании «наложения» (“overlap”) [Choietal.,2006: 64; Brecketal., 2007: 65], то предпочтение неминуемо будет отдаваться более длинным фрагментам - вплоть до фрагментов, содержащих целые предложения, если эталон содержит любой фрагмент этого предложения.

Предлагаемая система позволяет избежать этих крайностей. Крайние значения метрик в данном случае будут ограничены снизу оценкой точного совпадения, а сверху - оценкой «наложения».

Для оценки результатов тестирования хочется использовать схему, основанную на пересечении (в отличии от «наложения»), предложенную Йохансоном и Москитти [Johansson, Moschitti, 2013 : 48] при решении задачи оценки тональности.

Как в случае оригинальной статьи, так и в нашей задачевыделения именованных сущностей, часто границы выражений, представляющих сущности, не являются четко определенными.

Идея состоит в том, чтобы приписать значения от 0 до 1 каждому сегменту в отличие от традиционного подхода, при котором каждый сегмент может считаться либо верно, либо неверно выделенным. Покрытие (c) фрагмента (s) (множество токенов) определяется по отношению к другому фрагменту s?, что указывает, насколько хорошо фрагментs? «покрыт» фрагментом s:

Где |s|- длина фрагментаs, а перечесение s?s' представляет множество токенов, которые являются общими для обоих фрагментов. Так как и в оригинальном исследовании, и в нашем случае существует не один, а несколько теговдля фрагментов, то c(s,s?) считается равным нулю, если теги sиs? различны. Используя покрытие фрагмента, мы определяем покрытие набора фрагментов, s1,s2,…snпо отношению к s'

Таким образом, точность и полнота, определяются как пересечение, выделенных фрагментов Sпо отношению к фрагментам-эталонам S:

Где |S |- число фрагментов в множествеS.

Например, в тексте «Сергею лазареву в новом клипе сердце и лицо разбила красотка-боксерша» был выделен сегмент «Сергею» с пометой «PER» (Персона), в то время как в аннотированном корпусе помета «PER» присвоена словосочетанию «Сергею лазареву». В этом случае мы предварительно расчитываем коэффициент покрытия, равный в этом случае 0,5 и, с одной стороны, учитываем данную сущность как правильно выделенную при подсчете результатов, а с другой стороны, можем видеть и учесть при подсчёте, что она не является идеально выделенной.

6. Количественные результаты исследования

Результаты эксперимента приведены в таблицах3 и 4.

Таблица 3. Результаты работы двух систем

P

R

F1

Микроблоги

Томита

0.63

0.58

0.61

Gate

0.52

0.49

0.51

Новости

Томита

0.79

0.81

0.80

Gate

0.76

0.82

0.79

Таблица 4. Результаты на корпусе микроблогов с разбиением по типам именованных сущностей

P

R

F1

Томита

Org

0.59

0.53

0.56

Per

0.71

0.68

0.69

Loc

0.59

0.54

0.56

Gate

Org

0.42

0.37

0.39

Per

0.61

0.59

0.60

Loc

0.54

0.51

0.52

Выводы, направления дальнейшей работы

Оба инструмента показали неплохие результаты (хотя и значительно ниже state-of-the-art показателей) на корпусе микроблогов.

Несмотря на учет особенностей предметной области и разработку специфических словарей для обработки текстов микроблогов, новостные тексты всё же представляют меньшие трудности для обработки.

Так как оба инструмента являются системами, опирающимися на правила, точность их работы может быть весьма высока, т.е. составленные газеттиры и словари замен были недостаточно полными.

...

Подобные документы

  • Информационный анализ и выявление основных сущностей предметной области. Определение взаимосвязей сущностей. Построение концептуальной модели. Логическое моделирование базы данных "Компьютерный мир". Технология сбора, передачи и обработки информации.

    курсовая работа [1,9 M], добавлен 13.02.2014

  • Анализ предметной области - магазин "Канцелярские товары". Проектирование и реализация базы данных в MS SQL Server. Перечень хранимой информации: таблицы, поля, типы. Моделирование предметной области. Выделение сущностей, атрибутов, ключей, связей.

    курсовая работа [2,2 M], добавлен 05.02.2015

  • Понятие информационных систем и принципы их проектирования. Изучение различных методов извлечения знаний, построение оптимальной информационной системы Data Mining, позволяющей разбивать набор данных, представленных реляционными базами данных на кластеры.

    аттестационная работа [4,7 M], добавлен 14.06.2010

  • Выявление сущностей и связей, атрибутов сущностей и назначение первичных ключей при разработке базы данных. Реляционная модель данных. Описание стадий жизненного цикла информационной системы: анализ, проектирование, реализация, внедрение, сопровождение.

    курсовая работа [152,2 K], добавлен 11.05.2014

  • Анализ предметной области, определение сущностей и связей. Разработка базы данных, создание таблиц и запросов. Исходные тексты процедур модулей. Тестирование информационной системы на корректность работы. Схема инфологической модели предметной области.

    курсовая работа [4,3 M], добавлен 19.12.2011

  • Создание динамической модели табеля учета рабочего времени. Формирование счетчика с 1901 по 2012. Формат ячеек. Условный формат для выходных дней. Проектирование динамической модели календаря с помощью именованных констант. Вычисление дат понедельников.

    курсовая работа [6,5 M], добавлен 15.02.2015

  • Понятие семантики; обзор и анализ существующих средств семантического разбора естественно-языковых текстов. Разработка алгоритма работы системы на основе семантического анализа, его реализация на языке программирования; проектирование интерфейса системы.

    дипломная работа [1,7 M], добавлен 18.03.2012

  • Особенности архитектуры Java, виртуальная машина, кроссплатформенность приложений. Информационно-логическая модель предметной области, описание сущностей, атрибутов, ключей, связей. Реализация интерфейса пользователя, принципы разработки инструкции.

    курсовая работа [832,1 K], добавлен 06.01.2014

  • Создание концептуальной (инфологической) модели системы, которая позволила описать сущности предметной области и отношения между ними. Диаграммы функциональных зависимостей атрибутов сущностей базы данных. Разработка программного обеспечения для ЭВМ.

    курсовая работа [877,8 K], добавлен 28.05.2012

  • Гибкая технологии извлечения знаний из нейронных сетей, настраиваемой с учетом предпочтений пользователя. Тестирование, пробная эксплуатация и разработка новой версии программных средств, реализующих данную технологию. Индивидуальные пространства смыслов.

    дипломная работа [336,3 K], добавлен 07.06.2008

  • Анализ предметной области, сущностей и связей между ними. Составление требуемых запросов к базе данных. Анализ разрешений и запретов на операции с табличными данными для различных пользователей. Проектирование пользовательского интерфейса системы.

    курсовая работа [2,2 M], добавлен 13.10.2022

  • Определение предметной области базы данных ("Сеть ресторанов"), виды ее моделирования. Первоначальный набор сущностей и атрибутов предметной области. Процесс смыслового наполнения базы данных. Атрибуты в концептуальной модели. Характеристика видов связей.

    контрольная работа [510,9 K], добавлен 03.12.2014

  • Обзор существующих решений на основе открытых данных. Выбор социальных сетей для извлечения данных. Ограничение геолокации сообщений из социальных сетей. Разработка формата хранения. Визуализация собранных данных методом теплой карты. Архитектура системы.

    дипломная работа [1,0 M], добавлен 18.11.2017

  • Требования, предъявляемые к инфологической модели, ее компоненты. Построение модели и диаграммы "объект — свойство — отношение". Три типа бинарных связей. Подтипы и супертипы сущностей в языках программирования. Каскадные удаления экземпляров сущностей.

    лекция [404,3 K], добавлен 17.04.2013

  • Цель инфологического моделирования предметной области. Источники данных, базы данных и система управления, разработка модели. Принципы проектирования базы данных, концептуальная, логическая, материальная разработка. Типы сущностей, атрибутов и связей.

    курсовая работа [188,6 K], добавлен 15.07.2012

  • Морфологические анализаторы (морфологизаторы) на различных языках программирования. Анализ методов и технологий автоматической обработки ЕЯ-текстов. Разработка модуля графематического анализа и создания таблицы лексем. Программная реализация классов.

    дипломная работа [3,0 M], добавлен 06.03.2012

  • Определение базовых сущностей предметной области. Представление базы данных реляционной моделью. Построение ER-диаграмм. Функции и архитектура информационной системы. Создание таблиц БД на языке SQL Server. Запросы на выборку и манипулирование данными.

    курсовая работа [1,8 M], добавлен 06.05.2015

  • Объектно-реляционное отображение. ORM-фреймворки. Загрузка по требованию как шаблон проектирования. Способы расширения классов-сущностей. Внедрение в байт-код. Загрузка полей и свойств сущностей в detached состоянии. Механизм пакетной выборки.

    курсовая работа [1,1 M], добавлен 07.07.2012

  • Анализ предметной области - магазин "Канцелярские товары". Проектирование и реализация учебной базы данных магазина. Перечень хранимой информации: таблицы, поля, типы. Выделение сущностей, атрибутов, ключей, связей. Создание и запуск базовых запросов SQL.

    курсовая работа [2,4 M], добавлен 09.08.2015

  • Обследование предметной области. Концептуальное проектирование сущностей и атрибутов. Инфологическое проектирование базы данных, ее реляционная модель. Разработка представлений для отображения результатов выборки. Экономическое обоснование результатов.

    курсовая работа [717,7 K], добавлен 23.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.