Изменения

Перейти к: навигация, поиск

Классификация текстов и анализ тональности

87 байт добавлено, 18:18, 16 февраля 2020
м
исправление английских слов по шаблону (англ. document classification)
Многие коммерческие системы используют данный подход, несмотря на то что он требует больших затрат, так как для хорошей работы системы необходимо составить большое количество правил. Зачастую правила привязаны к определенному домену (например, «ресторанная тематика») и при смене домена («обзор фотоаппаратов») требуется заново составлять правила. Тем не менее, этот подход является наиболее точным при наличии хорошей базы правил.
Подходы, основанные на '''словарях''', используют так называемые тональные словари (англ. ''affective lexicons'') для анализа текста. В простом виде тональный словарь представляет из себя список слов со значением тональности для каждого слова. Вот пример из базы ANEW<ref>[https://www.mdpi.com/2076-3417/8/2/274/html Анализ ANEW dataset]</ref>, переведенный на русский, где число означет валентность(1-9):
*счастливый - 8.21;
*хороший - 7.47;
Прежде всего следует предобработать текст. Подробно методы предобработки описаны в [[Обработка естественного языка|соответствующей статье]]
==== Векторное представление слов ====
Большинство математических моделей работают в векторных пространствах больших размерностей, поэтому необходимо отобразить текст в векторном пространстве. Основным походом является мешок слов (англ. ''bag-of-words''): для документа формируется вектор размерности словаря, для каждого слова выделяется своя размерность, для документа записывается признак насколько часто слово встречается в нем, получаем вектор. Наиболее распространенным методом для вычисления признака является TF-IDF<ref>[https://en.wikipedia.org/wiki/Tf%E2%80%93idf TF-idf]</ref> и его вариации (TF — частота слова, (англ. ''term frequency''), IDF — обратная частота документа, (англ. ''inverse document frequency'')). Плюсами мешка слов является простая реализация, однако данный метод теряет часть информации, например, порядок слов. Для уменьшения потери информации можно использовать мешок N-грамм (добавлять не только слова, но и словосочетания), или использовать более сложные в плане вычислений методы векторных представлений слов(Word2vec или его улучшение, fastText) это, например, позволяет снизить ошибку на словах с одинаковыми написаниями, но разными значениями и наоборот. Подробнее можно прочитать в [[Векторное представление слов|данной статье]].
=== Алгоритмы классификации ===
===== Многомерная модель =====
В многомерной(англ. ''multivariate'') модели документ – это вектор бинарных атрибутов, показывающих, встретилось ли в документе то или иное слово. Когда мы подсчитываем правдоподобие документа, мы перемножаем вероятности того, что встретилось каждое слово из документа и вероятности того, что не встретилось каждое (словарное) слово, которое не встретилось. Получается модель многомерных испытаний Бернулли. Наивное предположение в том, что события «встретилось ли слово» предполагаются независимыми.
Математически: пусть <math>V = \{w_t\}_{t=1}^{|V|}</math> – словарь. Тогда документ <math>d_i</math> – это вектор длины <math>|V|</math>, состоящий из битов <math>B_{it}</math>. <math>B_{it} = 1</math> тогда и только тогда, когда слово <math>w_{t}</math> встречается в документе <math>d_{i}</math>.
===== Мультиномиальная модель =====
В мультиномиальной(англ. ''multinomial'') модели документ – это последовательность событий. Каждое событие – это случайный выбор одного слова из того самого мешка слов. Когда мы подсчитываем правдоподобие документа, мы перемножаем вероятности того, что мы достали из мешка те самые слова, которые встретились в документе. Наивное предположение в том, что мы достаём из мешка разные слова независимо друг от друга. Получается мультиномиальная генеративная модель, которая учитывает количество повторений каждого слова, но не учитывает, каких слов нет в документе.
Математически: пусть <math>V = \{w_t\}_{t=1}^{|V|}</math> – словарь. Тогда документ <math>d_i</math> – это вектор длины <math>|V|</math>, состоящий из слов, каждое из которых «вынуто» из словаря с вероятностью <math>P(w_t|c_j)</math>.
==== Метод опорных векторов ====
Для использования [[Метод опорных векторов (SVM)|метода опорных векторов]]((англ. ''SVM, support vector machine)'') требуется представлять каждый документ, как вектор, задаваемый своим содержимым в общем векторном пространстве. После этого строится разделяющая гиперплоскость для каждого известного класса.
Преимущества метода:
3
правки

Навигация