首页 A1训练模型 基于知识增强和预训练大模型的查询意图识别

基于知识增强和预训练大模型的查询意图识别

标题:基于知识增强和预训练大模型的 Query 意图识别

简介查询意图识别是查询理解中非常重要的任务,对下游搜索的相关性和准确性有很大影响。本文将分享基于知识增强和预训练模型的Query意图识别在ToB企业搜索中的应用。首先介绍企业搜索的背景知识,包括搜索的架构设计以及QP在其中的作用。然后通过两个案例介绍基于知识增强和预训练大模型的查询意图识别。

主要内容包括以下三个部分:

一、背景介绍

2. 工作共享

三、结论与反思

分享嘉宾蒋悦,阿里巴巴算法工程师

编辑|吴雪松

制作社区DataFun

01

背景介绍

企业数字化是近年来的热门话题。是指利用人工智能、大数据、云计算等新一代数字技术改变企业商业模式,从而推动企业业务新增长。企业数字化一般包括业务运营数字化和企业管理数字化。本次分享主要介绍企业管理层面的数字化。

信息数字化,简单地说,就是以数字化的方式读取、写入、存储和传输信息。从以前的纸质文档到现在的电子文档和在线协作文档,信息数字化已经成为当今办公的新常态。目前,阿里巴巴使用钉钉文档和语雀文档进行业务协作,在线文档数量已超过2000万条。另外,很多公司都有自己的内部内容社区,比如阿里巴巴的内网Alibaba Internal and external、技术社区ATA。目前,ATA社区已有近30万篇技术文章,都是非常有价值的内容资产。

流程数字化是指利用数字技术改造服务流程,提高服务效率。会有大量的内部行政、IT、人力资源等事务性工作,BPMS流程管理系统可以标准化工作流程,根据业务规则制定工作流程,并根据工作流程自动执行,可以极大地提高工作效率。降低劳动力成本。 RPA主要用来解决流程中多系统切换的问题。由于它可以在系统界面上模拟手动点击输入操作,因此可以连接各种系统平台。流程数字化的下一个发展方向是流程的智能化,通过对话机器人和RPA来实现。如今,基于任务的对话机器人可以帮助用户在几轮对话内完成一些简单的任务,例如请假、订票等。

商业数字化的目标是通过数字技术建立新的商业模式。企业内部其实有一些业务中台,比如采购部门的业务数字化,是指从产品搜索、采购申请发起、采购合同撰写、支付、订单执行等一系列流程的数字化另一个例子是法律中台的业务数字化。以合同中心为例,实现了从合同起草到合同审核、合同签订、合同履行的整个合同生命周期的数字化。

数字化产生的海量数据和文档将分散在各个业务系统中,因此需要一个智能的企业搜索引擎来帮助员工快速定位所需的信息。以阿里巴巴集团为例,企业搜索的主要场景包括:

(1)统一搜索,又称综合搜索,聚合了多个内容站点的信息,包括钉钉文档、语雀文档、ATA等。统一搜索的入口目前放在阿里巴巴内网阿里巴巴内部和外部以及员工专用钉钉版本。这两个入口加起来的流量达到了140QPS左右,这在ToB场景中已经是很高的流量了。

(2)企业员工助手是指面向阿里巴巴内部员工的智能服务机器人小米。汇聚了HR、行政、IT等领域的企业知识问答服务,以及快捷的服务渠道,包括钉钉这个入口,以及一些插件入口,总共开放了约25万人。它,也是集团的流量阵地之一。

(3)行业搜索对应上一章提到的业务数字化。例如,采购有一个名为采购商城的门户网站。采购商可以在采购商城中进行搜索、选择产品、提交采购申请,类似于电商搜索网站。只是用户是企业买家;法律合规业务也有相应的门户,法学院学生可以在其中搜索合同并进行合同起草、审批、签署等一系列工作。

一般来说,企业中的每个业务系统或内容站点都会有自己的搜索业务系统,并且需要相互隔离。然而,内容站点的孤立会形成信息孤岛现象。例如,如果一个技术同学遇到技术问题,他可能会先去ATA上搜索与该问题相关的技术文章。如果找不到,他就会在知博、钉钉文档、语雀文档中搜索类似内容,总共要搜索四五次。这种搜索行为无疑是非常低效的。因此,我们希望将这些内容收集到统一的企业搜索中,这样只需一次搜索即可获得所有相关信息。

另外,具有业务属性的行业搜索一般需要相互隔离。例如,采购商城的用户是集团的采购员,合同中心的用户是集团的法务。这两种搜索场景的用户数量都很少,因此用户行为会比较稀疏。依赖用户行为数据的推荐算法效果会较差。大折扣。采购和法律领域的标注数据也很少,因为需要专业人员标注,成本较高,因此很难收集到高质量的数据集。

最后,还有查询和文档匹配的问题。搜索的查询词长度基本在十几字以内。文本较短,缺乏上下文,语义信息不够丰富。针对短文本的理解,学术界有很多相关的研究工作。搜索的内容基本上都是长文档,字符数从数百到数千不等。理解和表示长文档的内容也是一项非常困难的任务。

上图是我们现在企业搜索的基本架构。这里主要介绍统一搜索部分。

目前,统一搜索已接入ATA、钉钉文档、语雀文档等大大小小的内容网站40余家。采用阿里巴巴自研的Ha3引擎进行召回和粗排序。在召回之前,调用算法的QP服务来分析用户的查询,并提供查询切分、纠错、术语权重、查询扩展、NER意图识别等功能。根据QP结果和业务逻辑,在查询字符串上组装查询字符串发动机侧进行召回。基于Ha3的粗排序插件可以支持一些轻量级的排序模型,比如GBDT等。在精细排序阶段,可以使用更复杂的模型进行排序。相关性模型主要用于保证搜索的准确性,点击率估算模型直接优化点击率。

除了搜索排序之外,还集成了其他搜索周边功能,比如搜索下拉框的搜索直达区、关联词、相关搜索、热门搜索等,目前上层支持的服务主要是阿里巴巴内外和阿里巴巴钉钉的统一搜索,采购和法律事务的垂直搜索,以及ATA Teambition OKR系统的查询了解。

上图是企业搜索QP的总体架构。 QP服务部署在名为DII的算法在线服务平台上。 DII平台可以支持KV表和索引表索引的构建和查询。整体是一个链式服务框架,复杂的业务逻辑需要拆分成相对独立且有凝聚力的业务模块。例如阿里巴巴内外的搜索QP服务,分为分词、纠错、查询扩展、词权重、意图识别等多个功能模块。链式框架的优点是方便多人协同开发。每个人负责自己模块的开发。只要上下游接口达成一致,不同的QP服务就可以复用同一个模块,减少重复代码。另外,在底层算法服务上包裹了一层,对外提供TPP接口。 TPP是阿里巴巴内部成熟的算法推荐平台。可以轻松进行AB实验和弹性膨胀。日志管理和监控报警机制也非常成熟。

查询在TPP端进行预处理,然后组装DII请求,调用DII算法服务,解析结果,最后返回给调用者。

02

工作共享

接下来我们介绍两个企业场景下的Query意图识别工作。

1. 小米内部和外部

小米内外底层基于达摩院推出的小米云问答引擎,可以支持FAQ问答、多轮任务问答、知识图谱问答。上图右侧展示的是FAQ问答引擎的总体框架。

用户输入Query后,会有一个规则干预模块,主要是让业务和运营设置一些规则。如果命中规则,则直接返回设定的答案。如果不符合规则,则遵循算法。意图识别模块预测用户对对应业务线的Query。每个业务线的FAQ知识库中都有很多QA对,每个问题都会配置一些类似的问题。使用Query检索知识库中的候选问答对集合,然后使用文本匹配模块来细化问答对。根据模型得分来判断是否直接回答、推荐相关问题、或者没有答案。除了FAQ问答引擎之外,还会有任务型问答、知识图谱问答等其他问答引擎。因此,最终设计了一个多模块排序器来选择向用户显示哪个引擎的答案。

下面重点介绍意图识别模块。

通过统计近一年来小米内外的用户查询,我们发现大部分用户查询字数集中在0到20之间,超过80%的查询字数在10以内。因此,意图识别小米内外是一个短文分类。问题是短文本的数量很少,所以如果用传统的向量空间模型来表示,向量空间就会稀疏。而且一般来说,短文本表达不太规范,缩写和不规则术语较多,因此OOV现象较多。

小米短文本查询的另一个特点是,专有名词较多,通常是内部平台和工具名称,如欢星、偶像等。这些专有名词的文本本身不具备类别相关的语义信息,因此很难进行查询。为了学习有效的语义表示,所以我们想到使用知识增强来解决这个问题。

一般知识增强都会使用开源知识图谱,但是公司内部的专有名词在开源知识图谱中找不到对应的实体,所以我们从内部寻找知识。正好阿里巴巴有知识卡搜索功能。每张知识卡对应一个内网产品。与小米内外领域高度相关。例如欢星、偶像都可以在这里找到相关信息。知识卡,所以企业知识卡作为知识来源。

该方法分为两步:

首先是知识的增长。共有6000多张企业知识卡。每张知识卡都会有实体名称和文字介绍。它可以根据用户的查询来回忆与之相关的知识卡,也可以利用历史查询,因为有很多查询是相似的,比如内网Wifi连接、Wifi内网连接等,相似的查询可以互相补充语义信息,进一步缓解短文本的稀疏性。除了知识卡实体之外,还召回相似的查询,并将原始查询发送到文本分类模型进行分类。

使用向量召回来召回知识卡的实体和相似查询。使用Bert分别计算查询和知识卡的文本描述的具体数量。一般来说,Bert的CLS向量并不直接用作句子表示。很多论文也提到,直接使用CLS向量作为句子表示会得到很差的结果,因为Bert输出的向量会存在表达退化问题,不适合直接使用。它做的是无监督的相似度计算,所以它利用了对比学习的思想,让相似的样本更加接近,并且尽可能均匀地分布不相似的样本。

具体来说,Sentence-Bert在数据集上进行finetune,其模型结构和训练方法可以产生更好的句子向量表示。它是一个两塔式结构。双方的Bert模型共享模型参数。两个句子分别输入到Bert中。将Bert 输出的隐藏状态进行池化后,将得到两个句子的句子向量。这里的优化目标是比较学习的损失,infoNCE。

正例:直接将样本输入模型两次,但这两次的dropout不同,所以表示向量会略有不同。

负例:同一批中的所有其他句子。

通过优化这个Loss,得到Sentence-Bert模型来预测句子向量。

我们使用StructBERT 模型参数来初始化它的Bert 部分。 StructBERT是达摩院提出的预训练模型。其模型结构与原生BERT相同。其核心思想是将语言结构信息融入到预训练任务中,获得查询语句的句子向量和知识卡。通过计算向量的余弦相似度,回忆出前k个最相似的知识卡和相似的查询。

上图是文本分类的模型结构。 Bert 在Encoding 层中使用来提取原始查询的表示和相似查询的词向量。每个知识卡的实体维护一个实体的ID嵌入,并且ID嵌入是随机初始化的。

模型结构图右侧用于处理查询召回的实体,得到实体的统一向量表示。由于短文本本身比较模糊,因此回忆出的知识卡实体也会存在一定的噪声。通过使用两种注意力机制,模型可以更多地关注正确的实体。一是Query-to-Entity Attention,旨在让模型更多地关注与查询相关的实体。另一个是实体本身的self-Attention,可以增加相似实体的权重,减少噪声实体的权重。结合两组注意力权重,获得最终实体的向量表示。

模型结构图的左侧处理原始查询和相似查询。因为观察到相似查询和原始查询的重叠词可以在一定程度上代表查询的中心词,所以这里计算每个词之间的点击。获取相似度矩阵并进行求和池化以获得原始查询中每个单词相对于相似查询的权重。目的是让模型更加关注中心词,然后将相似查询和原始查询的词向量拼接在一起,计算融合语义信息。

最后将上述三个向量连接起来,通过dense层进行预测,得到每个类别的概率。

以上是实验结果,超过了BERT Finetune的结果。如果编码层不使用Bert,也超过所有非Ber模型。

2、行业搜索

以代购商城为例。代购商城有自己的产品品类体系,每件产品上架前都会列在一个产品品类下。为了提高商城搜索的准确性,需要将查询预测到特定类别,然后根据该类别调整搜索排名结果。您还可以根据类别结果在界面上显示子类别导航和相关搜索。

品类预测需要人工标注数据集,但在采购领域,标注成本比较高,所以从小样本分类的角度解决这个问题。

预训练模型在NLP 任务上表现出了强大的语言理解能力。典型的使用范例是首先对大规模未标记数据集进行预训练,然后对有监督的下游任务进行微调。例如,Bert的预训练任务主要是一个掩码语言模型,即随机掩码掉句子中的部分单词,输入到原始模型中,然后对掩码部分的单词进行预测,最大化该单词的似然度。字。

查询类别预测本质上是一个文本分类任务。文本分类任务是预测输入到某个标签ID,但这并没有利用标签本身的语义信息。微调后的分类任务与预训练任务不一致,无法最大化。为了充分利用预训练任务来学习语言模型,一种新的预训练语言模型应运而生。

预训练语言模型的范例称为即时学习。 Prompt可以理解为预训练语言模型的线索,帮助其更好地理解人类问题。具体来说,将附加段落添加到输入文本中。在本段中,与标签相关的单词将被屏蔽,然后模型将用于预测屏蔽位置的单词,从而将分类任务转换为屏蔽语言模型。任务中,在mask位置预测出单词后,往往需要将单词映射到标签集上。采购品类预测是一个典型的小样本分类问题。为类别预测任务构建几个模板,然后丢弃掩码。该部分是需要预测的单词。

对于模板,建立从预测词到标签词的映射。

首先,预测的单词不一定是标签。因为为了方便训练,每个样本的掩码字符数是相同的。原始标签词有3个字符、4个字符等。这里将预测词和标签词映射并统一为两个字符。

另外,在即时学习的基础上,利用自学习框架,先用标记数据为每个模板训练一个模型,然后整合多个模型来预测未标记数据,训练一轮,选出性能高的模型。信心。将样本作为伪标记数据添加到训练集中,从而获得更多的标记数据,然后进行一轮模型训练。

上图显示了一些实验结果。可以看到零样本场景下的分类效果。预训练模型使用Bert库,共有30个类。零射击已经可以达到16%的准确率。在十镜头数据集上训练,几个模板最高可以达到56%的准确率,提升还是比较明显的。可见模板的选择也会对结果产生一定的影响。

在同一个十镜头数据集上也使用TextCNN和BERT-finetune进行了实验,效果远低于cue学习微调的效果,因此cue学习在小样本场景下非常有效。

最后利用全量数据,约4000个训练样本,进行自学习,效果达到82%左右。在线添加一些卡阈值等后处理可以保证分类准确率在90%以上。

03

总结想法

理解企业场景下的Query主要有两个难点:

(1)领域知识不足。一般短文本理解都会利用知识图来增强知识。但由于企业场景的特殊性,开源知识图谱难以满足需求,因此采用企业内部的半结构化数据来创建知识。提高。

(2)企业内部一些专业领域标注数据很少,0样本、小样本场景较多。在这种情况下,很自然地想到使用预训练的模型并提示学习,但是0个样本的实验结果并不特殊。嗯,因为现有的预训练模型所使用的语料库实际上并没有涵盖我们企业场景的领域知识。

那么有没有可能训练一个企业级的预训练大模型,在通用语料库的基础上利用公司内部垂直领域的数据,比如阿里巴巴的ATA文章数据、合同数据和代码数据等,得到预训练的大模型?模型,然后使用提示学习或上下文学习将文本分类、NER、文本匹配等各种任务统一为一个语言模型任务。

此外,对于问答QA、搜索等事实性任务,如何根据生成语言模型的结果保证答案的正确性也是需要考虑的问题。

04

问答环节

Q1:阿里巴巴有提供整个意图识别模型的相关论文或代码吗?

A1:该模型是自主开发的,目前还没有论文或代码。

Q2:目前,查询和类似查询使用令牌级输入。为什么检索到的知识卡信息在分类模型中不使用其具体数量,而只考虑ID的嵌入?

A2:查询和相似查询使用token维度级别输入,而知识卡只使用ID嵌入,因为考虑到知识卡本身的名称,有一些内部产品名称,这些名称在文本语义上并不是特别有意义。如果这些知识卡用文本来描述,它们只是一个比较长的文本,可能会引入太多的噪音,所以不使用它的文本描述,只使用这个知识卡的ID嵌入。

Q3:关于推广相关的问题,在小样本的情况下,目前的准确率只有16%,十短只有50。那么对于企业应用来说,我们应该如何考虑呢?或者您对此有什么想法吗?

A3:十短确实只有50%左右,因为预训练的模型没有覆盖采购领域的一些稀有语料,并且使用参数相对较少的BERT-base模型,所以十短的效果不是很好但如果使用全量数据,则可以达到80%以上的准确率。

Q4:能否详细说明一下最后提到的企业预训练大模型答案的准确性?能否请您补充一下相关内容?

A4:这个领域目前正在探索中。主要思想是利用一些类似于强化学习的思想,在生成语言模型之前添加一些人工反馈来调整输出。

输入之后,在大模型输出之后添加一些预处理。在预处理过程中,可以添加知识图谱或者其他知识来保证答案的准确性。

今天的分享就到这里,谢谢大家。

2023亚马逊云技术中国峰会

2023年6月27-28日,9:00-17:00,2023亚马逊云技术中国峰会将在上海世博中心举行。

本次峰会将分享数百个技术话题和最佳实践,涵盖汽车、制造、金融、医疗与生命科学、电子商务、游戏、泛娱乐、电信、教育、数字营销等领域。

下面我们将为您预览一些报名参加会议的令人兴奋的主题。请点击“下面的链接”。

2023亚马逊云技术中国峰会——建筑可见_

热门文章