当前位置:首页 > 产品运营 > 正文

小米代文:用户意图复杂多变。 小爱智能问答关键技术如何构建?

导读:随着科学技术的不断发展,人工智能的应用在日常生活中越来越普遍,对我们的工作和生活方式产生着深远的影响。 以小米的小爱同学为例。 小爱同学已安装在小米手机、小米AI音箱、小米电视等众多小米生态链设备中,为人们生活的方方面面提供便捷服务。 本文将与大家分享小米小爱同学智能问答系统,并介绍小爱同学智能问答系统的关键技术和相关业务形态。

主要集中在以下四点:

小米代文:用户意图复杂多变。 小爱智能问答关键技术如何构建?  第1张

01 小爱同学智能问答系统背景介绍

在小米手机+AIoT战略中,小爱同学扮演着AIoT入口的重要角色。 通过小爱同学,用户可以在智能家居、智能汽车等场景享受小爱同学带来的便捷生活服务。

目前,小爱同学搭载的智能硬件包括手机、音箱、智能穿戴、智能汽车、电视、儿童设备等。通过使用这些设备,用户可以享受内容、信息查询、交互、控制、学习等六大服务。生活。 服务和基本工具。

小爱同学的具体垂直功能包括语音控制、音乐、聊天、时间、智能问答等。例如,用户可以通过语音控制命令家里的小米电视、扫地机器人等; 用户可以通过小爱音箱享受音乐; 用户可以与小爱同学对话、查询服务等。本次分享中介绍的智能问答系统就是针对客观事实答案的查询。 主要用于满足用户信息查询的需求。 简单来说,用户提出一个基于知识的问题,系统会根据知识库提供相应的答案。 下图是产品效果图。 例如,当用户询问陆宇轩和郭京飞的关系时,系统会从地图上查找两人的关系路径,并回答用户鲍蕾是陆宇轩的母亲,郭京飞是鲍蕾的弟弟——姻亲。 这样就说明了两者之间的间接关系。 如果用户对中间人感兴趣,可以点击进去进一步浏览。

我们的智能问答系统主要包括三个问答模块,分别是图文问答、检索问答和阅读理解问答。

接下来我们首先介绍基于知识图谱的智能问答,也称为图问答。

02 图集问答

知识图谱是图问答的数据基础。 小米AI Lab构建了超大规模的知识图谱,涵盖书籍、本土生活、古诗词、房产、商品、音乐、人物作品等多个领域。构建完成后,我们进行了以下几个方面的研究并在线应用:

首先我给大家介绍一下基于模板的方法。

1. 基于模板的方法

基于模板的方法相对简单。 其核心思想是在模板库中找到与用户的Query最相似的模板,并根据模板对应的分析从图中得到答案,从而回答用户的问题。 在此过程中,模板获取是一个难题。 可以从在线高频查询中手动扩展和补充。 此外,还可以通过自动化手段快速获得大批量的模板。

如上图所示,是一种快速获取批量模板的方法。 例如,有一个结构化条目李白。 条目中有一个属性“时代”,其对应值为“唐朝”。 如果问答对中的 Query 包含“Li Bai”,则 Answer 包含“Tang Dynasty”。 ,那么这个问答对很可能会问到“你生活的时代”的信息,所以你可以得到一个模板“xxx是哪个朝代?” 以此类推,遍历所有问答对数据,对模板进行频数统计,通过手动过滤即可得到高质量的模板库。

在线用户提出的问题不仅仅是简单的问题,还可能带有一些约束,比如时间约束、地点约束、最大最小值查询约束等。在我们的场景中,用户经常问的问题都在其中。世界上最常见。 例如,用户不仅想知道老虎有多重,还可能想知道最大的猫有多大。 对于世界上最大的问题,我们的解决方案如下所示:

首先,从用户Query中提取实体类型,例如“最大的猫”。 实体类型是动物。 其次,您需要提取序数词以确定最大、第二大或第三大。 然后你需要确定查询。 该信息是动物的哪一方面? 选择要排序的属性字段。 另外,很多时候用户的Query可能会对实体类型添加一些约束。 例如,在上面所示的示例中,用户询问的是猫科动物,那么猫类别就是添加到该动物的约束。 根据上述步骤,可以提取相关槽位并构造查询语句,从知识图谱中获取答案并返回给用户。

当Query中查询到的属性与模式定义中的谓词名称不一致时,需要对属性进行规范化。 您可以使用同义词、词向量或句子对相似度匹配来获取与用户的Query最相似的属性。 另外,用户提出的问题没有明确的属性,比如“世界上最大的动物”,他们可能想问最大的重量。 、最大高度、最大咬合力或者最大翼展等。我们可以为实体设置一些默认的属性排序。

基于模板的方法具有较高的准确率和良好的在线性能。 另外,更适合品质体验。 如上图所示,通过结构化分析将结构化字段展示给用户,给用户带来更多的好处。 好的经历。 基于模板的方法的缺点也很明显。 首先,模板的扩展耗时且需要大量的人工处理。 另外,它的泛化性比较差,召回率也比较有限。

小米代文:用户意图复杂多变。 小爱智能问答关键技术如何构建?  第2张

2、跨垂直领域的粗粒度语义解析方法

跨垂直领域粗粒度语义解析方法的基本模型是槽填充和意图识别的联合模型。 如下图所示,输入的token通过顺序网络表示为向量,向量通过CRF层得到对应的标签。 此外,还可以获得表示句子的向量,用于对句子的意图进行分类。 通过这两个任务的联合学习,可以同时预测句子的意图和槽位,具有更好的泛化能力和提高的召回率。

比如我们要构建一个古诗词垂直领域,如上图所示,我们首先要定义古诗词垂直领域下的意图和槽位。 与古诗词相关的槽位包括诗人、诗名、流派等,意图包括查朝代、查上下句等,根据定义的系统,得到训练数据,然后得到意图/槽位联合模型可以进行培训,最后部署上线并有效。 建立新的垂直领域需要重复的工作。 另外,小型垂直领域的训练样本相对较少,样本标注成本相对较高。 这是垂直领域建设面临的问题和挑战。 为此,我们提出了一种跨垂直的粗粒度系统,可以对意图槽系统进行抽象和合并。 如果我们想创建一个训练数据非常稀疏的新定理域,那么我们可以合并意图和槽。 例如,在槽位中,诗人和提议者都属于角色,那么我们可以将他们合并为角色。 同样,诗的标题和定理的标题可以组合成作品的标题。 每个垂直域的独特槽位可以直接继承。 意图方面,直接使用两个垂直类别作为类别,得到粗粒度的意图系统。 预测时,我们首先获得粗粒度的意图和槽位结果,然后通过映射关系获得细粒度的意图和槽位结果作为最终的分析结果。

3. 基于路径匹配的方法

当用户的Query变得更加复杂时,比如需要多步推理才能得到答案,之前的方法也会失败,而基于路径的方法更擅长解析复杂的Query。 基于路径的方法不受模板约束,并且不需要槽提取。 它首先从图中挖掘一些候选路径,根据候选路径进行排序,并选择最有可能的路径来回答用户的问题。 该方法主要包括以下三个步骤:实体链接、子图检索和子图匹配。

实体链接主要是从Query中查找核心实体。 如上图所示,对于查询“tornado的英文名是什么”,我们需要知道用户查询的核心是tornado。 实体链接主要包括实体识别和实体消歧。 由于篇幅限制,本文不介绍实体链接。

子图检索主要分为两个步骤:路径挖掘和约束添加。 第一种是路径挖掘,以实体链接步骤中确定的单实体/多实体为起点,根据定义的路径模板挖掘图中的候选子图。 如上图所示,以“姚明”为起点,可以获得的路径如下:

常见的路径模板如上图所示,基本涵盖了大部分Query情况。

然后添加约束。 当Query包含约束时,我们需要在适当的位置添加这个约束。 例如,当Query为“姚明队友中谁身高超过200cm?”时,需要在路径“select ?x where ?x ?x ?y”上添加约束,限制中间节点?y>= 200厘米。 我们总结了两种类型的约束:

对上一步得到的候选路径进行子图匹配。 在匹配过程中,子图被转换为文本描述形式。 转换时只需要保留节点信息,去掉中间节点,用^替换答案节点。 对于过滤约束,我们使用“大于”和“小于”作为谓词; 对于排序约束,我们使用“排名”作为谓词。 在这种情况下,子图匹配就变成了句子对匹配任务。 如上图所示,第一句是用户的Query“姚明妻子的身高是多少?” 第二句话是候选路径的文本描述形式:“姚明配偶的身高^”,训练句对匹配模型。 路径匹配中的谓词是一个重要因素,谓词决定了后续路径是否正确。 因此,模型训练分为两个阶段。 首先对路径中的谓词进行掩码进行预训练,然后进行句对匹配的微调训练。 得到语义匹配模型后,用人工特征重新排序,得到TOP1路径,从图中得到答案,回答用户的问题。

基于上述解决方案,我们在CCKS2020新冠知识图谱问答评测中获得第三名,在CCKS2021生活服务知识图谱问答评测中获得第一名。

接下来介绍基于检索的问答格式。

03搜索问答

基于检索的FAQ针对的是非结构化查询,例如WHY、HOW、WHETHER类型的问题等,通过结构化分析很难回答此类非结构化问题。 因此,用户的问题通常是通过在问答库中搜索类似问题来回答的。

如图所示,是一个FAQ问答框架。 右半部分是离线工作,主要是问答库的离线建设。 左半部分是在线技术流程,主要包括意图理解、检索、语义匹配、重新排序等步骤。 这里主要介绍检索和匹配两个主要环节。

1. 搜索

小米代文:用户意图复杂多变。 小爱智能问答关键技术如何构建?  第3张

检索环节基于多路径召回获得候选QA对。 多通道召回主要包括三个通道:术语召回、实体召回和语义召回。 实体召回基于实体ID构建索引,可以解决同义词不同、同义名不同的问题。 比如“雷军的出生日期是哪一天”和“雷布思的出生日期是哪一天”,虽然字面意思不一致。 但“雷军”和“雷布斯”指的是同一个人,可以通过实体检索通道调出。 语义检索解决的问题是,如果两个句子字面不相似,通过前两种方法无法实现召回,则可以考虑通过语义检索通道进行召回。

语义检索首先要获取每个doc的语义向量,其中doc指的是QA对中的相似Q。 如上图所示,将Query和doc输入到孪生网络中,得到两个句子的语义向量。 希望正样本之间的距离越近,负样本之间的距离越大。 在这种监督下,神经网络的参数将被学习。 然后,我们综合考虑效果和性能来选择最合适的孪生网络,并用它来推断完整 QA 数据的语义向量。 线上,搭建faiss语义检索服务,以docid为key,语义向量为value,找到最近邻doc,通过docid获取doc内容。

在线全量检索时,将用户Query的语义向量与文档的语义向量一一匹配计算,对服务的性能要求非常高。 另外,加载所有数据会占用大量内存。 研究人员提出了许多 ANN 最近邻算法来优化检索性能。 如上图所示,IVF的思想就是对doc向量进行聚类,找到最接近用户Query的类,然后找到类内最接近的语义向量。 这可以显着减少耗时,但无法解决语义向量内存占用高的问题。 问题。 PQ牺牲一定的精度来降低高维语义向量的维数,以获得更低的内存占用。 IVFPQ可以通过PQ与IVF相结合来获得。 它首先找到最接近用户Query的类,并降低类内语义向量的维数,这样不仅可以减少内存使用,还可以提高性能。 HNSW 是分层最近邻网络。 上层是较粗的层,下层是更详细的层。 首先根据用户Query找到最上层最近的节点,然后映射到下一层找到下一层最近的点,以此类推得到最终结果。 还可以与IVF结合,得到HNSW+IVFPQ搜索方法。

如下图所示,有语义检索性能和效果的实验对比。 1000万条数据下,IVF检索内存占用为6G,较高。 IVFPQ的内存占用下降到188M,检索时间为1ms。 HNSW+IVFPQ的内存占用和检索性能相似,但效果稍差。 最终我们选择了IVFPQ的检索方法。 网上一些不好的案例可以通过语义索引来解决,比如“太阳多大了?” 术语检索通道可以回忆起“太阳多大了?”,并且可以通过语义检索来回忆“太阳多大了”。

2. 匹配

传统的匹配模型通过文字匹配构建特征,然后通过机器学习模型计算句子对的语义相似度。 目前,深度学习方法占据主流。 主要有两种方法。 一种是基于Representation_based的方法,它基于两个句子的向量来共同表征相似度,例如DSSM模型。 另一个是表征两个句子中两个单词之间的相似度。 表征相关性的基于交互的方法,例如 ESIM 和其他模型。 利用大规模预训练语言模型进行句对匹配的方法也属于第二类。

在训练语义匹配模型时,我们将训练分为两个阶段:

另外,可以尝试引入对抗性学习方法,利用生成器生成一些难以区分的样本,供判别器的学习使用。 当样本相对较小时,对抗性学习可以加速模型收敛。 当样本足够多时,效果就不那么明显了。

高质量的手动标记数据对匹配模型的性能有很大影响,因此我们尝试通过数据增强来增加手动标记数据的样本量。 如图所示,对于一对正样本Q1和Q2,可以分别找到Q1和Q2的相似样本Q1'和Q2',并得到增强结果Q1'和Q2。 类似的方法可以构造负样本来提高语义匹配效果。

在语义匹配方面,你会遇到语义聚焦的问题,比如“如何计算圆柱体的体积”和“如何计算圆柱体的面积”。 这两个句子只有核心词不同,很容易导致模型误判,因此可以引入一些额外的特征来增强模型对核心词的学习。 如上图所示,附加特征是提取的关键词,通过PLM进行特征化,与原句子的特征拼接起来计算相似度。

04阅读理解

阅读理解模型采用基于跨度的阅读理解模型。 由于阅读理解模型的可控性不够好,准确率难以适应业务需求,因此我们基于业务考虑将其限制为特定类型的查询,以及图问答和检索。 只有在无法回忆起问题和答案时才考虑使用阅读理解技术来回忆。 例如,如果你问鲁迅姓什么,我们将以鲁迅的百科全书简介为段落,并从中提取答案片段。 这样的话,这个模块的准确率就可以更好的满足业务的需求。

05 总结

智能问答系统采用了KBQA、FAQ和阅读理解三种形式的问答技术。 KBQA的优点是准确率高,体验更好。 缺点是召回率低,定位遮头,占据主要流量。 FAQ具有覆盖面广、概括性好的优点。 缺点是数据质量参差不齐,体验一般。 它定位为底线模块,负责长尾。 阅读理解的优点是用户体验好,缺点是准确率较低。 它的定位是扩展问答能力。

0
0
收藏0

最新文章

取消
扫码支持 支付码