世界人工智能大会背后的智能助理——乐言科技的技术思路
机器之心报道。
乐言科技是一家专注于认知智能领域,以技术驱动为核心的人工智能公司。基于自然语言处理、知识图谱、智能推荐等核心 AI 平台技术的应用,从认知计算出发去赋能各个行业,提供整体解决方案。目前公司已经成功将核心技术应用于电商行业,并占领了相当的市场,金融、医疗和政务等各类垂直领域也有实际的应用初步落地,并展现加速趋势。
随着现代服务业智能化程度越来越高,用科技去赋能一部分人工,让人类去做更有创造力的事,这既是顺应市场要求,也是承担时代使命。「跃升」是一个涵盖时间、空间的词:「跃」代表快速高效,在时间角度加速推进产业变革,这离不开深厚夯实的技术积淀;「升」则意味着解放知识密集型劳动,在空间角度最大限度拓展人类能力,这需要打破传统方式。「乐言有着这样的愿景--跃升人类知识工作。这话听起来很简单,真正做起来却非常艰难。把劳动力从简单重复的工作中解放出来,是对社会有价值的一件事。」公司创始人及 CEO 沈李斌如是说。
在选择新的应用领域时,乐言科技会判断市场空间是有多大,可复制性有多强。在商业落地和迁移的过程中,每个行业的需求不一样,产品形态也因此不同,而公司目前最核心的竞争优势是已经形成了自己一套独立的、成熟的技术和产品思路。以乐言赋能场景为例:电商客服的客户以中小型的商家为主,且知识库积累相对完备,产品服务需要更为人性化;政务智能服务系统知识库的搭建和维护则尤为关键,既要基于内部文件建立,又要根据政策的更新及时维护,产品服务需要更为精准可靠。
值得一提的是,在刚刚结束的 2018 世界人工智能大会上,乐言科技还提供了「智能秘书」,在大会的官方公众号植入了聊天机器人,用户可以询问关于大会的各类问题,以获取更便捷更精准的咨询服务。
乐言科技利用自己成熟的技术体系和技术思维,加上强大的工程实力,完成了这项艰巨的任务。
1)开发时间短
首先,本次开发时间比较短,从 8 月中旬接到任务,直到大会开始前一周才收到完整的大会信息。乐言科技的做法是从已有的大会(乌镇互联网大会、其他人工智能大会)信息出发,搭建了一个原型系统,待本次 AI 大会的具体信息出来后再快速迁移,这主要知识库的迁移,这涉及知识图谱层面和语言理解层面。公司使用了过去包括电商在内的开放域的各种各样的数据,搭建了语义相似度模型、预训练模型和通用意图分类模型。
2)会务信息变化频繁
针对这个问题,乐言科技在算法层面从已有大会的会务信息出发,搭建原型系统,将数据和代码不断的解耦,使得当数据有更新的情况下尽可能不用修改代码,从而快速响应数据的频繁修改。乐言科技从两个级别实现数据和代码的解耦,实现热插拔。
知识图谱级别,大会知识图谱中的元素可像 plug-in 一样快速更新(CRUD)。新的实体采用动态的方式更新;新的 schema 采用离线的方式更新。在语义理解级别,大会知识图谱的不同部分对应的语义理解元素也是热插拔的,包括训练数据、问法句式、意图识别、实体识别等。此外,在工程层面,公司搭建了高效的 pipeline,对问答系统的问题收集、数据更新、模型更新等各部件进行快速迭代。
3) 零数据、冷启动
面对缺乏相应大会的 schema 结构和 query log 等,乐言科技需要去解决冷启动、零数据的问题,其采取了以下方法。
首先对知识图谱进行半自动化构建,包括大会信息自动爬取,机器和人工相结合去抽取关键知识点,并对语义理解训练数据进行增强,使用自动和人工的这两方面去做一些数据增强——基于知识图谱反向生成一些问句,然后再人工扩展或扩写,这两方面是交替迭代并互相增强。此外,还会从对话数据中直接学习,既然没有现成可用的对话数据,那就找到一些希望支持的对话模式,比如说「这次大会一共来了多少位诺贝尔奖获得者?」然后再去创造这些数据,再用刚刚数据增强的方法来进行增强。之后去做可解释性比较强的特征工程。
虽然现在比较流行 end2end,但乐言科技为了增强可解释性以及应对数据稀疏的问题,就反其道而行之——把黑盒问题白盒化,然后把对话过程拆解为更细腻的模块,然后每个模块可以单独建模,测试评估。
乐言完美的应对了以上三项挑战,并体现出了自己四大技术亮点:
1)混合策略引擎,让会议助手更智能
乐言使用了 KBQA(基于知识图谱的 QA),为支持结构化数据的高精准和多角度查询,从时态推理、上下位推理等方面深度设计知识图谱,结合从问句中所含的 KB 的元素中抽象出拓扑结构,以及问题类型,答案类型,用户意图等信息,进行问题模板的匹配,从而支持各种复杂的查询。IRQA(基于信息检索的 QA)为了支持非结构化数据的查询,公司采用了基于语义的匹配算法,在模板和知识库两方面进行了增强。
之后,对 KBQA 和 IRQA 进行了融合,KBQA 的职责是负责 schema 覆盖的部分,面向高准确率;IRQA 的职责是负责 schema 未能覆盖的部分,面向高召回率,回答 KBQA 未能回答的问题。
此外,还加入了 FAQ,以形成三位一体的综合策略引擎。有些问题可能并不适合 KBQA,但是它又不是 FAQ,更像是一种模板。比如询问某人的报告在哪里?在语义理解时,就可以把里面的一些实体和概念抽出来,这些都可以去做替换,同时答案里面的东西也可以做替换。所以说会存在三种问答类型,但这三种类型 QA 对用户来说是感知不到。所有的优化都是针对整体 QA 系统,可能前面一个问题是 FAQ,后一句就变成一个 KBQA,再后面就跳到模板的。
2)多轮对话管理,让会议助手更拟人
为了让大会秘书的对话更自然,就需要进行多轮规划设计。在进行语义理解建模时,乐言从意图理解分类、问题类型分类、答案类型分类和多轮判定分类这四个角度去考虑。
问题类型是指用户问的是观点类的问题还是事实性的问题,是「yes or no」的问题还是「why」的问题,这是从问句本身的一些语言特征和问法特征去分析;意图是说用户想要什么;答案类型是他想答案到底是什么方面的,比如说「多少」或者「数目」。答案类型是指用户所需答案的实体,比如是「人」、「地点」、「报告」;多轮判定就是说当前这个问题是否接续了上一轮。
使用当前流行的复杂的深度学习模型很难在很少的数据上达到较好的效果,此外,考虑到复杂深度学习模型在可解释性和可干预性方面的欠缺,乐言科技使用了比较简单的浅层模型来对上述四个分类问题进行建模,四个分类问题可统一抽象为一个函数:S(t+1) = f(S(t), Q),其中 S(t) 是第 t 轮的状态向量,每个分量代表其中一个分类问题;Q 是当前 query;f 则是一个可学习的正则化浅层线性模型。
此外,在会议助手中还引入了一个主动询问入口,遇到没法回答的问题时,会议助手会主动推荐用户其他问题。
最后在工程实现上还有比较关键的一点——快速响应的 pipeline。当出现多轮判定或者类型分类的错误时,可以通过快速 update 数据来快速 update 模型;如果用户问到一个知识图谱里没有的概念或者关系时,会议助手能够快速感知到并进入到修复流程。
3)知识卡片推送,让会议助手更多彩
会议助手能对用户问题中的实体在知识图谱进行推理,推荐实体更详细的信息,以及与该实体相关的其他实体信息,让用户对该实体有立体化的了解,更好的符合了人的认知过程。同时,会议助手还会对大会热点问题和参会常见问题进行推送,让用户对大会有更全面的了解,体现出问答的多样性。
4)在线持续学习,让会议助手不断自我「成长」
乐言为会议助手构建了持续学习机制,使其能对线上数据、潜在 Bad cases、新实体等进行持续挖掘,并将结果反馈给系统各个模块:挖掘出的热点问题用于更新问题推送权重;挖掘出的 Bad cases 重新标注后更新模型;挖掘出的新实体更新知识图谱。