Анализ настроений с использованием тензорного потока

Я изучаю тензорный поток и хотел бы провести анализ настроений с использованием доступных опций. Я посмотрел следующий учебник http://www.tensorflow.org/tutorials/recurrent/index.html#language_modeling

Я работал с наивным байесовским классификатором, алгоритмом максимальной энтропии и Scikit Learn Classifier и хотел бы знать, есть ли какие-либо лучшие алгоритмы, предлагаемые методом тензорного потока. Это подходящее место для запуска или есть другие варианты?

Приветствуется любая помощь, указывающая в правильном направлении.

Спасибо заранее.

Ответ 1

Обычно используемый подход будет использовать сверточную нейронную сеть (CNN) для анализа настроений. Вы можете найти отличное объяснение/учебник в этом Wildbl blogpost. Сопроводительный код TensorFlow можно найти здесь.

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

Ответ 2

Для меня проще всего было следовать следующему: https://pythonprogramming.net/data-size-example-tensorflow-deep-learning-tutorial/?completed=/train-test-tensorflow-deep-learning-tutorial/

Проводит вас через TensorFlow.train.AdamOptimizer().minimize(cost) и использует набор данных Sentiment140 (из Стэнфорда, ~ 1 мил примеров положительного и отрицательного настроений)

Ответ 3

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

Я написал довольно длинную статью, в которой вы можете найти здесь, где я проходил ее реализацию в TensorFlow по очереди. В результате получается модель размером менее 100 МБ и достигает точности более 80% на тестовом наборе из 80 000 твитов.

Другим подходом, который оказался очень эффективным, является использование рекурсивной нейронной сети, вы можете прочитать статью из группы Stanford NLP здесь