Доктор Стилианос Кампакис – через The Data Scientist

Мнения о майнинге в Интернете

Анализ тональности — одно из самых успешных и распространенных приложений для обработки естественного языка. Однако, несмотря на всю шумиху, которую он вызвал с момента своего создания, с ним все еще связано много проблем.

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

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

Проблемы с анализом настроений

Проблема 1. В вашем домене слова имеют противоположное значение

Быть «агрессивным» в большинстве ситуаций считается не очень хорошей чертой. Тем не менее, быть агрессивным, когда вы нападающий в футболе, может быть очень хорошо. Контракт еще более заметен благодаря таким словам, как «убийца». Нападающий в футболе, который является «убийцей» или имеет «инстинкт убийцы», вероятно, является хорошим спортсменом. Однако мало кто подумает, что «убийца» в реальной жизни — это хорошо. Механизмы анализа настроений общего назначения будут очень запутаны в этом контексте.

Проблема 2. Смайлики и их использование

Иногда люди могут проявить творческий подход к использованию смайликов. Например, 😉 можно интерпретировать как отрицательное или положительное. Фактическое значение зависит от контекста. Если вы зайдете на emojitracker, то найдете огромное количество эмодзи. Значение многих из них (например, рыбы) может быть сложным для изучения для модели машинного обучения. Это может быть очень важным вопросом для таких тем, как сарказм, который является следующей темой в нашем списке.

Проблема 3. Ирония и сарказм

В общем, это один из Святых Граалей НЛП. Алгоритмы все еще пытаются понять сарказм и иронию. Это общеизвестно трудная проблема. В последнее время наблюдается некоторый прогресс за счет использования глубоких нейронных сетей. В недавней статье сделан вывод, что сарказм зависит от темы и зависит от контекста. Это означает, что алгоритму нужна дополнительная информация, чтобы правильно классифицировать сарказм.

Это делает задачу значительно более сложной, чем просто понимание того, имеют ли некоторые слова положительное или отрицательное значение, и может потребовать предварительно обученных вложений слов и моделей личности. Решение, согласно этой статье, заключается в использовании сверточных нейронных сетей. Свертки — очень интересный метод глубокого обучения. Если вам интересна тема, эта статья, а также эта хорошо объясняют, как их можно использовать в тексте.

Проблема 4. Реальные знания

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

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

Решение проблем в анализе настроений

Итак, что можно сделать, чтобы решить эти проблемы? Это несколько разные решения.

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

Другое решение состоит в том, чтобы выяснить, насколько серьезна проблема в целом. Вполне вероятно, что проблема проявляется только в подмножестве данных. Возможно, вы сможете придумать более целенаправленные модели для этой части данных. Может быть, использовать некоторые простые эвристики для решения проблемы. Например. в приведенном выше примере со словом «агрессивный» в контексте спорта возможное решение — просто присвоить ему нейтральное значение. Таким образом, вы не рискуете ошибиться в классификации. (например, положительный пост помечается как отрицательный, или пост о буквально агрессивном человеке помечается как положительный). Наконец, еще одно решение — создавать модели машинного обучения для подмножеств данных.

Итак, имейте в виду эти моменты, когда в следующий раз вы планируете использовать анализ настроений в своем проекте! Если вам интересно узнать больше о темах и узнать, как использовать эти технологии в своем бизнесе, обязательно ознакомьтесь с моей книгой, а также с моими курсами.

Первоначально опубликовано на https://thedatascientist.com 29 марта 2019 г.