Точность анализа настроений на основе лексики

Я использую различные методы анализа настроений для набора данных Twitter, которые я получил. Они основаны на лексиконе (Vader Sentiment и SentiWordNet) и поэтому не требуют предварительно размеченных данных.

Мне было интересно, есть ли метод (например, F-Score, ROC/AUC) для расчета точности классификатора. Большинство известных мне методов требуют цели для сравнения результата.


person mitalip    schedule 18.12.2017    source источник
comment
Вы ничего не сказали нам о третьем методе, который вы используете: если он не имеет отношения к вашему вопросу, может быть более чистым вопросом будет удаление упоминания о нем.   -  person Darren Cook    schedule 19.12.2017
comment
@DarrenCook Третий метод - Наивный Байес. Я отредактировал вопрос соответственно.   -  person mitalip    schedule 21.12.2017


Ответы (2)


Что я сделал для своего исследования, так это взял небольшую случайную выборку этих твитов и вручную пометил их как положительные или отрицательные. Затем вы можете рассчитать нормализованные баллы с помощью VADER или SentiWordNet и вычислить матрицу путаницы для каждого из них, которая даст вам ваш F-балл и т. д.

Хотя это может быть не особенно хороший тест, так как он зависит от образца твитов, который вы используете. Например, вы можете обнаружить, что SentiWordNet классифицирует больше вещей как отрицательные, чем VADER, и, следовательно, имеет более высокую точность, если ваша случайная выборка в основном отрицательная.

person Josh Dando    schedule 22.04.2018

Короткий ответ — нет, я так не думаю. (Итак, мне было бы очень интересно, если бы кто-то еще опубликовал метод.)

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

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

Обычный подход состоит в том, чтобы пометить некоторый процент ваших данных и предположить/надеется, что он репрезентативен для всех данных.

person Darren Cook    schedule 19.12.2017