В настоящее время я создаю забавный скрипт, который в основном соответствует заданным фразам и дает предопределенный ответ, основанный на точках совпадения. Вы можете попросить его получить некоторую информацию, основанную на живых лентах, выполнить задачи, рассказать анекдоты или просто пообщаться с ней.
У меня уже есть встроенное обнаружение плохих слов, заглавных букв или обоих. В программе есть женское имя, и я постарался максимально приблизиться к тому, чтобы быть девчонкой, исходя из логики (например: всем известно, что большинству девчонок требуется 700 мс, чтобы ответить на вопрос, конечно же, шутя). Итак, вот небольшой пример:
Клиент: ЧТО ВАША ПРОБЛЕМА?
Кику: не используйте этот тон со мной!
Клиент: #### ты,
Кику: почему ты так жесток ко мне: /
Тем не менее, я действительно хотел бы добавить сарказм к нему. Поэтому, если вы напишите что-нибудь с сарказмом, она обнаружит это и ответит соответственно. Теперь это сложная часть, как вы учите сценарий, что такое сарказм?
Для меня более конкретно. Какие самые саркастические слова используются сегодня? Или как получить эту статистику? Как я могу заставить сценарий понять контекст данной фразы?
ОБНОВИТЬ
Поскольку этот вопрос получает много шумихи, я думаю, что вещи должны быть прояснены немного больше. Это очень ясно, что сделать сценарий полностью обнаружить сарказм в принципе невозможно. По крайней мере, в разумных делах. Тем не менее, я считаю, что некоторое количество возможного сарказма может быть обнаружено.
В настоящее время я сделал это так, что мой сценарий может обнаружить очень ограниченный сарказм. Я предопределил некоторые распространенные саркастические слова (однако, в одиночку они бесполезны.) Например: как, что угодно, да, правильно и здорово. И затем это сначала совпадает, простые вещи, такие как прописные и кавычки: THANKS you are so smart
или oh you are so "SMART"
.
Поскольку основная функция сценариев состоит в том, чтобы выполнять задачи или извлекать информацию, и после слов она спросит, было ли это то, что вы имели в виду. Тогда я подумал, добавив «спасибо» в качестве специальной переменной. Так yeah thanks
или whatever thanks
вызовет возможный сарказм, и сценарий спросит вас: «Обнаружил ли я сарказм?» Лучше всего было бы сказать «извините», иначе он добавит предупреждающий знак, а если предел достигнут - он начнет игнорировать вас.
Поскольку эти очень очень простые алгоритмы, кажется, действительно работают, у этой идеи есть будущее, конечно, после многих настроек и доработок. Тем не менее, кто-то умнее сделает программное обеспечение с открытым исходным кодом с той же идеей. Затем эту функцию можно подключить ко многим функциям в Интернете. Обслуживание клиентов, вероятно, принесет наибольшую пользу, однако, этот вид программного обеспечения также может быть использован для обнаружения содержания, помеченного флагом.
источник
Ответы:
Если у вас была полная система обработки естественного языка и база данных фактов, в том числе система IBM Watson, вы можете пометить некоторые утверждения как возможный сарказм. Например: «Я слышал, у твоей матери рак, а тебя только что уволили!» "Да, жизнь не прекрасна!" может быть помечен, потому что он может признать, что заболеть раком и потерять работу, как правило, не описываются как положительный опыт.
Я предполагаю, что у вас нет ресурсов, чтобы собрать систему оценок Ватсона. Вы можете собрать базу данных часто используемых саркастических фраз, а затем использовать какой-то алгоритм сопоставления текста между оператором target и базой данных сарказма. Я должен предположить, что это не будет очень эффективно, потому что все фразы, которые используются с сарказмом, используются искренне чаще. Например, "Это хороший Икс". обычно используется искренне, но иногда используется с сарказмом.
Сарказм очень тесно связан с обманом. Человек, использующий сарказм, нередко отрицает его, когда его оспаривают, а выбор слов делает отрицание возможным. Я подозреваю, что это означает, что хороший детектор сарказма, вероятно, является такой же трудной проблемой, как диалоговая программа, которая проходит тест Тьюринга.
источник
<Сарказм>
</ Сарказм>
Честно говоря, я понятия не имею, как это сделать. Я думаю, что только около 30% людей в реальной жизни «испытывают» сарказм, поэтому заставить компьютер распознать его и понять, что это звучит как очень трудная задача.
Редактировать Основываясь на комментариях к моему исходному сообщению, я считаю, что я прекрасно проиллюстрировал крайнюю сложность задачи, которую ставят. Да, первая половина моего поста была саркастической. Я даже подчеркнул этот факт, используя готовый тег разметки. Публикуя саркастический комментарий о тривиальном решении исключительно сложной проблемы, и этот сарказм, интерпретируемый как «бесполезный», поднимает этот вопрос:
Если вы не можете распознать письменный сарказм, то как вы собираетесь написать алгоритм, который распознает его?
О, и Анна, если кто-то включает термин «я думаю ...» в свое предложение, это обычно указывает на то, что высказывается мнение, а не обязательно исследуемый факт.
источник
Проблема обнаружения сарказма - это открытая проблема в компьютерной лингвистике - вам лучше будет поискать в Google ученом, чем в стеке обменивать подобные вещи. Однако в этом вопросе достигнут определенный прогресс. Для разговорного сарказма может быть создан надежный распознаватель, использующий «спектральные и контекстные особенности», которые (утверждают авторы) обнаруживают сарказм, а также человеческий аннотатор. Авторы статьи утверждают, что необработанного текста, следовательно, недостаточно для выявления сарказма - действительно, они получили лучшие результаты, игнорируя фактические сказанные слова.
Цур и соавт. также сообщили о некоторых интересных результатах в обнаружении текстового сарказма только в прошлом году с их алгоритмом SASI . Они также сообщают о некоторых дополнительных результатах в другой статье.
В любом случае, это передовой край исследования вычислительного языка; не ожидайте, что кто-нибудь передаст вам libsarcasm на серебряном блюде. Вам понадобятся большие обучающие наборы данных и много свободного времени, чтобы настроить детектор сарказма - и даже в этом случае точность в 77% (как сообщается в статье SASI) недостаточна для отклонения сообщения, основанного исключительно на флаге сарказма.
источник
Я не думаю, что этот ответ является очень реалистичным методом подхода, но если бы у вас были ресурсы, чтобы сделать это, я считаю, что это было бы возможно. Рассмотрим проект Google reCaptcha, который использует людей для расшифровки слов, которые компьютеры не могут прочитать ( «Страница Recaptcha Подробнее» ). Я полагаю, что проблема схожа в том, что вы пытаетесь заставить машину выяснить, что люди, по крайней мере , уже делают лучше .
Представьте, что у вас есть ресурсы, чтобы попросить миллионы людей определить сарказм в типичном контексте разговора. Представьте, что вы могли бы попросить, чтобы многие люди представили вам точный момент в разговоре, когда сарказм был осознан, и как минимум часть разговора до осознания того, что нужно будет отметить это отождествление. Это может быть сохранено в базе данных, скажем, к которой у вашей программы был доступ. Затем, когда пользователь печатал разговор с вами, базу данных можно было фильтровать для «похожих» разговоров.
О том, как оценить сходство, стоит подумать, но я полагаю, что уже, вероятно, уже проводятся исследования. Я считаю, что это было бы очень похоже на теорию исправления орфографических ошибок. В любом случае это, вероятно, приведет к вероятностному значению того, что типизируемый разговор на самом деле саркастичен, и в какой-то момент должен быть установлен порог.
Мне также нравится ваша идея поставить вопрос "Был ли это сарказм?" пользователю, а затем использовать его ответ для принятия более точного решения.
Я надеюсь, что мой ответ не был полной тратой, и я желаю вам удачи в этом деле.
-Asaf
источник
Выявление сарказма в компьютерной лингвистике (он же обработка естественного языка) само по себе является чрезвычайно сложной проблемой. Это в основном проблема классификации, когда модель должна быть обучена в первую очередь. Аналогичная проблема для нахождения двойных смыслов (PDF файл) недавно была исследована и опубликована. Методы для обеих проблем сопоставимы.
источник
Мои 2 цента:
Спросите психолога о том, как распознать сарказм в выражениях, и сравните их с информацией.
Но это был бы действительно сложный проект, с приложенными усилиями вы наверняка могли бы сделать лучшую ОС в мире: P
источник