Языковой барьер и NLP. Почему чат-боты нас не понимают? |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-09-20 16:15 Люди давно хотели научить машину понимать человека. Однако только сейчас мы немного приблизились к сюжетам фантастических фильмов: можем попросить Алису убавить громкость, Google Assistant — заказать такси или Siri — завести будильник. Технологии языкового процессинга востребованы в разработках, связанных с построением искусственного интеллекта: в поисковых системах, для извлечения фактов, оценки тональности текста, машинного перевода и диалога.
О двух последних направлениях мы и поговорим: они имеют богатую историю и оказали значительное влияние на языковой процессинг. Кроме того, разберемся с основными возможностями обработки естественного языка при создании чат-бота вместе со спикером нашего курса AI Weekend компьютерным лингвистом Анной Власовой. С чего все начиналось? Первые разговоры об обработке естественного языка компьютером начались еще в 30-е годы XX-го века с философских рассуждений Айера — он предлагал отличать разумного человека от глупой машины с помощью эмпирического теста. В 1950 году Алан Тьюринг в философском журнале Mind предложил такой тест, где судья должен определить, с кем он ведет диалог: с человеком или компьютером. С помощью теста задали критерии оценки работы искусственного интеллекта, возможность его построения не подвергали сомнению. Тест имеет множество ограничений и недостатков, но он оказал значительное влияние на развитие чат-ботов. Язык имеет значение Сегодня чат-боты по-прежнему работают на основе набора правил и сценариев поведения, однако естественный язык нечеткий и неоднозначный, одна мысль может иметь много способов изложения, поэтому коммерческий успех диалоговых систем зависит от решения задач языкового процессинга. Машину нужно научить четко классифицировать все разнообразие входящих вопросов и четко их интерпретировать. История успеха: машинные переводчики До появления голосовых помощников и масштабного распространения чат-ботов наиболее востребованной интеллектуальной задачей, где требовалась обработка естественного языка, был машинный перевод. Разговоры о нейронных сетях и глубоком обучении ходили уже в 90-е годы, а первый нейрокомпьютер «Марк-1» появился вообще в 1958 году. Но повсеместно применять их не было возможности из-за низкой производительности ЭВМ и отсутствия достаточных по объему языковых корпусов. Только крупные научные коллективы могли себе позволить заниматься исследованиями в области нейронных сетей. Нейронные сети на службе у NLP По мере развития обработки естественного языка множество задач решалось классическими статистическими методами и множеством правил, однако проблему нечеткости и неоднозначности в языке это не решало. Если мы скажем «лук» без какого-либо контекста, то даже живой собеседник вряд ли поймет, о чем идет речь. Семантику слова в тексте определяют слова-соседи. Но как объяснить это машине, если она понимает только числовое представление? Так родился статистический метод анализа текста word2vec (англ. Word to vector). Векторы лук_1 и лук_2 параллельны, следовательно это одно слово, а лук_3 — омоним.Идея вполне очевидна из названия: представить слово в виде вектора с координатами (x1, x2,...,xn). Для борьбы с омонимией одинаковым словам присоединяется тег: «лук_1», «лук_2» и так далее. Если векторы «лук_n» и «лук_m» параллельны, то их можно считать одним словом. В ином случае эти слова — омонимы. На выходе у каждого слова появляется свое векторное представление в многомерном пространстве (размерность векторного пространства может варьироваться от 50 до 1000). Остается открытым вопрос, какой тип нейросети использовать для обучения условного чат-бота. В человеческой речи важна последовательность: мы делаем какие-то выводы и принимаем решение с учетом того, о чем говорилось в предыдущем предложении или даже абзаце. Под эти критерии отлично подходит рекуррентная нейронная сеть (RNN), однако по мере увеличения расстояния между связанными частями текста необходимо увеличивать и размер RNN, из-за чего падает качество обработки информации. Эту проблему решает сеть LSTM (англ. Long short-term memory). Она обладает одной важной особенностью — состояние ячейки, которое может оставаться постоянным, либо меняться, если в этом есть необходимость. Таким образом информация в цепочке не теряется, что критически важно для обработки естественного языка. На сегодняшний день есть огромное множество библиотек для обработки естественного языка. Если говорить о языке Python, который часто используется для анализа данных, то это NLTK и Spacy. Крупные компании также принимают участие в разработке библиотек для NLP, как например NLP Architect от Intel или PyTorch от исследователей из Facebook и Uber. Несмотря на такую большую заинтересованность в нейросетевых методах обработки языка со стороны крупных компаний, связные диалоги строятся в основном на основе классических методов, а нейросеть играет вспомогательную роль, решая задачи предварительной обработки речи и классификации. Как можно применять NLP в бизнесе? Самой очевидной сферой применения обработки естественного языка можно назвать машинные переводчики, чат-боты и голосовые ассистенты — то, с чем мы сталкиваемся каждый день. Большую часть сотрудников колл-центра можно заменить на виртуальных помощников, поскольку около 80% обращений клиентов в банки касаются довольно типичных вопросов. Чат-бот также спокойно справится с первичным собеседованием кандидата и запишет его на «живую» встречу. Как ни странно, юриспруденция достаточно точное направление, поэтому даже здесь чат-бот может стать успешным консультантом. Направление b2c не единственное, где можно применять чат-ботов. В крупных компаниях ротация сотрудников происходит достаточно активно, поэтому каждому приходится помогать в адаптации к новой среде. Поскольку вопросы нового сотрудника довольно типичны, весь процесс легко автоматизируется. Нет необходимости искать человека, который объяснит, как заправить принтер, к кому обратиться по какому-то вопросу. Внутренний чат-бот компании отлично с этим справится. С помощью NLP можно с высокой точностью измерять удовлетворенность пользователей новым продуктом, анализируя отзывы в интернете. Если программа определила отзыв как отрицательный, то репорт автоматически отправляется в соответствующий отдел, где с ним уже работают живые люди. Возможности языкового процессинга будут только расширяться, а вместе с ними и сферы его применения. Если в колл-центре вашей компании работает 40 человек, стоит задуматься: может, лучше заменить их на команду программистов, которые сколотят вам чат-бота? Больше о возможностях языкового процессинга вы сможете узнать на нашем курсе AI Weekend, где в рамках темы искусственного интеллекта Анна Власова подробно расскажет о чат-ботах.Источник: habr.com Комментарии: |
|