Подробнее об NLP

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Обработку естественного языка можно поделить на 3 взаимосвязанных области: Natural Language Understading (NLU, понимание естественного языка), Speech Recognition (Speech to Text, STT, распознавание устной речи) и Natural Language Generation (NLG, генерация текста или речи).

Типичные задачи NLP

  • Распознавание речи - это задача трансформации звучащей речи в текст (например, предложений русского языка из аудиокниги или отдельных команд, считанных голосовым помощником). Решается она следующим образом: в аудиофайле выделяются промежутки, соответствующие буквам или фонемам языка; затем эти выделенные «кусочки» собираются в существующие слова/предложения. Например, пользователь сервиса с распознаванием речи произносит «корова ела траву»: сначала мы распознаем звучание — [карова йэла траву], затем сопоставляем получившиеся фонетические слова с существующими словами русского языка, которые складываются в предложение, и на выходе получаем «корова ела траву».
  • Классификация текстов - это задача распределения текстов по заранее заданным категориям. Например, по категориям спам/не спам (письмо на электронной почте) или агрессивный/позитивный тон текста. Для решения данной задачи выделяются ключевые слова и особые характеристики текста, которые анализирует машина и, отталкиваясь от них, отправляет текст в ту или иную категорию.
  • Реферирование текстов - это задача составления конспекта, т. е. краткого пересказа основной мысли текста. Допустим, у вас есть длинная новостная статья и вам лень читать всю воду, что налил туда автор, его бесконечно длинные описания; вы хотите получить только самое главное. Реферирование текстов представит вам самые значимые предложения текста или составит новые, отражающие всю самую важную информацию.
  • Чат-боты решают задачу обработки сообщения пользователя, с которым разговаривает бот, и генерации подходящего на это сообщение ответа. Например, когда мы говорим "Siri, хочу того, сам не знаю чего", внутренний алгоритм чат-бота выявляет наши интенции, например, "запрос активности", оценивает наше настроение, использует локацию, время, историю нашего с ним общения, и на основе всей этой информации генерирует варианты возможных ответов и выбирает наиболее подходящий, например, "пойди поешь".
  • Извлечение именованных сущностей - классическая задача NLP, которая является связующим звеном многих других задач. В рамках этой задачи требуется извлечь из текста наиболее полезную информацию, относящуюся к определенной категории. Например, у нас есть 10 статей по теме "Влияние мемов на культуру России" и мы хотим извлечь названия всех мемов, упоминаемых в статьях. Для этого нам потребуется определить алгоритм, выделяющий из текста сущности типа "мем". Существует несколько основных подходов к решению данной проблемы. Они также используются и для остальных задач, перечисленных выше, так что рассмотрим эти подходы отдельно.

Методы NLP

Методы NLP можно грубо поделить на rule-based (основанные на правилах) и statistical (статистические). Rule-based методы базируются на сложных лингвистических и математических правилах решения конкретной задачи. Например, если вы создаете систему распознания речи с помощью rule-based подхода, то вам потребуется вручную вывести какой-то общий шаблон того, как звучит (или отображается на спектрограмме) каждый звук ([а], [б] и т.д.) у разных дикторов, в разных шумовых условиях и т.п. Сделать это невероятно сложно и требует огромных человеческих усилий и времени. Опытные фонологи, вручную размечающие тексты, со временем начинают распознавать звуки на спектрограмме, но сформулировать точные, понятные машине правила у них не получается.

Звуковая волна и соответствующая спектрограмма

Долгое время многие задачи в области NLP решались при помощи таких вот ручных правил, а некоторые казались и вовсе неразрешимыми. Но с ростом хайпа вокруг больших данных начали набирать популярность статистические методы. Суть этих методов — попытаться уловить правила, по которым работает язык, загрузив в себя как можно больше примеров валидных произношений, слов, предложений, ответов на определенные вопросы и любых других исходных для задач NLP данных. На выходе статистические алгоритмы выдают модель входных данных. Модель можно представить как такой черный ящик, который можно спросить, например: «Насколько правильно предложение 'йа хчу кушать'?» Или: «Что следует за словами 'я тебя…'?», а модель ответит: «'люблю' с вероятностью 0.55, 'не' с вероятностью 0.33 …», что будет отражать частоту определенных последовательностей слов в языке. На этом, например, построен автоподбор слов в клавиатуре вашего телефона и поисковой строке гугла.

Возможные продолжения последовательности отсортированы в порядке убывания их частотности

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

Дальнейшее чтение

До встречи в следующих статьях!


Источник: m.vk.com

Комментарии: