如何处理 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"

我不知道我是否正确理解了你的问题。据我了解,您不必担心诸如问候,拒绝具有很少数据(示例(而其他人具有数千个数据(示例(之类的意图。

当您尝试处理多个意图并且这些意图以非常小的方式彼此不同时,会出现此问题。在这种情况下,如果您没有向 RASA 提供正确和正确的数据,它将混淆并可能给出错误的输出。您应该担心如何使这些数据对于每个意图不同,并使 RASA 不那么混乱,以便您可以获得正确的输出。

这是Rasa文档,希望你能得到你需要的东西。

如果存在较大的类不平衡,则分类算法通常表现不佳,例如,如果某些意图的训练数据很多,而其他意图的训练数据很少。为了缓解此问题,rasa的supervised_embeddings管道使用平衡的批处理策略。

最新更新