Введение 4
Глава 1. Машинное обучение в прикладной лингвистике 7
1.1. Общие принципы машинного обучения 7
1.2. Наивный байесовский классификатор 9
1.3. Использование машинного обучения для автоматического анализа
сообщений 10
1.4. Выводы к главе 1 14
Глава 2. Автоматическое выделение новостных сообщений в социальной сети
Twitter 15
2.1. Общее описание эксперимента 15
2.2. Создание обучающей и тестовой выборки 16
2.2.1. Сбор данных 16
2.2.2. Предварительная обработка данных 17
2.3. Обработка данных с помощью программы Weka 18
2.4. Анализ с помощью структурных признаков 19
2.5. Анализ с помощью морфологической информации 23
2.6. Анализ с помощью структурных признаков и морфологической
информации 25
2.7. Анализ с помощью векторных представлений текстов 26
2.8. Анализ с помощью объединенного набора признаков 29
2.9. Сравнение результатов 30
2.10. Выводы к главе 2 31
Заключение 33
Список литературы 35
Приложения 40
Приложение 1. Примеры новостных текстов 40
Приложение 2. Примеры текстов личного характера 41
Приложение 3. Алгоритм выделения количества упоминаний и хэштегов, наличия ссылок в текстах 42
Приложение 4. Алгоритм выделения текстов, содержащих глаголы и имена
собственные 44
Приложение 5. Алгоритм объединения файлов с признаками, использованными на первом и втором этапах анализа 47
Приложение 6. Алгоритм удаления ссылок, имен пользователей и символов хэштега из текстов, записи в файл лемматизированных текстов и объединенного набора признаков 48
Машинное обучение как область знаний занимается разработкой, оценкой и исследованием алгоритмов, способных выявлять скрытые закономерности в больших массивах данных. Методы машинного обучения делают возможной автоматическую классификацию объектов на основе их признаковых описаний. По мере накопления объема анализируемых данных качество классификации улучшается.
Технологии машинного обучения широко используются в различных целях, к примеру, в маркетинговых исследованиях, в медицине, в робототехнике. Их применение возможно в тех областях, где необходима эффективная автоматическая обработка больших массивов эмпирических данных.
Машинное обучение все чаще используется и для решения задач компьютерной лингвистики. В круг таких задач входят машинный перевод, определение тональности (эмоциональной окраски) текстов, морфологический анализ, автоматическая рубрикация текстов, распознавание речи.
В данной работе исследуется возможность использования алгоритмов машинного обучения для автоматического выделения новостных текстов в социальных сетях. С этой целью анализируется массив текстов на русском языке, для которого создается признаковое описание. К полученному массиву описанных по выбранной модели текстов применяется алгоритм машинного обучения. Проверка результатов построения модели по данным проводится с помощью массива ранее не анализировавшихся данных. Результаты работы модели на этих данных сравниваются с информацией об истинной принадлежности текстов классу новостных или личных сообщений. Этот процесс повторяется несколько раз с использованием различных моделей признакового описания текстов, что позволяет выявить лучший набор признаков для классификации сообщений.
Цель работы - сравнительный анализ различных моделей формального признакового описания русскоязычных текстов для выделения новостных сообщений в социальных сетях из общего массива сообщений.
Для достижения этой цели выполняются несколько задач:
• изучение принципов машинного обучения;
• сбор данных, создание тестовой и обучающей выборки;
• разработка алгоритма классификации:
о настройка ПО Weka для работы с русскоязычными текстами, о описание текстов при помощи различных наборов признаков, о преобразование данных в нужный для классификации в Weka формат,
о обучение модели,
о классификация контрольной выборки при помощи построенной
модели,
• оценка результатов классификации.
Материал для исследования - случайная выборка из 1348 коротких текстов на русском языке. Тексты были собраны в социальной сети Twitter при помощи программы Webometric Analyst и затем обработаны. В наборы признаков, использованные на разных этапах работы, вошли векторные представления нелеммати- зированных и лемматизированных текстов, упоминания автором твита профилей других пользователей социальной сети, хэштеги, ссылки в тексте сообщения, а также наличие в сообщении глаголов и имен собственных.
Использованный алгоритм машинного обучения - наивный байесовский классификатор. Он был выбран как достаточно простой, но в то же время эффективный для признаковых пространств большой размерности способ построения обучаемой модели.
Актуальность работы связана с интенсивным развитием использования методов машинного обучения в автоматической обработке текстов, в том числе текстов из социальных сетей, которые становятся все более значимым источником информации о происходящих в мире событиях.
Практическая значимость проделанной работы обусловлена возможностью дальнейшего использования разработанных алгоритмов определения признаков твитов, а также опыта применения ПО Weka для классификации русскоязычных текстов. Полученные модели могут использоваться в качестве первой ступени агрегации новостей в социальной сети Twitter.
В работе был проведен эксперимент по выделению новостных текстов из массива русскоязычных сообщений в социальной сети Twitter с использованием методов машинного обучения.
Для исследования при помощи программы Webometric Analyst был собран массив твитов на русском языке. После предварительной обработки текстов была сформирована выборка из 1348 сообщений (898 сообщений личного характера и 450 новостей).
На языке программирования Python 3 были реализованы алгоритмы выделения различных наборов признаков текстов. На разных этапах было использовано 5 наборов признаков:
1. упоминания пользователей, хэштеги и ссылки в твитах;
2. глаголы и имена собственные в твитах;
3. упоминания, хэштеги, ссылки + глаголы, имена собственные;
4. тексты твитов, преобразованные в векторный формат;
5. тексты твитов, очищенные от ссылок и упоминаний, лемматизированные
при помощи морфологического анализатора MyStem и затем
преобразованные в векторный формат, вместе с информацией об упоминаниях, хэштегах, ссылках, глаголах и именах собственных в исходном тексте твита.
Программа Weka была настроена для работы с русскоязычными текстами (рабочая кодировка изменена на UTF-8, увеличен объем выделяемой на работу программы памяти). Была сформирована обучающая выборка из 899 твитов (599 личных и 300 новостных текстов) и тестовая выборка из 449 твитов (299 личных и 150 новостных текстов). При загрузке в программу Weka типы данных были приведены к нужным при помощи встроенных фильтров, все данные были сохранены в формате .arff. Для классификации был применен наивный байесовский классификатор. Модель проходила обучение на обучающей выборке, эффективность оценивалась по результатам классификации тестовой выборки.
Полнота и точность классификации последовательно улучшалась при использовании более сложных комбинаций признаков. Классификация по количеству упоминаний и хэштегов и наличию ссылок в тексте показала результат в 69,3% верно классифицированных объектов тестовой выборки, но полнота классификации новостных твитов составила лишь 0,213, т.е. для распознавания новостей этих признаков было недостаточно. Использование информации о наличии глаголов и имен собственных позволило увеличить полноту классификации новостей до 0,647, а одновременное использование пяти признаков - до 0,693, причем F-мера стала равна 0,756, и 85% объектов тестовой выборки было верно классифицировано. При классификации по векторным представлениям текстов в исходном виде F-мера полноты и точности для личных и новостных твитов составила 0,917 и 0,859 соответственно. После удаления из текстов лишней информации, лемматизации и добавления признаков из первого и второго набора удалось достичь увеличения F-меры для личных и новостных твитов до 0,955 и 0,908 соответственно. Верно классифицированы были 93,99% объектов тестовой выборки.
Эти результаты позволяют сделать вывод, что алгоритмы машинного обучения и, в частности, наивный байесовский классификатор могут быть с успехом использованы для выделения новостей из массива твитов на русском языке. Одновременное использование различных типов признаков позволяет достичь наилучших результатов.
1. Адаскина Ю.В., Паничева П.В., Попов А.М. Использование синтаксиса для анализа тональности твитов на русском языке // Электронные библиотеки. - Казань, 2015. - Т. 18, № 3-4. - С. 163-184. - [Электронный ресурс]. URL: http: //oj s. kpfu. ru/index.php/elbib/article/view/21/11 (дата обращения: 18.05.2017).
2. Батура Т.В. Математическая лингвистика и автоматическая обработка текстов на естественном языке: учебное пособие. - Новосибирск: РИЦ НГУ, 2016. - 166 с.
3. Васильев В.Г., Худякова М.В., Давыдов С. Классификация отзывов пользователей с использованием фрагментных правил // Компьютерная лингвистика и интеллектуальные технологии. - М., 2012. - Вып. 11, т. 2. - С. 66-76. - [Электронный ресурс]. URL: http://www.dialog-21 .ru/media/1384/132.pdf (дата обращения: 18.05.2017).
4. Воронцов К.В. Математические методы обучения по прецедентам (теория
обучения машин). - 2007. - [Электронный ресурс]. URL:
http://www.machinelearning.ru/wiki/images/6/6d/Voron-ML- 1.pdf (дата обращения: 18.05.2017).
5. Епрев А.С. Автоматическая классификация текстовых документов //
Математические структуры и моделирование / Под ред. А.К. Гуца. - Омск: "Омское книжное издательство", 2010. - Вып. 21. - С. 65-81. - [Электронный ресурс]. URL: http://msm.univer.omsk. su/sbornik/jrn21/sbornik n21 .pdf (дата
обращения: 18.05.2017).
6. Котельников Е.В., Клековкина М.В. Автоматический анализ тональности текстов на основе методов машинного обучения // Компьютерная лингвистика и интеллектуальные технологии. - М., 2012. - Вып. 11, т. 2. - С. 27-36. - [Электронный ресурс]. URL: http://www.dialog-21.ru/media/1380/105.pdf (дата обращения: 18.05.2017).
7. Найденова К.А., Невзорова О.А. Машинное обучение в задачах обработки естественного языка: обзор современного состояния исследований // Ученые записки Казанского государственного университета. - Казань, 2008. - Том 150, кн. 4. - С. 5-24.
8. Протопопова Е.В., Букия Г.Т. Машинное обучение в лингвистике // Прикладная и компьютерная лингвистика / Николаев И.С., Митренина О.В., Ландо Т.М. (ред.). - М.: УРСС, 2016. - 320 с.
9. Расшифровка граммем // Документация MyStem. - [Электронный ресурс].
URL: https://tech.yandex.ru/mystem/doc/grammemes-values-docpage/ (дата
обращения: 18.05.2017).
10. Романов А.С., Мещеряков Р.В. Определение пола автора короткого электронного сообщения // Компьютерная лингвистика и интеллектуальные технологии. - М., 2011. - Вып. 10. - С. 556-561. - [Электронный ресурс]. URL: http://www.dialog-21.ru/media/1456/55.pdf (дата обращения: 18.05.2017).
11. Chikersal P., Poria S., Cambria E., Gelbukh A., Siong C.E. Modelling Public Sentiment in Twitter: Using Linguistic Patterns to Enhance Supervised Learning // Computational Linguistics and Intelligent Text Processing. Part II. - Springer, 2015. - P. 49-65.
12. Hall M., Frank E., Holmes G., Pfahringer B., Reutemann P., Witten I.H. The
WEKA Data Mining Software: An Update // SIGKDD Explorations Newsletter. - 2009. - Volume 11, Issue 1. - P. 10-18. - [Электронный ресурс]. URL: http: //www. cms. waikato. ac. nz/~ml/publications/2009/weka update. pdf (дата
обращения: 18.05.2017).
13. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. - Springer, 2009. - 745 p.
14. Jindal N., Liu B. Opinion Spam and Analysis // Proceedings of the 2008
International Conference on Web Search and Data Mining. - Palo Alto, 2008. - [Электронный ресурс]. URL:
https://pdfs.semanticscholar.org/16f2/deb863ef6d3d6f432de12a2e81149ab03e5a.pdf (дата обращения: 18.05.2017).
15. Kouloumpis E., Wilson T., Moore J.D. Twitter Sentiment Analysis: The Good the Bad and the OMG! // Proceedings of the Fifth International Conference on Weblogs and Social Media. - AAAI Press, 2011. - P. 538-541. - [Электронный ресурс]. URL: http://www.research.ed.ac.uk/portal/files/18447136/Kouloumpis Wilson ET AL 2011
Twitter Sentiment Analysis The Good the Bad and the OMG.pdf (дата
обращения: 18.05.2017)...