Может ли компьютер понимать и использовать естественный человеческий язык

Обновлено: 04.07.2024

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

Instant messaging как способ коммуникации между людьми появились в 1990-х вместе с ICQ, AOL и другими сервисами. Тогда они работали только на стационарных компьютерах. В начале 2000-х в Европе, а затем и в Америке произошел необратимый СМС-бум. Люди настолько полюбили этот способ общения, что в результате выручка мобильных операторов от текстового трафика превысила их заработки на голосовом общении.

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

Наступление чат-ботов

Но технологии не стоят на месте. Сегодня мировые 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 и прочие ассистенты. Я уверен, очень скоро к голосовому интерфейсу они добавят и канал мессенджеров для общения с пользователем.

Роботы вместо людей

Британская Shell использует в департаменте клиентского сервиса роботизированного помощника Амелию. Это платформа на основе технологий искусственного интеллекта, которая умеет собирать и анализировать электронные письма, звонки и платежи клиентов. На основе этих данных Амелия отвечает на обращения в техподдержку и знает, когда нужно перевести клиента на коллегу-человека.

Разговорные интерфейсы, основанные на искусственном интеллекте, помогают и отдельным профессиональным пользователям. Сегодня, чтобы найти нужную информацию используя поисковик Findo.io, люди получают «умный» поиск по своим личным документам. Для этого совсем необязательно помнить, где именно эта информация находится и в каком формате хранится. Можно просто сделать запрос так, как вы бы попросили своего секретаря: «Найди мне финансовый отчет, который докладывал коллега на последнем совете директоров», — и получить документ. Так сотрудники могут сэкономить время и сосредоточиться на анализе данных, а не на их поиске.

Сегодня все эти способы применения «умных» технологий в чат-интерфейсах показывают бурный рост. Так, например, в Китае уже несколько миллионов компаний принимают платежи через WeChat. Каждый день в этом мессенджере регистрируется больше официальных аккаунтов, чем традиционных интернет-сайтов в мире. Причем многие из них — боты. В том же направлении работает и Facebook Messenger. К партнерской программе сервиса уже подключилось несколько десятков компаний. И в 2016 году мы, скорее всего, услышим большие объявления в этой области. Не зря же аналитики Gartner предсказывают, что совсем скоро 47% устройств будут обладать необходимым интеллектом, чтобы общаться с человеком.


Обработка естественного языка или NLP (от англ. Natural language processing) — одна из самых известных областей науки о данных. За последнее десятилетие она приобрела большую популярность как в промышленных, так и в академических кругах.

Но правда в том, что NLP — это далеко не новая область. Стремление человека к тому, чтобы компьютеры понимали наш язык, существовало с момента их создания. Да, те старые компьютеры, которые с трудом могли запустить несколько программ одновременно, всё же успели познакомится со сложностью естественных языков.

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

Цель этой статьи — пролить свет на историю естественной обработки языка и её подразделы.

Естественная обработка языка — это междисциплинарная область на стыке информатики и лингвистики. Существует бесконечное количество способов, чтобы соединить слова и составить из них предложение. Конечно, не все эти предложения будут грамматически правильными или даже иметь смысл.

Люди могут их различать, но компьютер — нет. Более того, нереально загрузить в него словарь со всеми возможными предложениями на всех возможных языках.

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

Когда мы только начинаем учить язык, нас знакомят с его частями речи. Для примера возьмём английский язык. В нём есть 9 основных частей речи: существительные, глаголы, прилагательные, наречия, местоимения, артикли и др. Эти части речи помогают понять назначение каждого слова в предложении.

Однако недостаточно знать категорию слова, особенно для тех, которые могут иметь более одного значения. Например, слово «leaves» может быть формой глагола « to leave» (англ. уходить) или формой множественного числа существительного «leaf» (англ. лист).

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

Они представляют собой набор правил грамматики, по которым строится предложение. В английском языке оно образуется с помощью именной и глагольной группы. Рассмотрим предложение: «Anne ate the apple» (англ. Энн съела яблоко). Здесь «Anne» — это именная группа, а «ate the apple» — это глагольная группа.

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


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

Обработка текста

Чат-боты — один из хорошо известных примеров NLP. Изначально чат-боты были основаны на системе правил. Это означало, что специалисты должны были закодировать сотни, а возможно, и тысячи правил структуры фраз, чтобы чат-бот корректно ответил на данные, которые вводит человек. Таким примером является Eliza. Это чат-бот, разработанный в 1960-х годах и пародирующий диалог с психотерапевтом.

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

Чем больше данных будет передано модели машинного обучения, тем лучше будет работать чат-бот.

Распознавание речи

Чат-боты про то, как компьютеры понимают письменный язык. А что насчёт устной речи? Как компьютеры могут превратить звук в слова, а затем понять их значение?

Распознавание речи — второй подраздел обработки естественного языка. Это тоже совсем не новая технология. Она была в центре внимания многих исследователей в течение последних десятилетий. В 1970-х годах в Университете Карнеги-Меллона была разработана Harpy. Это была первая компьютерная программа, которая понимала 1000 слов.

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

Синтез речи

Синтез речи во многом противоположен распознаванию речи. С помощью этой технологии у компьютера появилась возможность издавать звуки или произносить слова.

Первым в мире устройством для синтеза речи считается VODER (англ. Voice Operating Demonstrator — модель голосового аппарата). Оно было разработано Гомером Дадли из компании Bell Labs в 1930-х годах. У VODER было ручное управление. С тех пор многое изменилось.

В системах распознавания речи и чат-ботах предложения разбиваются на фонемы. Чтобы произнести определенное предложение, компьютер сохраняет эти фонемы, преобразовывает и воспроизводит.

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

Конечно, со временем звучание стало лучше. Использование современных алгоритмов в новейших виртуальных помощниках, таких как Siri, Cortana и Alexa, подтверждает то, что мы далеко продвинулись. Однако их речь по звучанию по-прежнему немного отличается от человеческой.

Заключение

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

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

Обработка естественного языка или NLP (англ. Natural Language Processing) — направление на стыке информатики и лингвистики, которое даёт возможность компьютерам понимать человеческий, т. е. естественный язык. Сейчас это одна из самых популярных областей науки о данных. Однако она существует с момента изобретения компьютеров.

Именно развитие техники и вычислительной мощности привело к невероятным достижениям в сфере NLP. Технологии синтеза и распознавания речи становятся такими же востребованными, как и технологии, работающие с письменными текстами. Разработка виртуальных помощников, таких как Siri, Alexa и Cortana, свидетельствует о том, насколько далеко продвинулись учёные.

Так что же необходимо знать, чтобы начать заниматься естественной обработкой языка? Нужна ли степень по информатике?

Чтобы стать специалистом по NLP, никакие степени не понадобятся. Всё, что вам потребуется, это изучить и попрактиковать определённые навыки, а также создать несколько проектов, чтобы подтвердить свои знания.

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

По сути, NLP — это про изучение языков. Разработчик пытается объяснить компьютеру, как понимать мудрёную письменную и устную речь человека.

Я занялась NLP, потому что меня всегда интересовали языки и то, как они образовывались и развивались с течением времени. Однако говорить на каком-то языке не означает полностью понимать его логику.

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

Я не имею в виду, что нужно получать степень по лингвистике или что-то в этом роде. Я пытаюсь сказать, что понимание того, как языки решают различные проблемы, может оказаться полезным при разработке и анализе приложений для NLP. Более того, зная о межъязыковом влиянии, вы можете создавать многоязычные приложения.

Я рекомендую начать изучение основ лингвистики для обработки естественного языка с книги Эмили М. Бендер «Основы лингвистики для естественной обработки языка» (англ. Emily M. Bender Linguistic Fundamentals for Natural Language Processing).

«Язык», на котором вы пытаетесь анализировать и создавать приложения, обычно имеет форму строк. Даже если это приложение для распознавания речи, она всё равно преобразовывается в текст перед анализом.

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

Если у вас нет опыта программирования, то рекомендую начать с Python. Он широко используется в различных областях науки о данных, включая NLP. Если у вас уже есть опыт программирования на других языках, то освоить манипуляцию со строками не составит труда.

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

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

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

При подготовке текста к обработке и анализу мы обычно удаляем все знаки препинания. Это помогает улучшить вариативность слов в тексте. Также существуют различные типы слов, например стоп-слова, которые можно удалить для более эффективного анализа.

Три основных шага очистки текста для NLP:

  1. переведите все слова в нижний регистр;
  2. удалите стоп-слова (это часто используемые слова, которые не вносят дополнительную информацию в текст);
  3. приведите все слова к первоначальному корню.

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

Вот пять основных навыков и их значение:

  1. n-граммы — это тип вероятностной языковой модели, используемой для предсказания следующего элемента в последовательности слов;
  2. токенизация — это процесс разбиения предложения на отдельные слова или токены: глаголы, существительные, местоимения и т. д.;
  3. стемминг — это процесс нахождения основы для заданного слова, например cleaning => clean, но это не всегда работает;
  4. POS tagging — процесс обработки текста, задачей которого является определение части речи слова и присвоение ему соответствующего тега;
  5. лемматизация — процесс приведения заданного слова к его словарной форме.

Воспользовавшись основными навыками обработки языка, мы получаем корпус — набор данных после очистки текста и выполнения других основных задач NLP. Далее его необходимо проанализировать и извлечь полезную информацию. Для этого понадобится алгоритм машинного обучения.

Давайте рассмотрим два наиболее часто используемых алгоритма:

  1. Алгоритм кластеризации: применяется для поиска закономерностей в данных, таких как тональность, количество и частота используемых слов. Он подходит для обнаружения ложных новостей или неточной информации.
  2. Алгоритм классификации: используется для размещения текста в заранее определённых тегах. Его наиболее известное применение — сортировка входящих писем по папкам «входящие» или «спам».

Это очень важный пункт, о котором обычно забывают. Каждый раз, когда вы применяете модель машинного обучения к данным, необходимо оценивать её результаты. Для каждой модели нужны свои метрики.

Вот некоторые из них:

  1. матрица неточностей;
  2. точность;
  3. F-score (среднее гармоничное значение между точностью и полнотой);
  4. ROC-кривая (англ. Receiver Operating Characteristic — рабочая характеристика приёмника).

Более подробную информацию вы можете узнать в материалах лекции из Массачусетского университета в Амхерсте (материалы на англ. яз.).

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

Один из самых часто используемых методов глубокого обучения в NLP — рекуррентные нейронные сети. К счастью, нет необходимости знать, как реализовать этот алгоритм или множество других, благодаря открытым библиотекам, таким как Keras и Scikit-learn, написанным на языке Python.

А что действительно нужно сделать, так это научиться эффективно использовать алгоритм, изучая его способ работы и узнавая, какие он даёт результаты.

У меня этот шаг под номером 9, но его необходимо выполнять параллельно со всеми предыдущими шагами. Всегда сразу применяйте свои знания на практике. Это единственный способ проверить, насколько вы их усвоили.

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

  1. приложение для тематического моделирования;
  2. идентификатор языка;
  3. генератор хайку;
  4. приложение, мониторящее социальные сети.

Таких идей ещё много. Дерзайте.

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

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

Иногда изучение нового навыка или получение новых знаний — довольно сложная задача. Но если не бросать это на полпути, а продолжать практиковаться и постоянно расширять базу знаний, вы достигнете своей цели.

«Мы можем делать всё, что захотим, если будем придерживаться этого достаточно долго», — Хелен Келлер.

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

Искусственный интеллект. Общение с компьютером на естественном языке

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

Особенности обработки естественного языка

Современная автоматизированная система обработки естественного языка (Natural Language Processing – NLP), являющаяся основой «"диалогового" интерфейса» между человеком и компьютером, состоит из двух компонентов:

Модуль машинного понимания естественного языка (Natural Language Understanding – NLU)

Модуль генерирования информации на естественном языке (Natural Language Generation – NLG)

Задача машинного понимания естественного языка заключается в определении в анализируемой информации заложенной смысловой нагрузки. После того, как машине удалось «понять» смысл проанализированных данных, она запускает процесс генерирования во внешнюю среду соответствующей информации, представленной в текстовой или акустической форме.

Основной сложностью создания «диалогового интерфейса» является неоднозначная трактовка естественного языка. Здесь даже у людей иногда могут возникнуть определенные трудности. Представьте себе, например, какие сложности может вызвать у человека, ничего не знающего о футболе, понимание смысла такой фразы:

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

Несмотря на то, что смысл каждого отдельного слова может быть понятен, целая фраза прозвучит для человека, никогда не сталкивающимся с футболом, как полная тарабарщина.

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

1.jpg

Стадии автоматической обработки естественного языка

Первичная обработка. Представление входных данных в форме, пригодной для машинной обработки.

Морфологический анализ. Разделение анализируемого языка на абзацы, предложения и слова. Определение для каждого слова частей речи и различных морфологических характеристик (род, число, падеж и др.).

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

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

Анализ дискурса. Определение семантических связей с учетом контекста. Понять смысл предложения иногда можно только в окружении других, как правило соседних предложений.

Прагматический анализ. На завершающей стадии анализируемая информация принимает то значение, которое в нее было изначально заложено. Конкретная мысль должна быть заключена в некую форму, которая будет понятна машине и пригодна для дальнейшей обработки: генерирования ответа или запуск необходимой процедуры.

Обзор рынка

По данным Global Industry Analytics глобальный рынок решений в области NLP к 2020 году достигнет отметки в $10 млрд. при ежегодном росте около 20%.

2.jpg

При этом качество обработки естественного языка с каждым годом улучшается, чему в частности способствуют последние достижения в области глубокого машинного обучения и когнитивных вычислений. Также этому способствуют большие инвестиции среди игроков рынка. Как отмечалось в наших предыдущих обзорах, мировые IT-гиганты, такие как — Apple, Google, Amazon, Microsoft, IBM вкладывают огромные средства в исследования в области искусственного интеллекта, позволяющие машине понимать естественный язык. А российская компания ABBYY специально для этих целей разработала систему Compreno, которая занимается анализом текстовой информации. Разработка данной системы велась в компании около 10 лет и стоила около $ 80 млн.

Разработкой диалогового интерфейса активно занимаются и стартапы, такие как X.ai, ViV, VocaIIQ (приобретённая Apple), Мивар и др. Российская компания Мивар в том году вывела на рынок свою собственную платформу Tel!Mi, которая дает возможность машине осмысленно освоить весь массив человеческих знаний, зафиксированных в виде текстовой информации. В качестве основы для системы были заложены миварные принципы, которые технологически отличаются от принципов, используемых конкурентами.

«Для нас технология смыслового анализа текста — это этап на пути к созданию искусственного интеллекта нового поколения, который будет способен логически рассуждать и общаться с человеком на равных. Сначала мы презентовали миварный движок Wi!Mi, основу для создания нового класса продуктов — логически рассуждающих систем. Потом научили компьютер осмысленно читать и анализировать тексты», — рассказал в интервью CNews Олег Варламов, д.т.н., председатель научно-технического совета компании «Мивар».

По словам представителей компании, платформа Tel!Mi может быть использована для создания виртуальных помощников, секретарей и операторов контактных центров, которые будут способны дать содержательный ответ по любому вопросу и вести осмысленную беседу. Также платформа может применяться для анализа законодательных актов на непротиворечивость и обнаружения плагиата в научных работах.

Области применения

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

«На наших глазах происходит революция – мы начинаем общаться с компьютером на естественном языке и получать осознанные ответы» - говорит Давид Ян, основатель компании ABBYY.

Одним из наиболее успешных коммерческих проектов в этом направлении является суперкомпьютер Watson, который, используя программу DeepQA, способен с высокой четкостью обрабатывать вопросы на естественном языке. Так, в 2011 году Watson победил в передаче Jeopardy (российский аналог «Своя игра»), где ему необходимо было не только находить ответы на поставленный вопросы, но и понимать их смысл.

В настоящий момент Watson успешно применяется в различных областях, в том числе, и в коммерции. Так, в банковской сфере суперкомпьютер может детально объяснить клиентам все тонкости кредитной политики банка, а абонентам сотовых операторов – рассказать о способах подключения услуги или оплаты счета. Распознавать речь и обрабатывать голос суперкомпьютеру позволяет технология компании Nuance Communications.

По мнению многих экспертов, большими перспективами на рынке обладают боты-ассистенты, применяющиеся в мессенджерах. Компания Activate недавно провела исследование и выяснила, что в настоящий момент как минимум 2,5 миллиарда людей пользуются хотя бы одним мессенджером на своем смартфоне. Текстовые чат-интерфейсы мессенджеров, изначально предназначенные для общения людей друг с другом, могут использоваться как способ взаимодействия человека с различными сервисами и компаниями, если встроить в эти интерфейсы ботов с технологией понимания и анализа текстов. При этом пользователь может даже не догадаться о том, что общается не с человеком. В современных устройствах задействованы настолько продвинутые алгоритмы, что зачастую их очень сложно отличить от реальных собеседников. Так, два года назад программа «Евгений Густман», разработанная отечественными специалистами, впервые сумела пройти тест Тьюринга, убедив больше 30 % жюри, что они общаются с 13-летним мальчиком из Украины.


Чат-боты со встроенным искусственным интеллектом способны принести компаниям много пользы. Например, они могут использоваться в отделе техподдержки, круглосуточно общаясь с клиентами и тем самым оптимизируя время сотрудников. Однако в настоящий момент боты еще не могут самостоятельно решать на постоянной основе все проблемы пользователей. Поэтому эксперты рекомендуют использовать следующую модель использования бота. Клиент пишет запрос, машина его анализирует и выдает соответствующий ответ. Если запрос является нестандартным, то бот отправляет его специалисту. Подобную модель сейчас активно использует компания Facebook в проекте Facebook Messenger.

В настоящий момент количество чат-ботов на рынке стремительно растет. Например, в китайском мессенджере WeChat среди официальных аккаунтов доля ботов постоянно увеличивается. В аналогичном направлении развивается и Facebook Messenger, в партнерской программе которого находится уже несколько десятков компаний, интересы которых представляются искусственным интеллектом. И если взять во внимание прогноз аналитического агентства Gartner, которое предсказывает, что уже совсем скоро более 47% устройств смогут общаться с человеком на естественном языке, то в ближайшее время подобных примеров будет все больше и больше.


Обработка естественного языка (НЛП) является отраслью искусственного интеллекта. Это помогает компьютерам понимать, интерпретировать и манипулировать языком человеческого текста. Сегодня существует огромное количество электронных писем, текстов в социальных сетях, видеопотоков, отзывов клиентов, запросов клиентов и т. Д. Все эти текстовые данные становятся идеальным местом для применения НЛП. Нам нужны инструменты и методы НЛП для обработки, анализа и понимания неструктурированных «больших данных», чтобы высвободить силу в аналитике. В этом посте я объясню обработку естественного языка в терминах непрофессионала. Тогда поговорим о том, что за работа связана с НЛП. Я также уточню разницу между распознаванием речи и НЛП. Тогда, наконец, я расскажу об алгоритмах машинного обучения для НЛП.

Что такое обработка естественного языка (NLP)?

Люди общаются друг с другом, используяестественный языктакие как английский, китайский, французский или русский. Компьютерный алгоритм не может понимать естественный язык, но можетпроцессестественный язык для того, чтобы взаимодействие между компьютерами или людьми ощущалось точно так же, как взаимодействие между людьми и людьми. Этообработка естественного языка (НЛП), С помощью НЛП компьютер может слушать естественный язык, на котором говорит человек, интерпретировать его и реагировать на него, генерируя естественный язык обратно человеку.

Используем ли мы сегодня обработку естественного языка?

Да. Когда вы просите у Siri указания, вы используете NLP в действии. Хотя вы можете быть не удовлетворены уровнем точности, качество улучшается. Вы можете часто слышать, что «этот звонок может быть записан для качества и в целях обучения», когда вы делаете телефонный звонок, вполне вероятно, что все начальные разговоры генерируются компьютером. Опять же, вас может раздражать низкое качество, но точность улучшается со временем. Помимо этих двух примеров, фильтр спама в электронной почте - это еще одна форма НЛП, позволяющая определить, какие письма являются хорошими, а какие - спамом. Эти спам-фильтры сканируют текст и пытаются понять смысл этого текста.

Что включает в себя НЛП?


НЛП включает в себя два основных направления работы: понимание естественного языка (NLU) и создание естественного языка (NLG). Вы обеспокоены тем, что компьютер не может понять значение или скрытый смысл каких-либо человеческих языков? Понимание естественного языка (NLU) пытается понять смысл письменного текста. Он вычитает основную языковую структуру.Это приложениеMicrosoft Azure показывает, как работает NLU. С другой стороны, вы чувствуете, что ответ от компьютера все еще звучит «механически»? Компьютер должен улучшить свое письмо, чтобы показать то же качество, что и у человека. Учитывая необработанный текст для ответа на разговор, компьютер должен генерировать текст, который является грамматически правильным и подстраивается под контекст и некоторый определенный стиль. NLU и NLG занимаются различными видами исследований. Это объясняет, почему крупные компании специализируются на одном домене или другом. В заключение NLU «читает», а NLG «пишет».

На рисунке A показаны подкатегории NLU для областей исследований.

Фонология(/ Fənäləjē /) является частью лингвистики, которая относится к систематическому расположению звука. Термин «фонология» происходит от древнегреческого языка, а термин «фоно» означает «голос или звук», а суффикс «логия» относится к слову или речи.

Морфологияэто исследование внутренней структуры слов. Термин морфология является греческим и представляет собой морфологию, означающую «форму, форму» и -ологию, что означает «изучение чего-либо». Различные части слова представляют наименьшие единицы значения, известные как морфемы. Морфология, которая включает в себя Природу слов, инициируется морфемами. Например, слово «недобрость» состоит из трех отдельных морфем: префикса «un-», корня «kind» и суффикса «-ness». Слова, которые нельзя разделить, называются лексической морфемой (например, вид, кошка, собака). Компьютер обучен интерпретировать слово по морфемам так же, как человек может разбить любое неизвестное слово на морфемы.

Синтаксисозначает расположение слов и фраз для создания правильно сформированных предложений на языке.

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

Прагматикапроблемы с использованием языка в социальных контекстах и ​​способы, которыми люди производят и понимают значения через язык

  • Вы угощаете друга бургером из Макдональдса, большим картофелем фри и большим напитком. Ваш друг сказал «нет», потому что он станет толще.

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

Для читателей, которые хотят понять развитие в NLG,Конференция Strata Data 2017имеет хороший обзор.

В чем разница между распознаванием речи и обработкой естественного языка?

Предположим, вы хотите узнать погоду, спросите у своего Apple Siri или Alexa Alexa. Сири или Алекса слышит ваш голос, интерпретирует ваш вопрос и затем отвечает на него. В этом простом процессе участвуют три основные части: во-первых, Сири должнапризнатьвашречьи расшифровывает вашу речь в текст. Во-вторых, компьютер должен быть обученПонимаювашестественный языкв тексте. В-третьих, компьютер будетгенерировать естественный языкответить вам. Распознавание речи имеет дело с тонами, такими как женский или мужской тон или подъем. NLG имеет дело с соответствующей формулировкой и последовательностью слов, чтобы сделать ее максимально естественной. В этом посте я остановлюсь на NLU и NLG, которые работают с информацией в текстовом виде.

Какие типы алгоритмов машинного обучения были разработаны для NLG?

Искусственный интеллект (AI), машинное обучение (ML), нейронные сети (NN) и глубокое обучение (DL) являются популярными терминами и могут использоваться взаимозаменяемо некоторыми людьми. NVidia имеетпослеразличает различия, показанные на рисунке B. Независимо от того, являются ли они AL, ML, NN или DL, каковы многообещающие алгоритмы для генерации естественного языка?



Позвольте мне объяснить больше о RNN. Идея RNN заключается в том, чтобы использоватьпоследовательная информация, Поскольку язык является последовательным, естественно использовать RNN для прогнозирования следующего слова, которое следует за существующим словом. Обычная модель нейронной сети состоит из входного слоя, множества внутренних скрытых слоев и выходного слоя, как показано на левой панели рисунка 3. При моделировании предложений предполагается, что все слова независимы друг от друга. Очевидно, это не сработает. Нам нужна модель, которая может инкапсулировать информацию между последовательностями слов. RNN сохраняют структуру нейронных сетей (NN), но скрытые уровнивозвратныйпотому что они зависят от выходных данных предыдущих слоев, как показано на правой панели рисунка 3. Другой способ думать о RNN состоит в том, что у них есть «память», которая захватывает информацию о том, что было рассчитано до сих пор.

Надеюсь, вам понравился мой пост, и вы более чем рады продолжатьЧасть (II), в которой говорится о случае использования обработки естественного языка (NLP) в Электронной медицинской карте (EHR), Я обсуждаю электронную медицинскую карту (EHR) как пример использования НЛП. ЭМК содержит историю болезни пациента, диагнозы, лекарства, планы лечения, даты иммунизации, аллергии, рентгенологические снимки, а также результаты лабораторных исследований и анализов. Тем не менее, большой барьер для этого EHR заключается в том, что большая часть информации в EHR по-прежнему носит повествовательный характер. Как мы можем использовать НЛП для извлечения и преобразования повествовательной информации?

Читайте также: