Как компьютеры учатся понимать человеческий язык
Текстовые чат-интерфейсы — мобильные мессенджеры, изначально созданные для удобного общения людей друг с другом, через год-два начнут повсеместно использоваться для взаимодействия человека с разными сервисами и компаниями. Секрет во встроенных в эти интерфейсы технологиях понимания и анализа текстов на естественном языке — том, на котором мы привыкли разговаривать друг с другом.
Instant messaging как способ коммуникации между людьми появились в 1990-х вместе с ICQ, AOL и другими сервисами. Тогда они работали только на стационарных компьютерах. В начале 2000-х в Европе, а затем и в Америке произошел необратимый СМС-бум. Люди настолько полюбили этот способ общения, что в результате выручка мобильных операторов от текстового трафика превысила их заработки на голосовом общении.
Сегодня эту эстафету подхватили мобильные мессенджеры WhatsApp, Telegram, Line, Facebook Messenger, WeChat, Skype, Viber и многие другие. Общая аудитория всех мессенджеров превышает 2 млрд человек, которые пересылают более 100 млрд сообщений ежедневно.
Такой вид коммуникации стал необходимой частью нашей жизни, и этот феномен легко объяснить. Современный человек многозадачен. Он одновременно работает, следит за новостями, общается с друзьями, с семьей, управляет окружающими предметами. Эта многозадачность и способствовала появлению такого «неинвазивного» способа коммуникации. Он позволяет людям обмениваться информацией, не отвлекаясь, например, от участия в конференции или от важной встречи.
Наступление чат-ботов
Но технологии не стоят на месте. Сегодня мировые IТ-компании — Apple, Google, Amazon, Microsoft, наша ABBYY и десятки других — ведут разработки в области искусственного интеллекта, помогающие понимать естественный язык. В результате появляются «разговорные» интерфейсы нового уровня, благодаря которым люди общаются не только друг с другом, но и с компьютером. Эти автоматические электронные собеседники в мессенджерах, называемые чат-боты (chatbot), станут одной из самых горячих тем этого года.
Компания Microsoft представила своего чат-бота — электронную подружку по имени Xiaoice, с которой за полгода подружились более 40 млн пользователей в Китае. 10% из них даже заявили, что влюблены в Xiaoice.
Другой масштабный эксперимент с чат-ботами проводит Facebook со своим секретным проектом M, где одновременно тысячи живых людей и собственно система искусственного интеллекта M анализируют запросы и работают своего рода скатертью-самобранкой: «Скажи мне, что хочешь, и я это сделаю». Facebook инвестирует огромные деньги в то, чтобы с помощью живых людей-операторов научить искусственный интеллект принимать текстовые запросы от людей на естественном языке и отвечать на их реальные бытовые запросы. Кто-то с помощью этой системы заказывает пиццу, кто-то — авиабилеты. Мой сын, каким-то неведомым образом попавший в закрытую группу тестирования сервиса из 10 тыс. человек, попросил Facebook M ежедневно в 16:00 по местному времени присылать ему цитату из Георгия Ивановича Гурджиева. И вот уже на протяжении трех месяцев система присылает ему реальные цитаты философа.
Есть и другие сервисы, такие, например, как мессенджер Kik, который развивает полностью автоматизированных ботов для предоставления пользователям различных услуг и сервисов. С их помощью вы можете, к примеру, заказать столик в ресторане. Вместо того чтобы звонить, ждать ответа оператора, просто открываете мессенджер и пишете: «Закажи мне столик в рыбном ресторане с красивым видом». Точно так же можно получать консультации и заказывать любые услуги — такси, еду, одежду. Вы можете записываться к врачу, проверять свой счет в банке или делать денежный перевод, наконец, управлять «умным домом». Кстати, Samsung уже показала холодильник, который разговаривает и отвечает на запросы на естественном языке, в том числе и текстовые. Так, вы можете послать своему холодильнику вопрос через мессенджер: «Напомни, есть ли у нас еще помидоры».
К разговорным интерфейсам имеют прямое отношение и Siri, Microsoft Cortana, Amazon Alexa и прочие ассистенты. Я уверен, очень скоро к голосовому интерфейсу они добавят и канал мессенджеров для общения с пользователем.
Роботы вместо людей
Специализированные боты-ассистенты с искусственным интеллектом, способные понимать и отвечать на текстовые сообщения, выгодны компаниям. Они применяются в работе техподдержки и позволяют круглосуточно общаться с клиентами, оптимизировать время сотрудников. Здесь решаются сразу две задачи. Клиент пишет запрос, машина анализирует текст и подбирает ответ. Если же вопрос нестандартный, технология классифицирует его, понимая, о чем речь, и отправляет нужному специалисту. Подобный сервис с использованием нашей технологии понимания и анализа текстов ABBYY Compreno уже тестируют несколько крупных компаний.
Британская Shell использует в департаменте клиентского сервиса роботизированного помощника Амелию. Это платформа на основе технологий искусственного интеллекта, которая умеет собирать и анализировать электронные письма, звонки и платежи клиентов. На основе этих данных Амелия отвечает на обращения в техподдержку и знает, когда нужно перевести клиента на коллегу-человека.
При этом совсем не важно, каким мессенджером пользуется клиент. Существуют универсальные кросс-платформенные решения типа manychat.com, которые дают бизнесам (call-центру, техподдержке, центру продаж) единый интерфейс для связи со своими клиентами. Такие сервисы не только упрощают связь с клиентами, но и дают возможность «умной» автоматизированной коммуникации с ними, повышая удержание (retention), удовлетворенность (customer satisfaction), скорость ответа, и даже позволяют что-нибудь продать удаленно. «Умные» кросс-платформенные чат-боты в своих диалогах постепенно собирают индивидуальный профиль покупателя, выясняют его интересы и в нужный момент деликатно предлагают купить что-то действительно ценное и своевременное для конкретного человека.
Разговорные интерфейсы, основанные на искусственном интеллекте, помогают и отдельным профессиональным пользователям. Сегодня, чтобы найти нужную информацию используя поисковик Findo.io, люди получают «умный» поиск по своим личным документам. Для этого совсем необязательно помнить, где именно эта информация находится и в каком формате хранится. Можно просто сделать запрос так, как вы бы попросили своего секретаря: «Найди мне финансовый отчет, который докладывал коллега на последнем совете директоров», — и получить документ. Так сотрудники могут сэкономить время и сосредоточиться на анализе данных, а не на их поиске.
Сегодня все эти способы применения «умных» технологий в чат-интерфейсах показывают бурный рост. Так, например, в Китае уже несколько миллионов компаний принимают платежи через WeChat. Каждый день в этом мессенджере регистрируется больше официальных аккаунтов, чем традиционных интернет-сайтов в мире. Причем многие из них — боты. В том же направлении работает и Facebook Messenger. К партнерской программе сервиса уже подключилось несколько десятков компаний. И в 2016 году мы, скорее всего, услышим большие объявления в этой области. Не зря же аналитики Gartner предсказывают, что совсем скоро 47% устройств будут обладать необходимым интеллектом, чтобы общаться с человеком.
Точка зрения авторов, статьи которых публикуются в разделе «Мнения», может не совпадать с мнением редакции.
Кто использует NLP
Приложения NLP окружают нас повсюду. Это поиск в Google или Яндексе, машинный перевод, чат-боты, виртуальные ассистенты вроде Siri, Алисы, Салюта от Сбера и пр. NLP применяется в digital-рекламе, сфере безопасности и многих других.
Технологии NLP используют как в науке, так и для решения коммерческих бизнес-задач: например, для исследования искусственного интеллекта и способов его развития, а также создания «умных» систем, работающих с естественными человеческими языками, от поисковиков до музыкальных приложений.
Машинное обучение и нейросети
Комплект продвинутых курсов для освоения машинного и глубокого обучения от классических моделей до нейронных сетей.
Авторы разработали несколько сотен схем, которые, по их словам, являются «гугл-стойкими». Это значит, что компьютер не может подобрать ответы на тестовые вопросы с помощью запросов в гугле.
В 2016 году на основе схем Винограда было проведено соревнование, в котором победила программа, давшая лишь 58% правильных ответов, то есть результат, не слишком отличающийся от простого угадывания. Орен Этциони, один из ведущих исследователей ИИ наших дней, по этому поводу пошутил: «Как ИИ может захватит мир, если он даже не в состоянии определить, к чему относится то или иное слово в предложении?»
Однако благодаря появлению крупных нейросетевых языковых моделей способность ИИ решать схемы Винограда значительно улучшилась. В ходе исследования, проведенного в 2020 году лабораторией OpenAI, модель GPT-3 ответила правильно почти на 90% вопросов. Другие языковые модели, после обучения на тех же вопросах, показали еще более впечатляющие результаты, лучшего из которых добились ИИ-модель SuperGLU, выдав 97% точных ответов. Это довольно близко к человеческому пониманию. Но так ли это на самом деле?
Не совсем. Несмотря на все усилия ученых, схемы Винограда не являются гугл-стойкими. Как и многие другие тесты на понимание языка, они содержат лазейки, позволяющие нейросетям давать правильные ответы, не понимая их смысла. Взять, к примеру следующую пару предложений: «спортивный автомобиль обогнал почтовый грузовик, так как он ехал быстрее» и «спортивный автомобиль обогнал почтовый грузовик, так как он ехал медленнее».
Зачем нарезать текст на токены
Токены нужны, чтобы поиск хорошо работал, учился разбирать слова по составу и использовать определённые куски слов. Текст — это последовательность букв, слов и словосочетаний, поэтому нам нужно выбрать правила, по которым мы будем нарезать этот текст на токены, и какой они будут длины. Тогда машина, например, сможет предсказывать следующие слова по предыдущим.
Чтобы машина предсказала всё правильно, нужно понять, для каких задач и как нарезать эти последовательности.
Почему компьютер нас понимает?
Под термином «компьютерный язык» понимают все языки, позволяющие взаимодействовать человеку и компьютеру. При этом различают языки, которые могут читать машины, и те, которые способны понимать люди.
Языки, понятные машинам, умеет читать процессор и, следовательно, выполняет отправленные с их помощью команды. В этом случае речь идет о так называемых машинных языках. Но есть еще и компьютерные языки, которые могут читать люди. К ним относятся, например, языки программирования. Они используют слова и символы человеческого языка — компьютер не может их ни прочесть, ни интерпретировать.
Чтобы сделать эти языки читаемыми для «железа», их необходимо перевести на машинный язык. Это может произойти в режиме реального времени с помощью интерпретатора или заранее с помощью ассемблера или компилятора.
II. Расчет
Натуральный язык был преобразован в числовую форму, то что рассчитывает на следующем шаге?
Это увидит, что вы должны сделать. В понимании естественного языка (NLU) он отвечает за часть конкретного расчета, называемого: Модель !
Модель также является разнообразием вещей в зависимости от того, что вы должны сделать.
Какая модель?
Хорошо обученная модель может быть понята как формула y = f (x), мы вводим данные (соответствующие в нем) в выходную (соответствующую, в которой Y) получается.
Этот выход может быть значением или тегом, он что-то расскажет нам.
Например, нам нужно предложение для пользователя.Определите классификацию модели пользователейОтказ После модели я выплю на этикетку, эта этикетка — намерение этого предложения.
Введите это предложениеМодель добычи сущностив. Модель высказывает список, и каждый элемент является объектом.
Как модель получила?
Модель основана на данных, под контролем алгоритма, через тренироваться принадлежит.
Что такое тренировка?
Когда мы делаем модель как y = f (x), x — саморегулируемая, y — переменная. Расчет Y, чтобы увидеть F (x), является определенной формулой в этой формуле, какова стоимость этих параметров.
Процесс обучения состоит в том, чтобы получить определенный F (x) и процесс определенных значений каждого из этих параметров.
Когда мы начали тренировку, все мы являемся некоторыми образцами данных X, что является переменной (функцией), в которой эти образцы являются переменными (ожидаемыми). Соответствует примерам значения x и y в y = f (x).
В это время, потому что тип модели был выбран, мы уже знаем форму f (x), такие как линейная модель y = f (x) = a ^ 2 + bx + c, но не знаю параметр a, B, C Значение.
Обучение, то есть существующая выборка основана на расчете определенной главы, тем самым получая универсальный F (x).
Правила этих вычислений называются: алгоритм 。
Когда дело доходит до алгоритма, он включает в себя содержимое машинного обучения. После десятилетий исследований многие готовые алгоритмы могут быть использованы для получения различных типов моделей.
Есть немного и предыдущий эхо, то есть любой объект обработки алгоритма — это значение.
Данные для моделей обучения имеют имя специального имени: Обучение данных Отказ Сборник учебных данных называется обучением.
Данные тренировки вводятся в алгоритм, и, наконец, получите модель, которую мы хотим: Обучение данных + алгоритм => модель
Затем используйте полученную модель для решения более данных, используемых для получения модели, чтобы определить эти новые данные — например: признание намерения или извлечение объекта — на компьютере понимает естественный язык человечества.