Как роботы учатся читать и думать
Технологии с объяснениями

Как роботы учатся читать и думать

Что значит для робота уметь читать и понимать текст? И, что более важно, как это возможно для робота?

Мы постоянно говорим о том, что компьютеры нас понимают. Мы говорим, что Google ‘знает’, что мы ищем, или что Cortana ‘понимает’, что мы говорим, но ‘понимание’ – это очень сложное понятие. Особенно когда речь идет о компьютерах

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

Небольшое примечание: В этой статье есть несколько примеров того, как компьютер реагирует на речь, например, когда вы просите Siri о чем-то. Преобразование слышимой речи в понятный компьютеру формат называется распознаванием речи. НЛП этим не занимается (по крайней мере, в том качестве, которое мы здесь обсуждаем). НЛП вступает в игру только после того, как текст готов. Оба процесса необходимы для многих приложений, но это две совершенно разные проблемы

Определение понимания

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

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

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

Словарные определения туманны. Нет интуитивного ответа. Философы веками спорили о подобных вещах

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

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

Сложная проблема

Естественный язык очень сложен для компьютера. Вы можете сказать: ‘Siri, дай мне дорогу к Punch Pizza’, в то время как я могу сказать: ‘Siri, маршрут Punch Pizza, пожалуйста’

В вашем высказывании Siri может выбрать ключевую фразу ‘дай мне дорогу’, а затем выполнить команду, связанную с поисковым запросом ‘Punch Pizza’. В моем же случае Siri нужно выбрать ключевое слово ‘маршрут’ и понять, что ‘Punch Pizza’ – это то место, куда я хочу попасть, а не ‘пожалуйста’. И это только упрощенный пример

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

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

Пример

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

Существовало огромное количество различных категорий сущностей и отношений. Возьмем, к примеру, предложение ‘Ms. Головную боль Грина лечили ибупрофеном’, например. Ms.Green была помечена как ЛИЦО, головная боль была помечена как ПРИЗНАК ИЛИ СИМПТОМ, ибупрофен был помечен как МЕДИКАМЕНТ. Затем г-жаGreen была связана с головной болью отношением PRESENTS. Наконец, ибупрофен был связан с головной болью отношением TREATS

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

Чтение так же трудно определить, как и понимание. Компьютер может легко понять, что ибупрофен лечит головную боль, но когда он усваивает эту информацию, она преобразуется в бессмысленные (для нас) единицы и нули. Конечно, он может вернуть информацию, которая кажется человекоподобной и полезной, но является ли это пониманием? Опять же, это в значительной степени философский вопрос

Настоящее обучение

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

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

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

Глубокое обучение

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

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

Поэтому команда DeepMind обратилась к другому источнику: новостным сайтам. В частности, CNN и Daily Mail

Почему именно эти сайты? Потому что они предоставляют краткое изложение своих статей, а не просто выдергивают предложения из самой статьи. Это означает, что ИИ есть на чем учиться. Исследователи, по сути, сказали ИИ: ‘Вот статья и вот самая важная информация в ней’. Затем они попросили его извлечь ту же информацию из статьи без выделений

С таким уровнем сложности может справиться глубокая нейронная сеть, которая представляет собой особенно сложный тип системы машинного обучения.(Команда DeepMind делает потрясающие вещи в рамках этого проекта. Чтобы узнать подробности, посмотрите этот отличный обзор от MIT Technology Review)

Что может делать читающий ИИ?

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

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

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

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

Какое применение вы видите для ИИ, читающего и обучающего текст? Как вы думаете, какие виды машинного обучения мы увидим в ближайшем будущем? Поделитесь своими мыслями в комментариях ниже!

Image Credits: Vasilyev Alexandr/Shutterstock

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий

ВАМ БУДЕТ ИНТЕРЕСНО