Intent:意图,用户通过自然语言表达方式来提出某种问题或达到某种目的。不同的人在意图层面会有极大的共性,同一个人在不同品类的商品购物时,也有类似的共性。机器人要解决用户的需求,首先需要识别用户的意图。例如,买家发送“给我推荐一款纸尿裤”,机器人会针对这句话切词,变成“给\我\推荐\一款\纸尿裤”,然后综合考虑 词特征、交叉特征、上文意图等因素,给出预测的意图。

实体:意图识别过程中需要进行实体抽取,主要抽取的是文本中的原子信息元素,如人名、组织/机构名、地理位置、事件/日期、字符值、金额值等。实体抽取可分为基于规则的方法抽取和基于模型的方法抽取。

实体面临的挑战:

  • 上下文相关:同一个表达在不同的上下文中通常有不同的意义,比如“13”可以是“13 斤”,也可以是“13 厘米”,具体取值跟对话场景相关。
  • 歧义:自然语言存在多样性,也就是一个意思可以以不同的说法进行表达。例如说“空调”时,可以是电器里面的空调,也可以是某个纸尿裤系列“空调系列纸尿裤”。

分类

  • 被动意图:用户触发,机器人进行响应;
  • 对比意图:属于被动意图,但实体会保留多值;而其他意图的多个实体会随机给出一个;
  • 主动意图:机器人主动触发,按着设定好的策略引导用户完成某项任务。需要结合被动意图使用。
  • Slot:槽位,对意图的补充,意图的属性。如,询问{Time}天气,槽位{Time}代表咨询哪天的天气。
  • Dialogue State:对话状态,含 0 时刻到 t 时刻的对话历史、用户目标、意图和槽值对的数据结构。对话管理中的一部分,记录整通对话的各种信息。例如,是一通对话的第几句,第几个意图;或者记录,当前意图有每个槽位是否填充。
  • Dialogue Policy:对话策略,依据给定上下文及当前 Query,如何进行下一步操作。
  • Session:一通对话,通常一天内的对话由多通对话组成。
  • Turn:对话中的每一句都可以称之为一轮。包括用户请求、响应的答案、当前识别的意图ID。