Использование Rasa для разработки чат-ботов на любом родном языке

Региональные языки не должны быть препятствием для развития диалогового интерфейса

Вступление

Приступая к изучению чат-ботов и разговорного ИИ, процесс начинается с поиска доступных фреймворков. Обычно это приводит вас к одному из крупных поставщиков услуг облачных чат-ботов.

Скорее всего, вы в конечном итоге будете использовать IBM Watson Assistant, Microsoft LUIS / Bot Framework, Dialog Flow и т. Д. Есть преимущества… эти среды предлагают простой ввод с точки зрения затрат и подход с низким кодом или без кода.

Однако есть одно большое препятствие, с которым вы часто сталкиваетесь в такой среде, - это отсутствие разнообразия языков.

Языки меньшинств

Многие диалоговые интерфейсы должны существовать и использоваться в географических областях, где существует множество небольших языков. Только в Африке насчитывается семь основных языковых семей. При этом общее количество языков, на которых говорят в Африке, оценивается от 1,250 до 2,100.

По некоторым подсчетам, более 3 000. Это зависит от того, что вы считаете языком или диалектом.

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

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

При рассмотрении создания диалогового пользовательского интерфейса на местном языке предполагается, что вам необходимы:

  • Огромная вычислительная мощность
  • Масса обучающих данных и
  • Очень специализированные знания.

Раса разрешила все три препятствия.

Раса и народный язык

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

Вы также должны указать пользователя в input. Это делается путем создания намерений, каждое из которых содержит от 15 до 20 примеров пользовательских высказываний. В этих высказываниях вы можете определять свои сущности.

## intent:travel_details- I want to travel by [train](travel_mode) from [Berlin](from_city) to [Stuttgart](to_city) on [Friday](date_time)

Намерение под названием travel_details с одним примером пользовательского высказывания.

Разработать для любого языка

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

Если для вашего языка нет встраиваемых слов или у вас есть чат-бот для конкретной предметной области, Rasa рекомендует следующий конвейер:

language: "fr"  # your two-letter language code

pipeline:
  - name: WhitespaceTokenizer
  - name: RegexFeaturizer
  - name: LexicalSyntacticFeaturizer
  - name: CountVectorsFeaturizer
  - name: CountVectorsFeaturizer
    analyzer: "char_wb"
    min_ngram: 1
    max_ngram: 4
  - name: DIETClassifier
    epochs: 100
  - name: EntitySynonymMapper
  - name: ResponseSelector
    epochs: 100

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

Очевидно, есть компоненты для:

  • Токенизация

Токенизация - это процесс разделения высказываний (фразы, предложения, абзаца, документов) на более мелкие части; отдельные слова. Каждая из этих единиц называется жетонами.

  • Сущность Извлечение
  • Намерение Классификация
  • Ответ Выбор
  • и т.п.

Подробнее об этих компонентах вы можете прочитать здесь.

Начиная

  1. Ниже приводится подробное руководство по установке Windows 10, которое поможет вам выполнить полную и успешную установку. Есть также учебники для других операционных систем. Здесь вы также увидите, как он инициализирует ваш первый проект.
  2. В папке нового проекта перейдите к config.yml и вставьте свой конвейер в этот файл. Всегда разумно сделать резервную копию конфигурации по умолчанию. или любой файл, который вы изменяете по этому поводу.
  3. Данные, относящиеся к вашему пользовательскому языку / наречию, будут в основном определены в двух областях; вход и выход чат-бота. Раса должен будет знать, что говорит ваш пользователь, посредством распознавания намерений и идентификации сущностей. Таким образом, вам нужно будет определить свои обучающие примеры на вашем родном языке / языке по выбору. Вы запишете это в следующие файлы…
  • Ввод: вводимые пользователем данные будут интерпретироваться с помощью намерений и сущностей, определенных в этом файле:
/data/nlu.md
  • Вывод: часть, в которой бот отвечает пользователю, также должна быть в строках ответа на то, что может сказать ваш помощник.
domain.yml

Вот список файлов, созданных при инициализации проекта.

В этом видео есть все необходимое для установки Rasa в Windows 10:

На этой странице рассказывается, как разобраться с основами:

«Https://rasa.com/docs/rasa/user-guide/rasa-tutorial секс

И, наконец, мастер-класс Раса из десяти эпизодов проведет вас через все необходимые компоненты для устойчивого AI Assistant.

Заключение

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

Это очевидно с Rasa и только несколькими другими платформами.

Подробнее здесь…