Извлечение переобученного объекта RASA NLU

Версия Rasa: 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

person Varun Jain    schedule 14.04.2019    source источник


Ответы (1)


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

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

person Tobias    schedule 18.06.2019