Назад в библиотеку

Определение тональности текста на основе модели Bag-Of-Words

Автор: Пилипенко А. С., Коломойцева И. А.
Источник: А.С. Пилипенко, И.А. Коломойцева. Определение тональности текста на основе модели Bag-Of-Words // Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ – 2020) / Сборник материалов XI Международной научно-технической конференции. – Донецк, ДонНТУ – 2020, с. 77 – 81.


Аннотация

Пилипенко А.С., Коломойцева И.А. Определение тональности текста на основе модели Bag-of-words. Рассмотрена задача определения тональности текста с помощью модели Bag-of-words, указаны преимущества и недостатки использования этой модели для решения поставленной задачи.

Общая постановка проблемы

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

Основные методы Text Mining

Перед рассмотрением модели Bag-of-words и метода определения тональности текста необходимо рассмотреть общую концепцию Text Mining (Интеллектуальный анализ текстов).

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

Ключевыми группами задач являются:

Важно понимать, что такое категоризация документов.

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

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

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

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

Основные этапы Text Mining (Рис. 1):

  1. поиск информации;
  2. предварительная обработка документов;
  3. извлечение информации;
  4. применение методов Text Mining;
  5. интерпретация результатов [1].
Рис 1. Этапы Text Mining
Рис 1. Этапы Text Mining

Перейдём к одной из задач Bag-of-words, обработке и извлечению информации, а именно к определению тональности текста.

Анализ тональности текста

Тональность – это эмоциональное отношение автора высказывания к какому-либо объекту, выраженного в тексте. Этим объектом может быть объект реального мира, процесс, свойство, атрибут, событие [2].

Анализ тональности текста – это класс методов контент-анализа (data-mining), в компьютерной (вычислительной) лингвистике, предназначенный для автоматизированного поиска в текстах эмоционально окрашенной лексики и мнений авторов по отношению к объектам, речь о которых идёт в тексте [3].

Основными задачами анализа тональности являются:

Оценку тональности можно задавать к примеру, в процентах (%).

Таким образом тональность может быть:

Так же может быть:

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

Существует множество методов определения тональности текста, существует много библиотек для различных языков программирования. Все методы и библиотеки имеют свои преимущества и недостатки. Рассмотрим метод определение тональности на основе модели Bag-of-words.

Концепция модели Bag-of-words и её исследование

Модель Bag-of-Words (Мешок слов) – это упрощенное представление, используемое при обработке естественного языка и поиске информации. В этой модели текст (такой как предложение или документ) представлен как мешок (мультимножество) его слов, игнорируя грамматику и даже порядок слов, но сохраняя при этом множественность.

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

Часто модель встречается в виде матрицы, в которой строки соответствуют одному тексту, а столбцы – это слова, включенные в него. Все эти слова в соответствующем документе [5].

Рассмотрим простой пример работы данной модели для понимания.

Допустим, мы имеем предложение:

Много людей в этом зале. Я тоже в зале. Я огорчён.

Теперь, игнорируя знаки препинания и регистр (данные шаги должна выполнять библиотека), мы можем выявить с предложения множество слов:

M1 (массив) = [много, людей, в, этом, зале, я, тоже, в, зале, я, огорчён];

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

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

V1 (вектор) = {много:1, людей:1, в:2, этом:1, зале:2, я:2, тоже:1, огорчён};

Как видно, слова в векторе (массиве) – это уникальные слова текста, который анализируется. Поэтому данный вектор можно назвать словарём (в него помещаются только уникальные значения, но с учётом количества). Говоря языком множеств, вектор текста будет равен объединению (суммой) векторов предложений, но с учётом количества (кратности).

Данная модель используется в основном для извлечения (parsing) информации из текста. После этого этапа есть несколько вариантов того, что можно узнать о тексте. Например, самым простым вариантом является извлечения самого встречающегося слова или, к примеру, определение процента водности текста, но нас интересует на данный момент определение тональности.

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

Таблица 1 – Словарь слов
много 0,01
людей 0,01
в 0
этом 0
зале 0
я 0,01
тоже 0,01
огорчён -0,02

В нашем представленном случае, оценка тональности указывает на сколько процентов увеличивается эмоциональная окраска текста (оценка со знаком + увеличивает общую оценку текст в позитивную часть, а 0 – ничего не меняет в оценке текста, оценка со знаком - ведёт текст к негативной оценке тональности).

После Подключения словаря необходимо выполнить сравнения слов и посчитать общую оценку. В нашем случае, если использовать такой словарь, то изначально оценка 0,5 – нейтральная (50%).

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

Выполняем счёт (0 не считаем):

0,5+0,01+0,01+0,01*2+0,01-0,02=0,5+0,05-0,02=0,5+0,03=0,53.

Таким образом видно, что наш текст является позитивным по тональности. Однако следует также учесть, что данная оценка является не точной (объективной). Для более точной оценки нужны более точные словари.

Выводы

Делая выводы, можно сказать, что модель bag-of-words является достаточно простой моделью для определения характеристик текста.

Преимущества:

Недостатки:

Список использованной литературы

  1. Hotho, A., Nurnberger, A. and Paa?, G. (2005). A brief survey of text mining. In Ldv Forum, Vol. 20(1), p. 19 – 62.
  2. Sivic, Josef (April 2009). Efficient visual search of videos cast as text retrieval (PDF). IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 31, NO. 4. IEEE. pp. 591 – 605.
  3. Bo Pang, Lillian Lee. Opinion Mining and Sentiment Analysis [Текст] / Bo Pang, Lillian Lee // Foundations and Trends in Information Retrieval : журнал. – 2008. – No. 2. – P. 1 – 135.
  4. Bing Liu. Sentiment Analysis and Subjectivity // Handbook of Natural Language Processing (англ.) / под ред. N. Indurkhya и F. J. Damerau. – 2010.
  5. I. Chetviorkin, P. Braslavskiy, N. Loukachevich, Sentiment Analysis Track at ROMIP 2011 In Computational Linguistics and Intellectual Technologies: Proceedings of the International Conference Dialog 2012, Bekasovo, 2012, pp. 1 – 14.