Мы привыкли думать, что компьютеры передают инструкции и данные с помощью единиц и нулей.

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

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

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

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

Нахождение смысла в словах

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

Мы адаптировали метод токенизации, который разбивает весь текст на более простые сегменты, такие как слова, числа и знаки препинания, а затем назначает символы или токены вместо этих сегментов. Затем эти токены становятся входными данными для синтаксического анализа или анализа текста.

tf-idf

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

ЛДА

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

Анализ настроений

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

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

Пополнение словарного запаса

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

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

Ворднет

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

Концептнет

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

Фреймнет

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

Предлагаемая верхняя объединенная онтология (SUMO) и еще одна великая онтология (YAGO)

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

DBpedia

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

Создание модели мира

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

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

Обучение на собственном опыте

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

Word2vec

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

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

Seq2seq

В seq2seq участвуют две рекуррентные нейронные сети (RNN). RNN способны анализировать последовательные данные, такие как последовательности текста или символов. Он не обязательно знает, что означает каждый символ/токен, но он сделает вывод о значении, принимая во внимание структуру текста и его связь с другими символами. Seq2seq имеет кодировщик RNN, который обрабатывает входные данные, и декодер RNN для генерации выходных данных.

Кодер вводит последовательность и фиксирует то, что он пытается сказать, или его семантическую сводку. Затем декодер будет основывать свой ответ на контексте. Seq2seq часто используется в чат-ботах, поэтому, когда мы спрашиваем чат-бота «Как дела?» он может ответить: «Я в порядке».

Но поймут ли когда-нибудь машины нас по-настоящему?

Язык и человеческие эмоции — такие огромные и широкие понятия. Но с помощью интеллектуальных ботов и таких устройств, как Siri, Cortana и Alexa, мы получили представление о том, как ИИ может начать говорить с нами так, как это сделал бы человек. То, как мы взаимодействуем с нашими устройствами, изменилось с годами, и наши отношения с машинами также углубляются. Мы считаем их своими личными помощниками, рабочими тренерами и надежным помощником в нашей повседневной жизни.

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