为了进一步降低开发者使用平台的成本,UNIT开发了表格产品。开发者不再需要基于结构化知识提取问答、设置意图和词槽,只需要在平台上一键上传结构化知识表格就可以实现表格数据的自动问答。还可以添加到机器人中,与其他技能一起使用。
【表格问答能够解决什么样的问题】
用户输入结构化的实体数据,机器通过对结构化知识进行训练生成技能,回答有关该结构化知识的查询问题,主要可以回答两类问题,a. 以实体名称询问该实体的属性,如:哈弗H6和帕萨特的价格和座位数?b. 以属性条件来查询满足条件的实体,如:推荐一下前轮驱动汽车?
具体案例举例说明:
1. 用户原始数据如下:
2. 期望能够支持的问法如下:
1)有什么汽车推荐?(基于表格查实体)
2)汽车的价格是多少?(基于表格查属性)
3)介绍一下帕萨特(基于单个实体查所有属性)
4)帕萨特的价格多少?(基于单个实体查单个属性)
5)哈弗H6的价格和级别?(基于单个实体查多个属性)
6)哈弗H6和帕萨特的价格和座位数?(基于多个实体查多个属性)
7)国五的汽车有哪些?价格大于100万的汽车有哪些?(基于属性查实体)
【如何体验表格问答】
首先,需要登录UNIT平台,点击“创新技术”区,进入如下界面,点击“表格问答“就可以体验啦~https://ai.baidu.com/unit/v2#/innovationtec/kbqa/skilllist (ps:创新技术区是UNIT把创新技术在业务场景下落地探索的窗口,目前包含表格问答、对话式文档问答和语义解析离线使用三种创新技术,您可以在线体验这些新技术,同时更多创新技术敬请期待)
【怎样快速创建表格问答技能】
UNIT提供管理API和对话API供开发者实现上述功能,构建一个完整技能的流程如下:
1.知识构建
首先需要选择合适的场景,该对话场景需具有结构化或能够梳理出结构化的表格数据,围绕表格数据需要提供table、schema、data以及synonym四类表格数据,这四类数据作为一个整体描述该场景知识,只需上传excel表格即可,表格包含以下sheet。
1.1 table数据
结构化知识的表格本身需要进行中文和英文名称命名,该名称也能够帮助后续问答的解析。例如在汽车场景问答知识中,我们需要构建表格中文名和英文名,其中中文名若有相似说法,可通过“|”扩展中文名称说法。具体格式如下:
1.2 shema数据
结构化知识数据一般来源都是企业二维数据表格型数据,按照表格建表逻辑,我们需要创建该表下的每列名称以及每列的数据类型,所以在表名称已经明确后,我们需要确认该表下的schema数据,该数据包含:属性名英文、属性类型、属性名(多个用|隔开)和自定义回复话术。车辆结构化知识的shema数据如下:
Tips:
a.属性名英文
属性名英文,用于标识属性,内容限制为大小写英文和数字,属性名英文不可重复,且必须包含name属性,用来标识实体的主属性,例如“帕萨特的价格是多少?”询问的就是“帕萨特”这个实体。
b.属性类型
属性类型,用于描述属性对应的数据类型,目前只支持string(字符串)、num(数字)、bool(布尔)等类型
c.属性名(多个用|隔开)
属性的中文名,用于描述具体询问的属性,一般是比较正式的属性名,例如“帕萨特的价格是多少?”,询问的就是 “价格|售价”这个属性
d.自定义答复话术
自定义答复话术,可根据需求对不同属性配置不同的答复话术,目前只支持单属性的回复话术配置,例如“|name|的价格是|price|万元”,则为价格这个属性配置对应的单位。
1.3 data数据
依据上述table表格名称和schema表格数据类型确定后,需要填充该表格各列实际具体的属性值数据,该数据用table表格进行呈现,以车辆数据举例如下:
该数据需要按照schema中声明的属性先后顺序提供,且符合每列数据类型的要求,数据行数不限,不过考虑处理速度,目前最好在5000行以内。
1.4synonym数据
用户实际表述时,关于表名、列名和每个属性值的叫法都存在各种相似说法,为了提升解析能力,可以通过synonym数据进行同义词泛化,提升整体解析泛化能力。格式为扩展说法在第一列,表头是关键词;第二列为该数据归一为原有表格中的词,该列表头为归一化词。具体车辆结构化数据中的synonym数据举例如下:
2.技能创建并模型训练
当结构化知识数据准备好后,可进行模型数据上传和模型训练,可通过以下两步完成:
2.1上传结构化知识数据
结构化知识问答仅需按照格式上传excel表格即可,表格要求见上传弹窗相关提示要求:
Tips:
a.当前版本仅支持EXCEL文件格式的文档上传
b.上传文件中必须包含table、schema和data数据,这三部分数据为训练必备内容
c.上传文件中synonym数据为非必须上传内容,考虑模型效果可酌情进行上传
d.文档的大小上限是2M
2.2技能训练
上传数据后,点击训练按钮,当现实训练完成后,对话模型便能够进行调用。
3.对话测试调用
此时可通过两种方式进行对话调用,方式一点击“测试”进入以下界面,通过对话测试窗口可进行话术测试,验证模型效果。
方式二通过对话api与用户相关系统进行集成,进行对话调用。详见技能对话API说明文档(https://ai.baidu.com/ai-doc/UNIT/Zk38h1vl4 )
4.效果评测及优化
基于对话模型,用户可进行相关评测,评测过程中若对模型解析和答案话术效果不甚满意,可通过优化结构化数据中的同义词表和回复话术等进行优化,直到满足用户评测效果要求。
5.上线迭代
上线后,随着数据等汇总和业务等表动,需要逐步对模型数据进行优化,使得整体效果能够保障在一定的要求范围内,持续长期满足场景下问答需求。
ps:上述技能调用能力也可以通过管理api进行完成,管理api整体操作流程与上述相同,整体可通过api的形式进行技能创建、数据上传和模型训练等操作,详见管理API文档-2.6表格问答技能 章节(https://ai.baidu.com/file/7C55A10B0EFC4087B4E8EB4A77E04599 )
【添加到机器人中】
表格问答技能还可以添加到机器人中,与其他技能一同调用。
如有任何关于表格问答的问题,欢迎跟帖留言,也可以请发邮件至unit-innovation@baidu.com与我们沟通。
对工作有很大的帮助
功能越来越强大了
赞,很强大