Введение
Постановка задачи
Обзор литературы
Глава 1. Описание применяемых методов и алгоритмов
1.1. Линейная регрессия
1.2. Наивный байесовский классификатор
1.3. Дерево принятия решений
Глава 2. Сбор и обработка данных
2.1. Формирование новостной коллекции.
2.2. Подготовка данных к обучению
Глава 3. Поиск темпоральных выражений
3.1. Разметка обучающей коллекции
3.2. Составление лингвистических правил
3.3. Применение классификатора и поиск
темпоральных выражений
Глава 4. Результаты и выводы
4.1. Сравнение классификаторов
4.2. Итоговая сортировка
Заключение
Список литературы
Приложение
В жизни современного человека интернет играет огромную роль.
Основная причина этого заключается в информативности упомянутого
ресурса. С помощью интернета люди могут быстро получать информацию о
последних событиях во всем мире.
Во всемирной паутине каждый день появляется неисчислимое
количество новостных публикаций, при этом все большее количество людей
используют именно интернет для ознакомления с новостями.
Новостные публикации часто содержат в себе описания всевозможных
событий, которые происходят в различное время. Некоторые
последовательные и относящиеся друг к другу события могут быть указаны в
различных новостных статьях. Зачастую, людям интересно проследить
хронологию событий, узнать, как они развивались, что и когда происходило или произойдет.
Решение задачи, поставленной в данной работе, поможет выделить
среди многообразия новостных публикаций события с соответствующими им
датами и упорядочить их хронологически.
Постановка задачи
Целью данной работы является разработка программы, способной из
некоторой новостной коллекции на русском языке выделить темпоральные
выражения вместе с соответствующими им событиями и отсортировать их в порядке хронологии.
Темпоральным выражением будем называть последовательность
символов (слова, цифры и знаки), которая обозначает время, выраженное
моментом времени, периодом или частотой.
Для достижения поставленной цели необходимо реализовать следующие задачи:
• Формирование обучающей и тестовой коллекции новостных публикаций.
• Разделение полученных текстов новостей на предложения, а предложений на слова.
• Разметка обучающей коллекции с точки зрения наличия
• Составление лингвистических правил для применения методов машинного обучения;
• Определение наличия темпорального выражения в каждом предложении
с использованием методов машинного обучения.
• Приведение темпоральных выражений к единому формату и
упорядочивание их в хронологическом порядке вместе с соответствующими им событиями
В ходе написания данной работы была разработана программа,
выделяющая из новостной русскоязычной коллекции события с
темпоральными выражениями и сортирующая их в порядке хронологии.
Были реализованы следующие модули программного комплекса:
1) Сбор коллекции новостных публикаций.
2) Разделение полученных текстов новостей на предложения, а предложений на слова.
3) Использование методов машинного обучения для определения
наличия темпоральных выражений в каждом предложении с помощью
произведенной ранее разметки и составленных лингвистических правил.
4) Поиск темпоральных выражений в найденных предложениях.
5) Приведение темпоральных выражений к единому формату и
упорядочивание их в хронологическом порядке вместе с соответствующими им событиями.
В дальнейшем планируется улучшить результаты исследования,
сделать лингвистические признаки более точными и охватывающими,
повысить точность поиска темпоральных выражений.
1. Markup Language for Temporal and Event Expressions
http://www.timeml.org/
2. J. Pustejovsky, K. Lee, H. Bunt, L. Romary. “ISO-TimeML: An
International Standard for Semantic Annotation”, Proceedings of the 7th
International Conference on Language Resources and Evaluation, LREC’10
(Valletta, Malta, 17–23 May, 2010), pp. 394–397.
3. Н. С. Ландо, TimeML для разметки русскоязычных текстов.
Оценка перспектив, Программные системы: теория и приложения, 2016, том
7, выпуск 4, 249–265
4. Новости Санкт-Петербурга — Фонтанка.ру http://www.fontanka.ru/
5. Natural Language Toolkit - NLTK 3.0 documentation
http://www.nltk.org/
6. Морфологический анализатор pymorphy2
https://pymorphy2.readthedocs.io/en/latest/
7. Dateparser – python parser for human readable dates
https://dateparser.readthedocs.io/en/latest/