Как справиться с проблемой дисбаланса данных rasa nlu?

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

Как мне справиться с этой проблемой дисбаланса данных?

Содержимое моего файла config.yml выглядит следующим образом:

language: en

pipeline:
  - name: "WhitespaceTokenizer"
  - name: "RegexFeaturizer"
  - name: "CountVectorsFeaturizer"
    analyzer: char_wb
    min_ngram: 2
    max_ngram: 5
    stop_words: "english"
  - name: "CRFEntityExtractor"
  - name: "extractor.regex.RegexEntityExtractor"
  - name: "EmbeddingIntentClassifier"
    epochs: 100
    num_neg: 2
  - name: "DucklingHTTPExtractor"
    url: "http://localhost:8000"
    dimensions: ["time", "duration", "phone-number", "distance"]

policies:
  - name: MemoizationPolicy
  - name: EmbeddingPolicy
    epochs: 20
  - name: FormPolicy
  - name: MappingPolicy
  - name: FallbackPolicy
    fallback_action_name: "action_default_fallback"

person shaojie    schedule 19.10.2019    source источник


Ответы (2)


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

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

person V. Dhananjaya    schedule 22.10.2019
comment
Большое спасибо!, Я попробую - person shaojie; 23.10.2019

Вот документация Rasa, надеюсь, вы получите то, что вам нужно.

Алгоритмы классификации часто не работают хорошо, если существует большой дисбаланс классов, например, если у вас много обучающих данных для одних целей и очень мало обучающих данных для других. Чтобы смягчить эту проблему, конвейер rasa supervised_embeddings использует сбалансированную стратегию пакетной обработки.

person Bidya    schedule 16.01.2020
comment
Да, это действительно ответ на вопрос, используйте настройку, которую предоставляет Rasa. Но даже лучший ответ объяснил бы сбалансированную стратегию пакетной обработки не таинственным образом. - person demongolem; 28.12.2020