предисловие
Год или два назад, из-за необходимости сосредоточиться на обработке естественного языка и диалоговых системах человек-компьютер, в этой статье будут перечислены их знания и их собственное мышление.
NLP и человеко-машинный диалог
Для обычных предприятий основным применением человеко-машинного диалога является система диалога человек-машина, основанная на задачах. Будь то nlp или чат-бот, в академической и инженерной областях существуют разные методы реализации. Результаты исследований системы диалога человек-машина в академических кругах и последние тенденции исследований в меньшей степени применяются в технике, и у инженерии есть свой собственный способ реализации диалога человека-машины. В процессе реализации человеко-машинный диалог будет использовать многие технологии НЛП, поэтому можно сказать, что НЛП является основой чат-бота.
с участием НЛП
Слова: грамматика, семантика, прагматика.
Фразы (предложения): грамматика, семантика, прагматика.
Текст: Грамматика, Семантика, Прагматика.
Исследования слов и фраз относительно зрелы, и основные исследования сосредоточены на периоде после 2000 года. Исследования по главе незрелые, и основные исследования относятся к периоду после 2010 года.
Синтаксическое дерево:
DG
CFG
PCFG
LPCFG
Общие алгоритмы:
искать С
динамическое программирование Д.
Алгоритм классификации C
аннотация последовательности S
Алгоритм оптимизации О
Основная структура диалога между человеком и машиной
NLU: Понимание пользовательского ввода и преобразование естественного языка в структурированное представление.
ДМ: Системное решение.
NLG: Генерация естественного языка, которая преобразует структурированные представления в естественный язык.
Поэтому, согласно основной структуре, он разделен на три основных модуля, а именно NLU, DM и NLG.
понимание естественного языка
Понимание естественного языка состоит из трех частей:
Распознавание домена в основном предназначено для определения типов задач, таких как бронирование конференц-залов, покупка билетов на поезд, заказ еды и т. д.
Идентификация намерения, идентификация используется для намерения, такого как подтверждение пользователя, отклонение.
Заполнение слота, извлечение важной информации, связанной с задачей, такой как бронирование встречи, слот может быть определен как место встречи и время встречи.
Пользователь вводит «У меня завтра встреча в компании», и результат после обработки понимания естественного языка (классификация предложений, маркировка последовательности) таков:
Domain:会议室预定Intent:提供信息Slots:{Time:明天;Location:公司}
Исследовательский статус понимания естественного языка:
Метод, основанный на правилах, регулярные выражения, является трудоемким, менее гибким и менее переносимым.
Статистические методы, моделирование индивидуально и совместно. Раздельное моделирование изучает распознавание предметной области, распознавание намерений и заполнение слотов по отдельности и использует для их реализации машины опорных векторов, сверточные нейронные сети, деревья решений, условные случайные поля и рекуррентные нейронные сети, при этом происходит накопление ошибок.
Этапы разработки:
Определите метки на основе требований задачи.
Подготовьте данные.Если вы используете метод, основанный на правилах, вам необходимо соблюдать правила данных и извлечь шаблон. Если вы используете статистический метод, вам необходимо пометить данные, которые делятся на обучающий набор, проверочный набор и тестовый набор. Общий объем данных составляет сотни тысяч.
Пишите регулярные выражения или создавайте модели для обучения моделей.
Завершены исследования и разработки NLU.
Итеративная оптимизация.
Управление диалогом
Основной фрейм модуля управления диалогами выглядит следующим образом:
Пользователь вводит «рестораны возле Вудаокоу», и после обработки NLU получается намерение = ask, slots={location: Wudaokou}.
Модуль отслеживания состояния диалога выводит slots={position: Wudaokou}.
Кандидатами на действия являются поиск ресторана и уточнение требований.
Политика сортирует действия-кандидаты.
Выполнение действия выполняет действие в соответствии с последовательностью действий для обновления состояния взаимодействия.
Произведено NLG, чтобы ответить: «Есть ли другие потребности?»
Пользователь продолжает печатать.
генерация естественного языка
Что касается модуля генерации естественного языка NLG, типичная генерация концепции в текст состоит из трех частей:
Выбор контента выбирает соответствующий контент из входных данных и определяет структуру выходного текста.
Планирование предложений, которое определяет лексическое содержание отдельных предложений.
Выражение, которое отображает выбранное предложение на выходе.
Традиционная практика включает в себя:
Вероятностная контекстно-свободная грамматика
n-грамм
Обнаружение свойства
Пороговая фильтрация
текстовый фильтр
На основе глубокого обучения:
RNN
LSTM
seq2seq
encoder-decoder
Требуется несколько сотен тысяч обучающих выборок.
Вопросы и мысли
В настоящее время человеко-машинный диалог может быть эффективен только в небольшой области, и вряд ли удастся реализовать крупномасштабный чат-бот общего назначения.
В настоящее время основная структура основной диалоговой системы аналогична, и главное - уметь давать результаты. Чтобы добиться эффекта, можно ограничить поле очень маленькой областью.Вы можете ограничить поле бизнеса очень маленькой областью, просто малым бизнесом.
Диалоговые системы, включающие машинное обучение или глубокое обучение, требуют большого количества обучающих выборок, и нет возможности пропустить этап маркировки человеком.
Три модуля NLU, DM и NLG в основном вызываются в виде библиотек в виде инженерных вызовов.Если они вызываются в виде сервисов, это будет тяжелее, и это будет более хлопотно, если это связано с обновлениями , с участием многопроектных команд.
Данные — это самое главное, без данных невозможно ничего сделать, и данные должны постоянно обновляться, чтобы обеспечить замкнутый цикл с онлайн-системой.
В настоящее время наиболее эффективные в инженерии по-прежнему используют традиционные методы, основанные на правилах, а машинное обучение или глубокое обучение будут внедрены в некоторые ссылки, а не будут напрямую сквозными.
Будь то искусственный интеллект или глубокое обучение, на самом деле, только вернувшись к сути проблемы, можно по-настоящему использовать искусственный интеллект, а не слепо рекламировать какой-то высокоуровневый искусственный интеллект.
Что касается маркировки образцов, необходимо разработать удобную для пользователя систему маркировки, удобную для использования бизнес-персоналом или этикетировщиками.
Этот официальный аккаунт фокусируется на искусственном интеллекте, чтении и мыслях, беседах о математике, информатике, распределенном, машинном обучении, глубоком обучении, обработке естественного языка, алгоритмах и структурах данных, глубине Java, ядре Tomcat и т. д.