连载 | 3.3 梳理业务要素和知识库
欢迎大家来学习第三章的第三节,梳理业务要素和知识库。
首先,确定优先级和关键信息要素。
以订票为例,它的第一优先级是订票、退票、改签和查询,其次是各种规章制度等常见问题的解答,第三是天气查询,最后是简答的问候和答谢。
基于以上提到的要点,先列出订票相关的要素,有出发时间、出发站点、到达站点、火车类型、车次、以及座位信息;除此之外还有个人信息,包括姓名、手机号、身份证号、性别、会员等等;账户信息包括订单,订单的状态,代付款、未出行、账户余额、优惠券和积分;票务的状态,如拍下待支付、拍下未支付等等。需要尽可能多而全的列出所有的关键信息。
其次,多维度展示状态元素的信息。
例如,出发可以列出时间、地点、天气;到达同样有时间、地点、天气等等。
因为机器人的对话实际上就是状态到状态之间转换的有向图。只有把所有的信息列的尽可能全,后续整个的训练流程,包括流程图的绘制,才会更加的顺畅,才能避免信息丢失。
最后,机器人任务要素梳理,即定义变量。
以订机票为例,它的领域是订机票,意图是查询飞机票,属性(或称词槽)包括字段名称、字段类型、取值示例和字段说明。比如说time字段,类型是DATETIME,取值可以有明天、后天等等,字段说明是时间;再比如from_geo字段,类型是GEO-INFO(即地理位置),取值可以是北京,字段说明是出发地;再包括from_airport出发机场字段等等,这些都是基础变量信息。
建议读者在实操时,先列出所有的状态表,再依据状态表,依据这些状态元素去完成如上图的任务要素梳理表。定义好每个字段信息、类型、示例和说明。是一个必不可少的准备工作。
还需要说明一点,机器任务要素梳理时,即定义变量时如何处理一些更复杂的例子。
例如,早晨、早上、清晨,如何进行参数化的定义。也就是说,当用户说早上时,代表着什么样的数值,这是一个很难直接回答的问题,不同的情况也不一样,所以可以有多种方式。
比如,可以把它定义成一个时间段,从6点到8点;或者定义早上就是7点;上午定义成8点到12点;再或者把上午定义成一个折中的10点。
同理,中午可以定义成11点到13点;或者定义成12点等等。
因此,在差旅场景中,如果用户说要订一张机票:“帮我订一张早上去北京的”。具体落地时,早上参数化的表示,在具体场景是不一样的。在此例当中,根据如上的表格,可以将变量早上定义为6到8点。
如上,是一个相对更加复杂的变量定义的方法,希望读者能够把这些方法,灵活运用到聊天机器人梳理任务要素的环节当中。
这就是这一节讲的内容,谢谢大家!