Стэнфордская нейросеть определяет тональность текста с точностью 85%, код отдадут в Open Source

    Sentiment analysis (по-русски, анализ тональности) — это область компьютерной лингвистики, которая занимается изучением эмоциональной окраски текстов, подробнее см. в статье Irokez’а. Это очень важное направление машинного обучения: анализ тональности нужен для лучшего «понимания» текстов, перевода с одного языка на другой.

    Сложность задачи заключается в непростых лингвистических конструкциях, которые часто используют люди. Даже человек не сразу распознает негатив во фразе вроде «В этой книге хороша только обложка». Как обучить этому компьютер?

    Точность определения эмоций у лучших компьютерных программ до сегодняшнего дня составляла не более 80%. Группе учёных из Стэнфорда при участии небезызвестного Эндрю Нг удалось довести её до 85%, а при дальнейшем обучении рекурсивной нейросети точность вполне может повыситься до 95%, говорит один из авторов исследования. Заметим, что 95% — это будет абсолютно феноменальный результат, не все люди способы распознавать сарказм и определять тональность слов с такой точностью.

    Для первоначального обучения нейросети учёные использовали набор данных из 12 000 кинорецензий, которые разбили на отдельные фразы с помощью автоматического парсера. В результате получилось 215 тыс. фраз. Каждая из них была прочитана тремя людьми с проставлением оценки по степени положительной или отрицательной тональности. На скриншоте показан интерфейс, который предлагался пользователям Amazon Mechanical Turk.



    Авторы создали модель NaSent (Neural Analysis of Sentiment), которую называют рекурсивной тензорной нейросетью (Recursive Neural Tensor Network) для обработки отдельных слов в каждой фразе, построения дерева взаимосвязей и анализа, какую эмоциональную окраску несёт каждое слово и как слова влияют друг на друга.

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



    Анализ фразы "Unlike the surreal Leon, this movie is weird but likeable" выдаёт общий положительный результат (синий), сочетание «странный, но приятный» правильно распознаётся как положительное



    Фраза из тех же слов, но в другом порядке "Unlike the surreal but likeable Leon, this movie is weird" корректно распознаётся как отрицательный отзыв (красный цвет в общей оценке)

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



    Онлайновая демонстрация программы на произвольном тексте
    Научная работа (pdf)
    Набор данных для обучения нейросети (6 МБ)
    Код программы (будет опубликован перед конференцией EMNLP, которая начинается 18 октября)
    Поделиться публикацией
    Комментарии 33
      –10
      Замечательная разработка! Но есть риск, что её используют следящие органы для предварительной фильтрации перехваченных сообщений. Как бы не дошло до «аккаунт заблокирован, так как в сообщениях замечена необычная интонация». И применение для цензуры.
        +1
        … предыдущий комментарий стоил бюджету Российской Федерации 30 миллиардов рублей… [/sarcasm]
        +45
        Ждём скрипт для автоматической подсветки сарказма в комментариях на хабре.
          +17
          Блин, а вот это был сарказм или нет?
            +10
            Не ясно насчёт сарказма, но по крайней мере некоторый негатив нейросеть в этом комментарии усмотрела.

              0
              В русском языке иногда сарказм можно передать интонацией только в устной речи.
                +5
                Не только в русском.
                0
                Почему ветка помечена минусом, если в ней один плюс и куча нулей?
                look forward to — явно позитивное словосочетание.
                  0
                  Если понаводить мышкой на узлы, видно, что там не одна оценка, а распределение между пятью вариантами, которое накапливается от дочерних узлов вверх. Так что из казалось бы нулей может получиться почти что угодно.
                +2
                Ну да. Конечно.
                  +6
                  Да нет, наверное.
            +2
            Группе учёных из Стэнфорда при участии небезызвестного Эндрю Нг удалось довести её до 85%

            Кстати, три дня назад он начал еще раз вести курс «Machine Learning» на Курсере: www.coursera.org/course/ml
              0
              Еще один шажок к очеловечиванию машины
                0
                На нейтральных фразах (сейчас специально надёргал из рассылок) начинает клинить. Например, вот эта фраза была сочтена скорее негативной:

                I scoured the internet as much as I could Friday and could find any reference to any situation like this but if I missed something I apologize.
                  +4
                  Эта фраза скорее некорректно построена. Чего сказать-то хотели?
                    –2
                    Человек гуглил настолько, насколько можно в пятницу (вечером) но не нашёл никаких упоминаний о проблеме, но если пропустил, то извините.

                    Скорее вежливое и положительное.
                      0
                      Вежливое — да. Но ничего положительного в данной ситуации в общем-то, не произошло.
                        0
                        Лично меня смущает could Friday — при анализе Friday могло восприняться как глагол. Кроме того, написано, что он таки мог найти любые ссылки на любые похожие ситуации (что бы это вообще значило? нашел? не нашел? мог, но не нашел? мог, но забил?).

                        I scoured the internet [...] and could find any reference [...]

                        Где вы тут вообще отрицание видите?
                          0
                          очевидно, что пропущено «not». (это фраза из списка рассылки), человеку это понятно — роботу… Ну, как всегда.
                            +3
                            Роботу — да. Garbage in — garbage out.
                      +3
                      На мой взгляд, эта фраза чисто негативная:
                      1) человек пишет, что при поиске был ограничен по времени;
                      2) человек не смог ничего найти;
                      3) человек замечает, что мог что-то упустить;
                      4) человек приносит извинения.
                        0
                        По пункту 4му непонятно. Извиняться — негативно?
                          +3
                          Негативно чувство вины, а извинения — внешнее проявление этого чувства.
                        0
                        И что эта фраза говорит о фильме? Не забывайте, что программа обучена пониманию тональности рецензий фильмов. Логично, что для других текстов она выдает произвольный результат.
                          0
                          ок, пропустил «кинорецензий». Виноват.
                        +4
                        Дейта будет счастлив.
                          +5
                          Вещчь забавная, идея работы понятна: взять тот же стенфордский синтаксический парсер, строящий дерево зависимостей, разметить примеры и обучить нейросеть.

                          Но протестируем:
                          However, sales of its new Lumia phones, which run a Microsoft operating system, rose during the period. — нейтрально — со сложными предложениями не работает;
                          Nokia shares jumped 45% on news of the deal. — показывает негатив, вместо позитива — экономика в пролете;
                          Manchester United beat Liverpool 1-0 in an entertaining Capital One Cup tie. — позитив, но кому: Манчестеру или Ливерпулю (думаю, болельщики Ливерпуля не обрадуются)?
                          и т.д.

                          Выводы:
                          1) заточена под очень конкретную тему;
                          2) говорить о 85% точности — очень рано, а дообучить до 95% — привет фантастам;
                          3) главный недостаток этой игрушки (как и большинства движков по тональности) — нет привязки к объекту: тональность показывается для предложения в целом.

                          ИМХО: в практическом использовании такая штука не то, чтобы совершенно бесполезна, но очень узко применима.
                            +3
                            Нужно протестировать ее сценарием для House M.D.
                              +1
                              Назвали бы ее «Шелдон»
                                +2
                                Как корабль назовёшь, так он и поплывёт…
                                  0
                                  «Анти-Шелдон».
                                0
                                Анализ отдельных слов без учета метафорических, идиоматичных выражений и различных инверсий смысла дает по ним неверный результат. Например, He showed indifference to the difficulties in his way — считается этим анализатором ярко отрицательным выражением, хотя в действительности оно говорит о стойкости как положительном качестве, но говорит через «отрицательные» слова. И, наоборот, тоже получается смешно, когда ирония (отрицательная оценка) выражается через положительные слова, что кстати очень распространено в комментариях. Например, Oh yes, he distinguished himself as the master mind оценено как сплошь положительная сентенция ))

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

                                Самое читаемое