意图识别与槽填充

开放域多轮对话:不太严谨的定义可以理解为 ,在不确定用户意图前的各种瞎聊,你不知道用户会问什么样千奇百怪的问题,但是chatbot都能接住,然后和用户进行对话,这种就是开放域的对话。

eg:这里奶奶说“天气不错”,实际machine是不知道奶奶要干什么的,于是为了避免尴尬,让对话能继续下去,machine就要制造话题啦,这里machine回复了“适合去市区走走”,制造了一个新话题出来。

填槽(Slot filling):填槽指的是为了让用户意图转化为用户明确的指令而补全信息的过程。

eg:

准入条件:从一个开放域转入到封闭域,或者从一个封闭域转入到另一个封闭域,中间的跳转是需要逻辑判断的,而这个逻辑判断就是准入条件。

eg:紧接着,奶奶说天气很好,想出去走走,“帮我叫个车!” 然后话风一改,machine不再瞎聊了,直接问了一句“奶奶打算几点出发?”

准入条件的构成由条件组和条件构成,准入条件通过条件组和条件形成了一套与或非

- 条件组和条件组是或关系

    - 条件组内的条件是与的关系

    - 条件本身可以是非的关系

eg:machine通过识别出有一个条件组是“用户叫车”的条件组,所以进入了用户叫车的封闭域对话中。

封闭域多轮对话:封闭域对话是指识别用户意图后,为了明确用户目的(或者称为明确任务细节)而进行的对话

【特征1】:输入和输出是可枚举的

【特征2】:对话有明确的目的,且有流程

这个过程称之为澄清话术当用户的需求中缺乏一些必要条件时,需要对话系统主动发问,把必要条件全部集齐之后再去做最终的满足执行。

以上就是整个对话系统的流程

1. 开放域多轮对话,瞎聊,识别用户意图

2. 准入条件,根据设定好的准入条件,进入封闭域对话

3. 封闭域对话,填槽,必填槽不完整就要澄清让用户填完整,最终执行

槽可以理解为:“实体已明确定义的属性”,例如打车中的,出发地点槽,目的地槽,出发时间槽中的属性分别是“出发地点”、“目的地”和“出发时间”

澄清话术和多轮记忆

灵感:在写这篇文章的时候想到了恋爱话术、高效沟通、情感沟通等实际应用场景,找一些恋爱的语料来训练帮助不会跟异性聊天的人

参考文章:https://blog.csdn.net/junruitian/article/details/88773885

你可能感兴趣的:(意图识别与槽填充)