Natural Language Processing

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

Natural Language Processing

NLP расшифровывается как обработка естественного языка — общее направление технологий искусственного интеллекта и компьютерной лингвистики. NLP изучает проблемы компьютерного анализа и синтеза текстов на естественных языках для реализации более удобной формы человеко-компьютерного взаимодействия (human-computer interaction, HCI).


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

Алгоритмы анализа естественной речи

Работу искусственного интеллекта по анализу естественной речи можно сравнить с написанием диктанта по русскому языку. Устную речь мы переводим в письменную благодаря технологии преобразования речи в текст (speech-to-text), затем проверяем орфографию и пунктуацию (spell-checking), также используем автокоррекцию текста (autocorrect), выделяем основы и корни, подчеркиваем главные члены предложения, определяем основную мысль и цель текста.

Если структурировать алгоритм NLP,
получится следующая последовательность:

  • Вход (input)
    Сначала нужно перевести информацию в формат, удобный для работы алгоритмов NLP (символы, слова). Если сообщение пришло в виде звукового файла, производится распознавание речи (приём и обработка звуковой волны), если в виде изображения — оптическое распознавание символов (Optical Character Recognition);
  • Морфология (Morphology)
    Затем, при необходимости, производится корректировка опечаток в тексте (spell checking) и морфологический анализ полученной строки: лемматизация (процесс приведения слова к нормальной форме, например, в единственное число именительный падеж для существительного) или стемминг (получение основы слова);
  • Семантика (Semantics)
    Далее идет семантический анализ текста. С помощью различных алгоритмов машинного обучения (Transformers, RNN, CNN и др.) получается некое представление текста (обычно в виде вектора), с помощью которого можно определить смысл текста;
  • Контекст (Context)
    В случае с чат-ботами мы должны уметь не только определять смысл фразы с помощью машинного обучения, но и сохранять контекст диалога на протяжении всей беседы. Необходимость учитывать контекст диалога делает чат-боты одной из наиболее высокоуровневых задач в NLP, где используется большой набор алгоритмов (классификация, анализ тональности текста, алгоритмы предсказания следующего шага диалога), а также инструменты хранения информации (хранение в оперативной памяти, реляционные и нереляционные СУБД).

Зачем NLP вашему бизнесу?

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

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

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