Введение в искусственный интеллект (AI)

Вы приступаете к второй теме нашего облачного спринта — AI-технологиям.
Искусственный интеллект (AI, Artificial Intelligence) стал важной частью бизнеса: он предлагает новые способы автоматизации процессов и взаимодействия с клиентами. Одной из ключевых технологий, которая активно используется в IT-сфере, является Natural Language Processing (NLP) — обработка естественного языка. Именно благодаря NLP машина может «понимать» и интерпретировать человеческую речь и текст, открывая новые горизонты для интеллектуальных систем.
Сейчас NLP используется повсеместно — от чат-ботов для автоматизации клиентской поддержки до систем анализа текстов, которые могут извлекать ценные данные из огромных массивов информации. Такие компании как Яндекс, Amazon и Microsoft активно используют NLP для создания виртуальных ассистентов.
В этом уроке мы рассмотрим, как искусственный интеллект и NLP реализуются в современных IT-продуктах, решая задачи бизнеса.

Искусственный интеллект

Человек от природы имеет способность рассуждать, то есть конструктивно обрабатывать информацию, полученную через опыт взаимодействия с окружающей реальностью. Компьютеру для того, чтобы развить тот же навык «рассуждения» нужно пройти машинное обучение (machine learning, ML) — обработать, проанализировать огромные массивы данных и извлечь закономерности. С использованием явного и неявного обучения искусственный интеллект обретает способность строить прогнозы, принимать решения, имитировать интуицию, эмоции и мысли человека.
Сегодня «искусственный интеллект» — термин, который встречается и в философии, и в компьютерных науках, и даже среди футурологов. Границы этого понятия постоянно расширяются, поэтому стоит договориться, что под искусственным интеллектом будем понимать мы в рамках этого курса.
✏️ Искусственный интеллект — это технология, реализованная в информационных системах и имитирующая человеческий интеллект с помощью методов машинного обучения.
Методы машинного обучения, включённые в область AI-технологии, использует и наука о данных (data science, DS) для извлечения полезной информации из данных.
В человеческой жизни важным аспектом интеллектуальной деятельности является язык. Человек с помощью языка получает и передаёт знания. Язык нужен для обдумывания, формирования и модификации мышления. AI-технологии не могли обойти стороной такую важную область. Поэтому речь пойдёт об обработке естественного языка.

NLP

Обработка естественного языка, или просто NLP (Natural Language Processing), — это класс задач по распознанию, генерации, обработке голоса и письменной речи человека, используемых при разработке информационных систем.
NLP применяется в разработке специализированных AI-сервисов, например:
  • Голосовой набор сообщений. Здесь используется функция распознавания речи — преобразования устной речи в текст.
  • Автоматизированные классификаторы отзывов с функцией анализа текста, где система извлекает смысл из текстов: анализирует настроение, определяет сущности (имена, даты, места), а затем на основе полученных данных классифицирует текст.
  • Автозаполнение или создание новостных статей. Функция генерации текста позволяет создавать осмысленный текст на основе заданных данных или контекста.
  • Чат-боты или голосовые ассистенты. Их диалоговые системы могут вести осмысленные беседы с пользователями.
Многие популярные сервисы разрабатывались на NLP-принципах. Алиса, Siri, Alexa, Google Assistant понимают голосовые команды, распознают намерения пользователя и генерируют осмысленные ответы или выполняют действия. Сервисы машинного перевода вроде Яндекс Переводчика и DeepL автоматически переводят текст с одного языка на другой, используя сложные алгоритмы анализа и обработки лингвистических структур. А MonkeyLearn, Lexalytics анализируют текст (например, отзывы пользователей) и определяют эмоциональную окраску текста: позитивную, негативную или нейтральную.

Основные аспекты NLP

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

1. Токенизация

✏️ Токенизация — это декомпозиция текста на отдельные слова, фразы или предложения, которые называются токенами. Токенизация разбивает этот текст на элементы — токены.
Исходный отзыв: «Мне понравился этот телефон. Очень хорошее качество звука!»
После токенизации: ["Мне", "понравился", "этот", "телефон", ".", "Очень", "хорошее", "качество", "звука", "!"]

2. Стоп-слова

✏️ Стоп-слова — это часто встречающиеся знаки и слова, такие как «и», «в», «на», «этот», которые обычно не несут полезной информации для анализа. Они часто удаляются, чтобы сократить объём данных и сосредоточиться на значимых словах.
Пример:
Исходный отзыв: «Мне понравился этот телефон. Очень хорошее качество звука!»
После удаления стоп-слов: ["понравился", "телефон", ".", "хорошее", "качество", "звука", "!"]

3. Лемматизация и стемминг

✏️ Лемматизация и стемминг — это методы нормализации. Лемматизация приводит слово к его базовой (лемматической) форме, то есть преобразует слова в их исходные формы. А стемминг находит основу слова, убирая приставки, окончания.
Исходный отзыв: «Мне понравился этот телефон. Очень хорошее качество звука!»
Лемматизация: «понравился» -> «нравиться», «звука» -> «звук».
Стемминг: «понравился» -> «нрав», «звука» -> «звук».
После лемматизации и стемминга: ["нравиться", "нрав", "телефон", ".", "хороший", "качество", "звук", "!"]

4. Мешок слов

✏️ Мешок слов (bag of words) — это сложенный в массив набор всех токенов. Каждый токен заносится в общий словарь, и каждому присваивается число, которое отражает, сколько раз каждое слово встречается в этом документе.
Исходный отзыв: «Мне понравился этот телефон. Очень хорошее качество звука!»
Мешок-слов: ["нравиться": 1, "телефон": 1, "качество": 1, "звук": 1, "хороший": 1]

5. TF-IDF

✏️ TF-IDF (term frequency-inverse document frequency) — это числовой показатель, который оценивает важность слов во всём тексте. Он похож на мешок слов, но тут используется более сложный расчёт, показывающий «важность» слова в целом документе.
Слово «телефон» может встречаться во многих отзывах, поэтому его IDF будет низким, так как оно не уникально для конкретного отзыва.
Слово «звук» может встречаться реже, что делает его более важным для текущего документа, если оно встречается в этом отзыве.

6. Распознавание намерений

✏️ Распознавание намерений — это метод определения цели или намерения пользователя на основе текста с использованием машинного обучения.
На основе анализа отзывов можно понять, что пользователь положительно оценивает качество звука или что его интересует камера телефона.
Исходный отзыв: «Мне понравился этот телефон. Очень хорошее качество звука!»
Распознавание намерений: Определяет, что намерение пользователя — «положительная оценка качества звука».

Задание 1

Вы работаете в компании, разрабатывающей AI-системы. Клиент попросил проанализировать данные пользователей и предложить индивидуальные рекомендации, основанные на прошлых покупках. Какой аспект AI подойдёт для описания этого процесса?
Хотя AI может принимать решения автоматически, ключевой аспект здесь заключается в машинном обучении, которое позволяет системе анализировать данные и улучшать свои прогнозы.
Это не так, поскольку ключевая характеристика AI в данной ситуации — это способность обучаться на данных, а не просто реагировать на команды.
AI-системы используют машинное обучение для анализа данных, нахождения закономерностей и формирования рекомендаций на основе предыдущего опыта.
AI отличается от традиционных программ именно способностью адаптироваться и обучаться на данных, а не следовать жёстким правилам.

Задание 2

Соотнесите задачи обработки естественного языка (NLP) с их примерами.
Анализ настроений, как в случае с отзывами, — это типичная задача NLP, где система оценивает эмоциональную окраску текста.
Распознавание речи — это процесс перевода устной речи в текстовую форму, что широко используется в голосовых ассистентах.
Генерация текста — это создание осмысленных текстов на основе контекста.
Фильтры для почты классифицируют письма как спам или важные сообщения.

Задание 3

Система получает отзыв: «Этот ноутбук отлично работает, но у него слабая батарея». Соотнесите этапы с правильными терминами, описывающими применённый метод. Учтите, что этапы перемешаны.
Система удаляет такие слова, как «у», «этот», «но», поскольку они не несут значимой информации
Стоп-слова
Удаление стоп-слов помогает сократить объём текста, оставляя только важные для анализа слова.
Система преобразует слова «работает» и «батарея» в их базовые формы — «работать» и «батарея»
Лемматизация
Лемматизация приводит слова к их базовой форме, что помогает анализировать текст независимо от формы слова.
Система пытается определить основное намерение автора отзыва. В этом случае важно, что автор говорит о качестве работы ноутбука и проблеме с батареей
Распознавание намерений
Распознавание намерений позволяет выявить основное сообщение текста, что важно для анализа отзывов.
Для анализа текста нужно разбиение отзыва на отдельные слова и знаки препинания
Токенизация
Токенизация разбивает текст на отдельные слова и знаки препинания, что считается первым этапом обработки текста.
Система оценивает, насколько часто слова «ноутбук», «работать» и «батарея» встречаются в других отзывах, чтобы понять их важность для этого отзыва
TF-IDF
TF-IDF оценивает важность слов в документе на основе их частоты в других текстах.
Система создаёт список всех слов отзыва с указанием количества их упоминаний, например: ["ноутбук": 1, "работать": 1, "батарея": 1]
Мешок слов
Мешок слов представляет текст как набор слов с их частотой, не учитывая их порядок в предложении.

Что почитать об искусственном интеллекте

  • Software Architecture in an AI World
  • Четыре проекта, где Machine Learning приносит пользу

Итоги

  • Искусственный интеллект — это технология, реализованная в информационных системах и имитирующая интеллект с помощью методов машинного обучения. Методы машинного обучения используются и в науке о данных.
  • Важной областью искусственного интеллекта является NLP. Это набор классических алгоритмов и продвинутых методов машинного обучения для разработки узкоспециализированных AI-сервисов вроде голосовых ассистентов, переводчиков и классификаторов.
  • Работа NPL разделяется на подготовку текста: этапы токенизация, стоп-слова, лемматизация и стемминг — и, собственно, анализ данных: мешок-слов, TF-IDF и распознавание намерений.