Объяснение технологий

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

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

Мы все время говорим о компьютерах, которые нас понимают. Мы говорим, что Google «знал», что мы искали, или что Кортана «получила» то, что мы говорили, но «понимание» — очень сложная концепция. Особенно когда дело доходит до компьютеров.

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

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

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

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

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

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

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

понять определение словарь

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

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

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

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

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

Сири пицца команда

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

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

Установка примера

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

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

аннотация медицинской записки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кредиты изображений: Васильев Александр / Shutterstock

Похожие посты
Объяснение технологий

Как работает жесткий диск? [Технология объяснила]

Объяснение технологий

Что такое программное обеспечение с открытым исходным кодом? [MakeUseOf Объясняет]

Объяснение технологий

Разрешения графического дисплея - что означают цифры? [MakeUseOf Объясняет]

Объяснение технологий

Как переформатировать внешний жесткий диск, не теряя на нем все