赞
踩
RulePolicy
)和一个简单的方法来返回问题的相应响应(
ResponseSelector
)。
对于常见问题和闲聊,您总是希望助理在每次提出相同类型的问题时都以相同的方式回答。Rules
允许你这么做。要使用规则,您需要将RulePolicy
添加到配置文件中的policies
中:
policies:
# other policies
- name: RulePolicy
接下来,在配置文件的NLU管道中包含ResponseSelector
。ResponseSelector
需要Featureizer
和intent
分类器才能工作,因此它应该位于管道中的这些组件之后,例如:
pipeline:
- name: WhitespaceTokenizer
- name: RegexFeaturizer
- name: LexicalSyntacticFeaturizer
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
analyzer: char_wb
min_ngram: 1
max_ngram: 4
- name: DIETClassifier
epochs: 100
- name: EntitySynonymMapper
- name: ResponseSelector
epochs: 100
默认情况下,ResponseSelector
将为所有检索意图构建单个检索模型。要分别检索常见问题解答和闲聊的响应,请使用多个响应选择器组件并指定retrieval_intent
键:
pipeline:
# Other components
- name: ResponseSelector
epochs: 100
retrieval_intent: faq
- name: ResponseSelector
epochs: 100
retrieval_intent: chitchat
举一个例子,你有20个不同的常见问题。尽管每个问题都表示为一个单独的意图,但所有FAQ意图在对话中的处理方式都是相同的。对于每个FAQ意图,助手将根据提出的问题检索正确的响应。
您可以使用单个操作(例如utter_faq
)而不是编写20个规则,通过将所有常见问题分组到一个名为“faq”的检索意图下,用单个规则处理所有常见问题。
单个action
使用ResponseSelector
的输出为用户询问的特定FAQ
返回正确的响应。
您只需要为每个检索意图编写一个规则。在该检索意图下分组的所有意图都将以相同的方式处理。操作名称以utter_
开头,以检索意图的名称结尾。编写回复常见问题和闲聊的规则:
rules:
- rule: respond to FAQs
steps:
- intent: faq
- action: utter_faq
- rule: respond to chitchat
steps:
- intent: chitchat
- action: utter_chitchat
操作utter_faq
和utter_chitchat
将使用ResponseSelector
的预测来返回实际的响应消息。
ResponseSelector
的NLU训练示例与常规训练示例相同,只是它们的名称必须引用它们分组在下面的检索意图:
nlu:
- intent: chitchat/ask_name
examples: |
- What is your name?
- May I know your name?
- What do people call you?
- Do you have a name for yourself?
- intent: chitchat/ask_weather
examples: |
- What's the weather like today?
- Does it look sunny outside today?
- Oh, do you mind checking the weather for me please?
- I like sunny days in Berlin.
请确保更新domain
文件以包含添加的chitchat
意图:
intents:
# other intents
- chitchat
ResponseSelector
的响应遵循与检索意图相同的命名约定。除此之外,它们还具有正常bot响应的所有特征。对于上面列出的聊天意图,我们的回答可能如下所示:
responses:
utter_chitchat/ask_name:
- image: "https://i.imgur.com/zTvA58i.jpeg"
text: Hello, my name is Retrieval Bot.
- text: I am called Retrieval Bot!
utter_chitchat/ask_weather:
- text: Oh, it does look sunny right now in Berlin.
image: "https://i.imgur.com/vwv7aHN.png"
- text: I am not sure of the whole week but I can see the sun is out today.
一旦你做了以下内容,你可以训练你的机器人,并尝试一下!
RulePolicy
添加到策略中,并将ResponseSelector
添加到config.yml
中的管道中domain
中的意图现在,你的助手应该能够正确、一致地回答常见问题或闲聊,即使这些感叹词是在你的助手帮助用户完成另一项任务时发生的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。