Java实现话术词槽匹配_桔子互动|百度UNIT操作详解(上篇)
原标题:桔子互动|百度UNIT操作详解(上篇)
作者:令狐曦
文章简介:
本篇文章对UNIT的操作和注意事项进行详细说明,内容包括:
建立场景
配置对话单元/问答单元/高级设置
【配置对话单元】
【配置问答单元】
【更多设置】—【高级设置】
由于篇幅限制,本篇文章介绍一部分操作,下篇文章介绍其他部分的操作。
建立场景
进入http://unit.baidu.com,根据自己的业务需求,建立一个场景,填写场景名称等信息即可。
后续将在场景中配置一系列相关的对话单元、问答单元、对话样本、对话模板、问答集来完成该场景的所有对话交互任务。例如,要实现机票服务的业务,我们建立一个名称为“电影票小助手”的场景。
配置对话单元/问答单元/高级设置
【配置对话单元】
一个对话单元代表一组特定意图的对话。例如“BOOK_TICKETS”代表用户意图为订电影票的一组对话,“HELLO”代表用户意图为打招呼的一组对话。在【技能管理】—【自定义技能】—【新建单元】—【对话单元】中建立对话单元,步骤如下:
1. 设置【用户问】——填写意图信息
2. 设置【用户问】——建立词槽
在“BOOK_TICKETS”的意图中,包含的关键信息有“电影名称”、“电影院”、“看电影日期”等,那么“电影名称”就是一个词槽,该词槽对应的关键词就是“《芳华》”、“《心理罪》”等;“电影院”也是一个词槽,该词槽对应的关键词就是“天幕新彩云影城”、“首都电影院”等;“看电影日期”也是一个词槽,对应的关键词是“x月x日”、“明天”、“周五”等。
1) 要添加的词槽在该场景下未建立,则【添加方式】选择“新建自定义词槽”:
设置词槽名称、描述、澄清话术
澄清话术用于词槽信息缺失时场景bot主动询问词槽信息的话术,如“哪天看电影呢”询问“日期”词槽。
下一步【选择词典】,可上传0个或1个自定义词典,可选择0个或多个系统词槽词典
自定义词典是配置者自行设置的词典,对话系统进行词槽识别时,会优先考虑自定义词典中的词汇;
自定义词典中支持正则表达式,正则表达式前面需要加$$$进行区分;
系统词槽词典是unit内建的部分常用词槽词汇,系统内建词槽是无法被查看和修改的。
2) 要添加的词槽在该场景下已建立,则【添加方式】选择“复用自定词槽”
在“词槽名称”中选择词槽、设置澄清话术
下一步【选择词典】,无需进行配置
3. 设置【用户问】——调整词槽澄清顺序
1) 词槽建立后显示在词槽列表中,【上移】【下移】按钮用于调整词槽澄清顺序;
2)【编辑】按钮用于修改词槽的澄清话术和词典;
3)【解除关联】按钮用于解除当前词槽与当前意图的关联,但不会从场景中删除词槽;
4) 彻底删除词槽,需先解除和所有意图的关联关系,再到【单元配置】—【列表总览】—【词槽】中完成;
5)【单元配置】—【列表总览】—【动作】中展示该场景中配置的答复动作、引导动作、词槽澄清动作、系统自动生成意图澄清动作;
4. 配置【场景bot回应】
以下3种回应方式选至少选择1个,选择多个时可配置优先级:
1) 选择【答复】(以下答复方式2选1)
选【文本内容】:设置bot“答复文本”和“触发规则”;
“答复文本”是一句话答复,如“好的,稍后将取票信息发送到你的手机”;
“触发规则”是场景bot答复的条件,当“触发规则”满足时场景bot用“答复文本”答复;“触发规则”可以设置多组触发规则,多组规则间的关系是“或”。
选【执行函数】:设置“执行函数名称”和“触发规则”;
“执行函数名称”是开发者在自身产品中定义的函数名,unit提供的API结果中显示应该执行函数“func()”,函数“func()”需要在开发者自身的产品中实现与执行;
“触发规则”是场景bot答复的条件,当“触发规则”满足时场景bot用“执行函数”答复;“触发规则”可以设置多组触发规则,多组规则间的关系是“或”。
2) 选择【引导至对话单元】(可添加多个引导)
对话系统除了直接答复用户,还可以通过配置引导动作,引导用户进一步明确需求。
设置【引导话术】
如上图例子“电影信息如下:是否确认信息(请回答“是”或“否”)?”
设置【标对话单元】(一个引导最多可添加3个目标对话单元)
如上图例子,当场景bot说“电影信息如下:是否确认信息(请回答“是”或“否”)?”用户回应“是”则转向“ASK_USER_INFO”对话单元,用户回应“否”则转向“NO”对话单元。
设置【触发规则】
最多只能添加1组触发规则,可以无触发规则。
3. 选择【引导至问答单元】
可添加多个问答单元引导,设置相应规则满足业务不同场景。
1) 设置【引导话术】
2) 选择【目标问答单元】(只能选一个)
3) 添加【触发规则】
【注】
未创建任何规则时将恒触发当前动作
一组触发规则内规则的关系是“并”,多组触发规则间的关系是“或”
引导至对话单元,触发规则只能添加一组,但是能添加多个对话单元
若触发条件满足,则执行相应的回应方式(回复、引导至对话单元、引导至问答单元)
若触发条件不满足,则澄清规则内的词槽,澄清顺序按照词槽列表中的“澄清顺序”进行
5. 点击【保存】
最后点击【保存】才可以保存该对话单元的配置。
【配置问答单元】
一个问答单元代表一类问答主题。创建后会在数据中心生成同名问答集,问答集可用于存储和编辑问答对。问答单元主要用于固定问答场景,配置简单(一键上传即可)但灵活性较差。对话单元可引导至问答单元。在【技能管理】—【自定义技能】—【新建单元】—【问答单元】中建立问答单元:
配置意图名称和意图别名
意图名称用于可用于描述当前问答单元主题的目的,如查询机票预订需要的信息
【更多设置】—【高级设置】
更多设置用于进行场景级配置,包括“对话状态重置”的配置(对话状态指词槽的填充信息,对话状态重置也就是遗忘规则)与“异常答复话术”的配置,修改后需重新训练模型才可生效。
1. 设置【重置对话条件时机】
即 “对话状态重置”的配置。可按照意图切换重置,或按照对话次数重置,满足其一即可重置对话状态;也可选择永不重置对话状态。
1)【切换意图时自动清空session】
选择“不重置”:切换意图(识别到用户输入内容对应意图与当前意图不一致)时,词槽信息保留到新的对话单元;
选择“重置”:切换意图时,词槽信息全部清空;
2)【固定对话次数清空session】
选择“不重置”:无论对话次数是多少,都不清空词槽信息;
选择“重置”,选择对话次数“x”:对话次数x之前的词槽信息被清空;
2. 设置【Bot意图识别异常答复话术】
用于场景bot在未准确识别终端用户输入内容时的话术,分为【识别异常话术】和【对话单元意图澄清话术】。
1)【识别异常话术】
用于场景bot未识别到用户意图(即fail_action)时,回复给用户的话术
2)【对话单元意图澄清话术】
用于场景bot从用户提供的内容中同时识别到多个意图,需要用户再次确认(即intent_clarify)时,回复给用户的话术
3. 设置【其他】
当用户问题与系统答案的匹配度高于阈值(或阈值选择“无”), 系统返回匹配度最高的唯一答案,反之,系统会提供近似问题对用户供选择。
由于篇幅的限制,本篇文章介绍一部分的操作。下篇文章将介绍UNIT的其他操作和注意事项。返回搜狐,查看更多
责任编辑:
Java实现话术词槽匹配_桔子互动|百度UNIT操作详解(上篇)相关推荐
- Java实现话术词槽匹配_知识图谱与KBQA——槽填充
一.相关概念 开放域对话:不太严谨的定义可以理解为 ,在不确定用户意图前的各种瞎聊,你不知道用户会问什么样千奇百怪的问题,但是chatbot都能接住,然后和用户进行对话,这种就是开放域的对话. 填槽: ...
- java中的getnumber怎么用_java安全编码指南之:Number操作详解
简介 java中可以被称为Number的有byte,short,int,long,float,double和char,我们在使用这些Nubmer的过程中,需要注意些什么内容呢?一起来看看吧. Numb ...
- java正则表达式从后往前匹配,正则表达式教程之前后查找lookaround详解
本文实例讲述了正则表达式教程之前后查找lookaround.分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的[和]之间,有的例子会使用Java来实现,如果是java ...
- 如何用java POI在excel中画线_java poi对excel的操作详解
一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二. HSSF概况 HSSF 是 ...
- 从Java程序员进阶到架构师,6大核心技能要领详解
" java架构师技能将分为如下6大环节:数据结构和算法,Java高级特性,Java web核心,数据库,Java框架与必备工具,系统架构设计. 希望能真正帮助到从程序员进阶到架构师之路的朋 ...
- java switch 值_Java switch多值匹配操作详解
这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...
- java case 多个值_Java switch多值匹配操作详解
这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...
- 我的世界java版区块显示_我的世界手游区块显示指令分享:区块玩法操作详解[多图]...
我的世界手游区块是一个独特的机制,很多玩家对于区块是什么不太了解,区块显示指令以及区块的产生不是很熟悉,为了帮助到大家,今天小编就为大家带来我的世界手游区块显示指令分享:区块玩法操作详解的内容,希望大 ...
- python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
最新文章
- mysql 行锁 超时_技术分享 | MySQL 行锁超时排查方法优化
- 宁波城市职业技术学院Linux,宁波城市职业技术学院拟聘用人员公示
- Ubuntu 16.04 利用qemu模拟ARM开发板
- 自定义Spark Partitioner提升es-hadoop Bulk效率
- 静态页面访问缓慢的问题
- 安装service_identity失败总结
- HDMI显示器驱动设计与验证
- gophp解释器_go语言环境搭建、基本使用
- Unity3D优化总结(一)
- 11.6 ConfigParser模块
- python界面-Python GUI 编程(Tkinter)
- 基于dpdk的用户态协议栈f-stack实现分析
- 【系统分析师之路】第九章 软件工程(上)
- 超越鼓励师 for VS Code, 写代码不再孤单,有杨超越与你同在
- 矩阵连乘c语言实验报告,矩阵连乘实验报告.docx
- 做课题与科研项目常用的研究方法
- oracle数据库hiredate,数据库hiredate
- LabVIEW编程LabVIEW开发1920 LCR仪表例程与相关资料
- 电脑接html线没反应,笔记本插上网线没反应怎么办【解决方法】
- Amazon Alexa通过云控制Bluetooth Mesh设备
热门文章
- 在蓄电池管理系统中计算机应用,汽车电器与电子技术.docx
- php标题 栏目不显示title,DEDECMS专题列表页不显示title的解决方法
- Spring Boot 2.6.1 发布:为 Spring Cloud 2021铺路!
- 每日一皮:重构时总会出现的惊喜.......
- RocketMQ 消息丢失场景及解决办法
- 每日一皮:最适合编程写代码的键盘!
- ThreadPoolExecutor 的八种拒绝策略 | 含番外!
- oracle cluster n,10g Rac的cluster_interconnect信息
- dictionary changed size during iteration
- adb server version (41) doesn‘t match this client (39); killing