ВВЕДЕНИЕ 4
1. ПОСТАНОВКА ЗАДАЧИ 5
2. ЭТАПЫ ВЫПОЛНЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ 6
2.1. Поиск и формирование базы текстов 6
2.2. Предварительная обработка документов 8
2.3. Использованные методы машинного обучения 9
2.3.1. Описание использованных методов машинного обучения 9
2.3.2. Общая постановка задачи обучения по прецедентам 11
2.3.3. Математическая постановка задачи обучения по прецедентам 12
3. ВЫБОР СРЕДСТВ РЕАЛИЗАЦИИ 14
3.1. Выбор языка программирования и среды разработки 14
3.2. Используемые пакеты 15
4. РЕАЛИЗАЦИЯ АЛГОРИТМОВ В СРЕДЕ R 16
4.1. Создание объекта «корпус» 17
4.2. Предварительная обработка 19
4.3. «Стемминг» 20
4.3.1. Стеммер Портера 21
4.3.2. Стеммер Яндекса 23
4.4. Матрица терминов-документов (документов-терминов) 26
4.3.1. «Мешок слов» (англ. bag of words) 26
4.3.2. Матрица TF-IDF (Term Frequency-Inverse Document Frequency) 31
4.3.2.I. Метод обработки информации LSA (англ. Latent semantic analysis) 33
4.5. Применение методов машинного обучения 35
4.5.1. Классификация 36
4.5.2. Кластеризация 43
ЗАКЛЮЧЕНИЕ 59
СПИСОК ЛИТЕРАТУРЫ 60
ПРИЛОЖЕНИЕ - ЛИСТИНГ ПРОГРАММЫ 62
Любая организация, представленная в информационной среде, обладает большим количеством неструктурированных данных. Эти данные могут включать в себя веб-страницы, стенограммы, опросы, формы обратной связи, юридические документы, форумы, социальные сети, статьи в блогах и так далее. Для получения дополнительных данных и повышения производительности, организации должны анализировать не только транзакционную информацию (шаблонное описание действий), но и текстовое содержимое. Мощным инструментом для анализа текстового контента является интеллектуальный анализ текста.
Интеллектуальный анализ текстов (англ.: text mining) - направление в искусственном интеллекте, набор технологий и методов, предназначенных для извлечения информации из текстов. Цель text mining - обрабатывать неструктурированную текстовую информацию, извлекать структурированные данные из текста и, таким образом, делать информацию, содержащуюся в тексте, доступной для различных алгоритмов интеллектуального анализа данных.
Для обработки текстов обычно применяются такие методы машинного обучения, как кластеризация, классификация, ассоциативные правила и интеллектуальное моделирование. С помощью этих методов появляется возможность извлекать информацию из данных и использовать её для автоматизации процессов, которые в противном случае выполнялись бы вручную, и разрабатывать продукты, которые лучше отвечают потребностям клиентов.
Данная работа посвящена изучению технологий text mining, и применению методов машинного обучения к обработанным текстам. С помощью технологии интеллектуального анализа текста происходит классификация и кластеризация статей российских медиа по заданным категориям. Классификация документов является одной из основных задач для разрабатываемой системы в рамках данной научной работы, что в дальнейшем может позволить перейти от ручной обработки документов к автоматизированной.
Разница между общим интеллектуальным анализом данных (data mining) и текстовым интеллектуальным анализом (text mining) заключается в том, что в текстовом режиме информативные данные извлекаются из текста естественного языка, а не из структурированных баз данных. Базы данных предназначены для автоматической обработки программами, в то время как текст написан для чтения людьми. Насколько нам известно, в настоящее время не существует программ, которые могут «читать» текст и осмысливать его наравне с человеком: скорее всего, в обозримом будущем такие программы не появятся. Многие исследователи считают, что разработки в этой области потребуют полного моделирования того, как работает мозг человека, прежде чем появится возможность написать программы, которые читают текст и осмысливают прочитанное так же, как это делают люди.
В ходе выполнения данной работы был получен инструмент, который позволяет отнести текстовый документ к одной из следующих тем: культура, наука, общество, политика, экономика. Также в данной работе было проведено исследование влияния различных методов обработки текстовых данных на результаты решения данной задачи и сформулированы следующие выводы:
1. Задача категоризации текстовых документов допускает постановку в виде задачи классификации и кластеризации и, как следствие, допускает применение методов машинного обучения.
2. Для решения задач классификации и кластеризации предварительная обработка текстовых данных является одним из основных этапов, который оказывает большое влияние на точность работы алгоритмов машинного обучения.
3. Для базы статей, полученной из новостных порталов РИА Новости и КП (Комсомольская правда) методы классификации дали более высокую степень качества, чем методы кластеризации.
4. Наиболее точным методом классификации оказался метод максимальной энтропии при использованием матрицы типа «bag of words» и стеммера Портера с 86% точностью.
5. Кластеризация полученных объектов в рамках задачи четкой кластеризации оказалась невозможной, так как содержимое статей медиа порталов сложно однозначно отнести к какой либо теме.
1. https: //www.liveinternet.ru/rating/ru/ - портал, предоставляющий услуги
статистики сайтов и ведения онлайн-дневников (блогов), а также другие различные сервисы, охватывающие широкий круг потребностей аудитории.
2. https://www.kp.ru - советская и российская ежедневная общественно - политическая газета, а также интернет-издание, радиостанция и телеканал.
3. https://ria.ru - российское агентство международной информации, бывшая медиагруппа и одно из крупнейших информационных агентств мира
4. https://lenta.ru - одно из ведущих российских новостных интернетизданий.
5. https://www.rotatingscrew.com - адрес, для скачивания бесплатной программы для пакетного конвертирования файлов из кодировки windows-1251 в UTF-8.
6. https://ru■wikipedia■org/wiki/Машинное обучение - свободная энциклопедия, машинное обучение.
7. https: //blo g. arcbees. com/2016/12/29/a-non-technical-guide-to- understanding-machine-learning/ - Charles-Antoine Richard, статья о машинном обучении.
8. http://www.machinelearning.ru/wiki/index.php?title=Q6v4eHHe по прецед ентам - профессиональный информационно-аналитический ресурс, посвященный машинному обучению, распознаванию образов и интеллектуальному анализу данных.
9. http://www.machinelearning.ru/wiki/images/6/6d/Voron-ML- 1.pdf - К. В. Воронцов, статья «Математические методы обучения по прецедентам (теория обучения машин)».
10. https://ru.wikipedia.org/wiki/R (язык программирования) - свободная энциклопедия, R (язык программирования).
11. https://www.rdocumentation. org/packages/tm/versions/0.7-3/topics/Corpus - RDocumentation, corpus.
12. https://ru■wikipedia■org/wiki/Стeмминг - свободная энциклопедия, стемминг.
13. https://github.com/ladamalina/php-lingua-stem-ru - крупнейший вебсервис для хостинга IT-проектов и их совместной разработки, стеммер Портера.
14. https://tech.yandex.ru/mystem/ - технологии и инструменты Яндекса, стеммер MyStem; адрес для скачивания бесплатной программы MyStem, для проведения морфологический анализа текста на русском языке.
15. https://edu.kpfu.ru/pluginfile.php/274079/mod resource/content/2/DatMin ingBusAnalytics.pdf - Galit Shmueli, Peter C. Bruce, Inbal Yahav, Nitin
R., Patel, Kenneth C. Lichtendahl, Jr., «Data mining for business analytics», 2018.
16. https://ru■wikipedia■org/wiki/Латeнтно-сeмантичeский анализ -
свободная энциклопедия, латентно-семантический анализ.
17. https://cran.r-project.org/web/packages/lsa/lsa.pdf - документация по пакету lsa.
18. https://ru.wikipedia.org/wiki/Random forest - свободная энциклопедия, алгоритм машинного обучения random forest.
19. http://it-claim.ru/Persons/Neyskiy/Article2 Neiskiy.pdf - Нейский И.М., «Классификация и сравнение методов кластеризации». - 3 с.
20. http://eprints.cs.vt.edu/archive/00001000/01/docclust.pdf - Nicholas O. Andrews and Edward A. Fox, Department of Computer Science, Virginia Tech, Blacksburg, VA 24060, (nandrews, fox}@vt.edu, «Recent Developments in Document Clustering», October 16, 2007. - 4 с.
21. https: //ru. coursera. org/learn/vvedenie-mashinnoe- obuchenie/lecture/o4Ij7/klastierizatsiia - видео материал по теме кластеризации проекта «Corsera».