RASA NLU переоснащение объекта извлечения - PullRequest
0 голосов
/ 14 апреля 2019

Раса версия: 0.1.1

Версия Python: 3,7

Операционная система: osx

Проблема:

Я делаю приложение, которое может выбирать объекты из списка покупок. Для первой версии я пробую только пару продуктов / брендов.

Мои данные об обучении были сгенерированы с использованием chatito, и это формы запросов:

%[inventory_count]('training': '0.99', 'testing': '')
    order @[count] @[units?] of @[brand?] @[product]
    @[count] @[units?] @[product] by @[brand]
    @[brand] @[product] is @[count] @[units?]
    add @[brand] @[product] @[count] @[units?]
    @[brand] @[product] @[count] @[units?] on floor

Список товаров выглядит примерно так:

spinach 5 oz
spinach 5 ounces
spinach 16 oz
spinach 16 ounces
spinach
spinach sixteen ounces
spinach five ounces
gala apples
gala apple
apples
apple

Обученная модель способна обнаружить все продукты в списке выше, но она также обнаруживает произвольные продукты, подобные этому (в тексте могут быть потенциальные ошибки, и я хотел проверить отрицательный случай):

spinach 50 oz
call apples

Это переоснащение? Каковы возможные решения?

Содержимое файла конфигурации (config.yml):

language: "en"

pipeline:
- name: "tokenizer_whitespace"
- name: "ner_crf"
- name: "intent_featurizer_count_vectors"
- name: "intent_classifier_tensorflow_embedding"
  droprate: 0.5
  epochs: 300
  C2: 0.02

1 Ответ

0 голосов
/ 18 июня 2019

Да, действительно, кажется, что условное случайное поле фокусируется в основном на отдельных словах. Чтобы исправить это, вы можете привести несколько примеров (например, call apple) и не аннотировать apple, так что условное случайное поле вынуждено обобщать.

Я также рекомендую обновиться до последней версии Rasa (1.1.4), поскольку ваша версия довольно старая. Очень полезный ресурс для помощи также https://forum.rasa.com.

...