问题描述
我正在使用 Rasa 2.6,并试图为用户寻找一种方法来搜索食谱,而不会出现荒谬的实体列表。所以,而不是:
- intent: cooking_baking
examples: |
- show me a recipie for [cake](cookingAndBaking)
- show me a recipie for [pizza](cookingAndBaking)
- show me a recipie for [pie](cookingAndBaking)
用户应该能够指定他们正在寻找的配方:
- intent: cooking_baking
examples: |
- show me a recipie for [*](cookingAndBaking)
并且仍然返回他们的食谱。
解决方法
实体提取使用机器学习,通过查看例句“训练”模型进行提取。
您不需要提供很长的例句列表。只要您提供足够的示例(通常在 5-20 个之间),模型就会学会提取实体值,即使它没有在训练示例中提供。
在创建例句时,建议使用多种用户与您的机器人对话的方式,例如您的示例:
- intent: cooking_baking
examples: |
- show me a recipie for [cake](cookingAndBaking)
- do you have a recipie for [pizza](cookingAndBaking)
- Can you help me bake a [pie](cookingAndBaking)?
- etc.
建议应用Conversation-Driven Development。这意味着你不应该试图自己想出太多的句子。刚好够用,然后让其他人与您的机器人交谈。然后,您有选择地将他们的句子添加到您的训练数据中。