文本匹配方法、装置、设备及计算机可读存储介质

文档序号:7706 发布日期:2021-09-17 浏览:40次 英文

文本匹配方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及人工智能

技术领域

,尤其涉及一种文本匹配方法、装置、设备及计算机可读存储介质。

背景技术

目前,对于自然语言处理(Natural Language Processing,NLP)中的文本匹配模型的训练,通常采用两种方式来生产训练样本数据:第一,通过人工标注的方式;这种方式准确率较高,但生产效率低,产生的样本数量难以达到千万级别的样本规模;第二,通过直接筛选搜索点击日志获得,这种方式可以获得大量训练样本数据,但收到搜索排序模型等影响,样本涵盖的语义信息较少,且准确率较低。因此,在使用上述两种方式生产的训练样本数据对文本匹配模型进行训练时,会降低文本匹配的准确性。

发明内容

本申请实施例提供一种文本匹配方法、装置、设备及计算机可读存储介质,能够提高生成训练样本的效率与文本匹配模型的准确性。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种文本匹配方法,包括:

接收每个客户端提交的搜索词;

根据所述搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个匹配文档;所述文本匹配模型所使用的训练样本集中的训练样本为历史搜索会话信息中的历史搜索词与历史匹配文档组合得到的组合数据;所述训练样本的标注信息是通过图模型,计算出所述历史搜索词与所述历史匹配文档的向量表示,并基于所述向量表示对所述组合数据进行相关性的分类标注得到的;所述图模型由多个历史搜索会话信息构建得到,所述图模型表征历史搜索词与历史匹配文档的点击关系;

根据所述至少一个匹配文档生成搜索结果页面,将所述搜索结果页面对应推送到所述每个客户端进行显示。

在上述方法中,所述根据所述搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个目标文档之前,所述方法还包括:

从预设历史搜索记录库中,提取出包含点击事件的多个历史搜索会话信息;所述多个历史搜索会话信息中的每个历史搜索会话信息包含历史搜索词以及与所述历史搜索词对应的至少一个历史匹配文档;

将所述多个历史搜索会话信息中每个历史搜索词和每个历史匹配文档作为点元素,根据所述每个历史搜索会话信息中历史搜索词与至少一个历史匹配文档的点击关系得到所述点元素之间的连接关系,从而构建得到所述图模型;

基于所述图模型计算出所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示;

将所述每个历史搜索词与所述每个历史匹配文档进行组合,得到组合数据集合;

基于所述搜索词向量表示与所述文档向量表示,得到所述组合数据中每个组合数据的相似度,基于所述相似度对所述每个组合数据进行分类标注,得到训练样本集;

使用所述训练样本集对初始文本匹配模型进行训练,得到所述文本匹配模型。

上述方法中,所述基于所述搜索词向量表示与所述文档向量表示,对所述组合数据中每个组合数据的相关性进行分类标注,得到训练样本集,包括:

对于所述每个组合数据,根据该组合数据中历史搜索词的搜索词向量表示与历史匹配文档的文档向量表示,计算所述每个组合数据对应的余弦距离;

当所述余弦距离大于第一预设距离阈值时,将所述每个组合数据标注为相关样本;或者,当所述余弦距离小于第二预设距离阈值时,将所述每个组合数据标注为不相关样本;其中,所述第一预设距离阈值大于所述第二预设距离阈值;

将每个标注后的组合数据作为一个训练样本,进而得到所述训练样本集。

上述方法中,所述每个历史搜索会话信息包含所述历史搜索词与所述至少一个历史匹配文档的行为序列信息,所述行为序列信息表征所述历史搜索词与所述至少一个历史匹配文档对应的出现顺序;所述将所述多个历史搜索会话信息中每个历史搜索词和每个历史匹配文档作为点元素,根据所述每个历史搜索会话信息中历史搜索词与至少一个历史匹配文档的点击关系得到所述点元素之间的连接关系,从而构建得到所述图模型,包括:

将所述每个历史搜索词与所述每个历史匹配文档作为点元素,在所述每个历史搜索会话信息中,根据该历史搜索会话信息包含的行为序列信息,得到该历史搜索会话信息对应的点元素之间的相邻次序关系;

根据所述相邻次序关系,得到该历史搜索会话信息对应的点元素之间的有向连接路径,进而根据所述每个历史搜索会话信息构建出有向图模型作为所述图模型。

上述方法中,所述基于所述图模型计算出所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示,包括:

以所述点元素集合中的每个点元素为起点,根据所述连接路径在所述有向图模型中进行随机寻路并记录为当前寻路路径,当寻路至无其他连接路径的点元素,或所述当前寻路路径的长度达到预设长度阈值时,根据所述当前寻路路径生成所述每个点元素对应的寻路序列,进而得到寻路序列集合;

使用序列向量转换算法,在所述寻路序列集合中,计算得到每个寻路序列中每个点元素的向量表示,进而得到所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示。

上述方法中,所述每个历史搜索会话信息包含所述历史搜索词与所述至少一个历史匹配文档的点击关系,所述根据所述每个历史搜索会话信息中历史搜索词与至少一个历史匹配文档的点击关系得到所述点元素之间的连接关系,从而构建得到所述图模型,包括:

在所述每个历史搜索会话信息中,根据所述点击关系,得到该历史搜索会话信息对应的点元素之间的连接关系,根据所述连接关系得到构建出点击二部图作为所述图模型。

上述方法中,所述基于所述图模型计算出所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示,包括:

对所述每个历史搜索词进行分词,基于所述每个历史搜索词的分词结果,得到每个历史搜索词的初始搜索词向量表示;

在首轮迭代过程中,在所述点击二部图中,对于所述每个历史匹配文档,使用与所述每个历史匹配文档有连接关系的历史搜索词的初始搜索词向量表示进行加权平均,得到每个历史匹配文档的初始文档向量表示;

在所述点击二部图中,对于所述每个历史搜索词,使用与所述每个历史搜索词有连接关系的历史匹配文档的初始文档向量表示进行加权平均,得到每个历史搜索词的中间搜索词向量表示;

基于所述每个历史搜索词的中间搜索词向量表示进行下一轮迭代,在下一轮迭代过程中,根据所述中间搜索词向量表示更新所述每个历史匹配文档的初始文档向量表示,得到所述每个历史匹配文档的中间文档向量表示,持续迭代直至达到预设迭代条件时,得到所述每个历史搜索词的搜索词向量表示与所述每个历史匹配文档的文档向量表示。

本申请实施例提供一种文本匹配装置,包括:。

接收模块,用于接收每个客户端提交的搜索词;

文本匹配模型,用于根据所述搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个匹配文档;所述文本匹配模型所使用的训练样本集中的训练样本为历史搜索会话信息中的历史搜索词与历史匹配文档组合得到的组合数据;所述训练样本的标注信息是通过图模型,计算出所述历史搜索词与所述历史匹配文档的向量表示,并基于所述向量表示对所述组合数据进行相关性的分类标注得到的;所述图模型由多个历史搜索会话信息构建得到,所述图模型表征历史搜索词与历史匹配文档的点击关系;

推送模块,用于根据所述至少一个匹配文档生成搜索结果页面,将所述搜索结果页面对应推送到所述每个客户端进行显示。

上述装置中,所述文本匹配装置还包括训练样本生成模块,所述训练样本生成模块,用于所述根据所述搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个目标文档之前,从预设历史搜索记录库中,提取出包含点击事件的多个历史搜索会话信息;所述多个历史搜索会话信息中的每个历史搜索会话信息包含历史搜索词以及与所述历史搜索词对应的至少一个历史匹配文档;

将所述多个历史搜索会话信息中每个历史搜索词和每个历史匹配文档作为点元素,根据所述每个历史搜索会话信息中历史搜索词与至少一个历史匹配文档的点击关系得到所述点元素之间的连接关系,从而构建得到所述图模型;基于所述图模型计算出所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示;将所述每个历史搜索词与所述每个历史匹配文档进行组合,得到组合数据集合;基于所述搜索词向量表示与所述文档向量表示,得到所述组合数据中每个组合数据的相似度,基于所述相似度对所述每个组合数据进行分类标注,得到训练样本集;使用所述训练样本集对初始文本匹配模型进行训练,得到所述文本匹配模型。

上述装置中,所述训练样本生成模块,还用于对于所述每个组合数据,根据该组合数据中历史搜索词的搜索词向量表示与历史匹配文档的文档向量表示,计算所述每个组合数据对应的余弦距离;当所述余弦距离大于第一预设距离阈值时,将所述每个组合数据标注为相关样本;或者,当所述余弦距离小于第二预设距离阈值时,将所述每个组合数据标注为不相关样本;其中,所述第一预设距离阈值大于所述第二预设距离阈值;将每个标注后的组合数据作为一个训练样本,进而得到所述训练样本集。

上述装置中,所述每个历史搜索会话信息包含所述历史搜索词与所述至少一个历史匹配文档的行为序列信息,所述行为序列信息表征所述历史搜索词与所述至少一个历史匹配文档对应的出现顺序;所述训练样本生成模块,还用于将所述每个历史搜索词与所述每个历史匹配文档作为点元素,在所述每个历史搜索会话信息中,根据该历史搜索会话信息包含的行为序列信息,得到该历史搜索会话信息对应的点元素之间的相邻次序关系;根据所述相邻次序关系,得到该历史搜索会话信息对应的点元素之间的有向连接路径,进而根据所述每个历史搜索会话信息构建出有向图模型作为所述图模型。

上述装置中,所述训练样本生成模块,还用于以所述点元素集合中的每个点元素为起点,根据所述连接路径在所述有向图模型中进行随机寻路并记录为当前寻路路径,当寻路至无其他连接路径的点元素,或所述当前寻路路径的长度达到预设长度阈值时,根据所述当前寻路路径生成所述每个点元素对应的寻路序列,进而得到寻路序列集合;使用序列向量转换算法,在所述寻路序列集合中,计算得到每个寻路序列中每个点元素的向量表示,进而得到所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示。

上述装置中,所述每个历史搜索会话信息包含所述历史搜索词与所述至少一个历史匹配文档的点击关系,所述训练样本生成模块,还用于在所述每个历史搜索会话信息中,根据所述点击关系,得到该历史搜索会话信息对应的点元素之间的连接关系,根据所述连接关系得到构建出点击二部图作为所述图模型。

上述装置中,所述训练样本生成模块,还用于对所述每个历史搜索词进行分词,基于所述每个历史搜索词的分词结果,得到每个历史搜索词的初始搜索词向量表示;在首轮迭代过程中,在所述点击二部图中,对于所述每个历史匹配文档,使用与所述每个历史匹配文档有连接关系的历史搜索词的初始搜索词向量表示进行加权平均,得到每个历史匹配文档的初始文档向量表示;在所述点击二部图中,对于所述每个历史搜索词,使用与所述每个历史搜索词有连接关系的历史匹配文档的初始文档向量表示进行加权平均,得到每个历史搜索词的中间搜索词向量表示;基于所述每个历史搜索词的中间搜索词向量表示进行下一轮迭代,在下一轮迭代过程中,根据所述中间搜索词向量表示更新所述每个历史匹配文档的初始文档向量表示,得到所述每个历史匹配文档的中间文档向量表示,持续迭代直至达到预设迭代条件时,得到所述每个历史搜索词的搜索词向量表示与所述每个历史匹配文档的文档向量表示。

本申请实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。

本申请实施例具有以下有益效果:

基于海量的历史搜索会话信息,构建出可以表征每个历史搜索词与每个历史匹配文档之间的关联关系的图模型,并通过图模型计算出每个历史搜索词与每个历史匹配文档的向量表示,从而可以利用每个历史搜索词与每个历史匹配文档的各自向量表示,对由历史搜索词与历史匹配文档进行重新组合所得到的组合数据的相关性进行计算,从而既可以获得历史搜索会话信息中从未出现的大量历史搜索词与历史匹配文档的组合数据,提高了训练样本集的多样性,又能根据每个历史搜索词与每个历史匹配文档的各自向量表示,挖掘出每个组合数据中历史搜索词与历史匹配文档之间的相关性,并基于相关性对每个组合数据对进行自动准确的标注,从而可以提高训练样本集的生成效率与准确性,并可以使得生成的训练样本集带有更多的语义信息。因此,使用本申请实施例的方法生成的训练样本集可以使得文本匹配模型在语义理解和鲁棒性上的效果更好,进而提高了文本匹配的准确性。

附图说明

图1是本申请实施例提供的目前的文本匹配模型生成样本集的流程框架示意图;

图2是本申请实施例提供的文本匹配系统架构的一个可选的结构示意图;

图3是本申请实施例提供的文本匹配装置的一个可选的结构示意图;

图4是本申请实施例提供的文本匹配方法的一个可选的流程示意图;

图5是本申请实施例提供的文本匹配方法的一个可选的流程示意图;

图6是本申请实施例提供的文本匹配方法的一个可选的流程示意图;

图7-1是本申请实施例提供的序列形式的历史搜索会话信息的示意图;

图7-2是本申请实施例提供的有向图模型的示意图;

图7-3是本申请实施例提供的寻路序列集合的示意图;

图7-4是本申请实施例提供的item2vec算法模型示意图;

图8是本申请实施例提供的文本匹配方法的一个可选的流程示意图;

图9是本申请实施例提供的的点击二部图模型的示意图;

图10是本申请实施例提供的历史搜索点击场景的示意图;

图11是本申请实施例提供的训练样本集的生成流程框架示意图;

图12为本申请实施例提供的文本匹配装置的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

2)自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

3)机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

目前,自然语言处理中的文本匹配问题,通常可以理解为第一文本和第二文本的相关性分类问题。在搜索引擎中,可以理解为判断搜索词(query)和文档(doc)是否相关的问题。因此,用于训练文本匹配模型的样本集,通常是搜索词-文档-标签(query-doc-label)的三元组,用来表示query和doc是否相关,如下面的例子所示:

Query Doc Label
NBA比赛 《2020NBA常规赛集锦》 相关
NBA比赛 《我和我的祖国》 不相关

目前的相关性标注方法的框架可以如图1所示。首先从海量搜索日志中提取一段时间内的搜索点击日志,即有点击的query-doc对,将其放入候选池。然后,将候选池中的query-doc对作为候选样本,通过人工标注或基于预设策略的机器标注的方式来确定其相关性并根据相关性进行分类标注,得到样本集。其中,对于人工标注的方式,是通过人类的知识和经验判断是否相关,人工标注方式的准确率较高,但存在两点主要缺陷:其一是成本较高的问题,人工标注的方式需要对标注人员进行培训,并且为保证准确率,一条样本通常需进行多人标注,进一步增加了人力成本;其二是效率较低,一个合格的标注人员,一日仅可生产近千条标注样本,难以满足业界流行的深度学习文本匹配模型千万级别样本的要求。因此,人工标注很难获得大规模的训练样本,标注效率较低。对于机器标注的方式,通常是使用机器基于一些预设策略进行分类标注,常用的策略可以是基于点击率高低来进行分类标注,比如将query下点击率(Click Through Rate,CTR)较高的doc为相关样本,query下CTR较低的doc为不相关样本,query1下点击的doc作为query2的不相关样本等。机器标注的方法能快速生产出大量训练样本,但是也存在两点主要缺陷:其一,基于CTR的规则,易受到排序模型或马太效应等因素的影响,造成标注的准确率下降。详细的,比如query下展示位置靠前的doc,不考虑其相关性,天然的会比展示位置靠后的doc,更容易获得更高的CTR,因此query下CTR较低的doc,有很大概率不是非相关样本。其二,直接基于搜索日志提取训练样本,会导致样本收到搜索召回/排序模型的影响较大,即只有排序模型得分高的doc,才有机会被展示,进而成为训练样本。这种方法忽略了大量语义相关、但未被排序模型展示的样本,造成最终样本集中样本的语义相关信息不足。因此,机器标注的方式所形成的样本集中样本相关性标注的准确率较低,进而会影响使用机器标注形成的样本集所训练得到的文本匹配模型进行文本匹配处理的准确性。

本申请实施例提供的方案涉及人工智能的自然语言处理等技术,具体通过如下实施例进行说明:

本申请实施例提供一种文本匹配方法、装置、设备和计算机可读存储介质,能够提高生成训练样本的效率与训练得到的文本匹配模型进行文本匹配的准确性,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明电子设备实施为服务器时示例性应用。

参见图2,图2是本申请实施例提供的文本匹配系统100的一个可选的架构示意图,为实现支撑一个搜索应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。

终端400上配置有搜索应用客户端401(示例性示出了搜索应用客户端4001-1和搜索应用客户端401-2),用于通过搜索应用客户端401上搜索界面中的至少一个控件,接收用户输入的搜索词,并将搜索词提交给服务器200。服务器200用于接收每个客户端提交的搜索词;根据搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个匹配文档;文本匹配模型所使用的训练样本集中的训练样本为历史搜索会话信息中的历史搜索词与历史匹配文档组合得到的组合数据;训练样本的标注信息是通过图模型,计算出历史搜索词与历史匹配文档的向量表示,并基于向量表示对组合数据进行相关性的分类标注得到的;图模型由多个历史搜索会话信息构建得到,图模型表征历史搜索词与历史匹配文档的点击关系;根据至少一个匹配文档生成搜索结果页面,将搜索结果页面对应推送到每个客户端401-1或401-2中进行显示。

在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。

参见图3,图3是本申请实施例提供的服务器200的结构示意图,图3所示的服务器200包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器200中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。

处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。

存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。

在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;

呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器450中的文本匹配装置455,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块4551、文本匹配模块4552和推送模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的文本匹配装置可以采用硬件方式实现,作为示例,本申请实施例提供的文本匹配装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的文本匹配方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Progra mmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmabl e Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。

将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的文本匹配方法。

参见图4,图4是本申请实施例提供的文本匹配方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。

S101、接收每个客户端提交的搜索词。

本申请实施例中,文本匹配装置可以从客户端获取应用提交的搜索词,以基于搜索词进行文本匹配过程。

在一些实施例中,客户端可以是与文本匹配装置配置在同一台设备上的软件应用,用于作为前端应用与用户交互,并与后台运行的文本匹配装置进行数据交互以实现文本匹配功能;客户端也可以作为终端上的应用,通过网络与配置在服务器上的文本匹配装置连接,以进行数据交互并实现文本匹配功能。

S102、根据搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个匹配文档;文本匹配模型所使用的训练样本集中的训练样本为历史搜索会话信息中的历史搜索词与历史匹配文档组合得到的组合数据;训练样本的标注信息是通过图模型,计算出历史搜索词与历史匹配文档的向量表示,并基于向量表示对组合数据进行相关性的分类标注得到的;图模型由多个历史搜索会话信息构建得到,图模型表征历史搜索词与历史匹配文档的点击关系。

本申请实施例中,文本匹配装置会将接收到的搜索词转化为神经网络可识别的数据类型,如向量或特征,从而得到搜索输入数据,文本匹配装置使用文本匹配模型,基于搜索输入数据进行语义识别、相似度预测等处理过程,从预设文档资源库中匹配出至少一个匹配文档,作为搜索词对应的搜索结果。

本申请实施例中,在文本匹配装置使用文本匹配模型对搜索词进行文本匹配处理之前,首先需要使用训练样本集对初始文本匹配模型进行训练,以得到文本匹配模型。在本申请实施例中,在构建训练样本集时,需要从多个历史搜索会话信息,如浏览器后台服务器中的历史搜索记录数据库中,提取出多个带有点击曝光的历史搜索词-历史匹配文档的关联对,根据多个历史搜索词-历史匹配文档的关联对的点击关系,构建出图模型;并通过图模型,对多个组合中所包含的全部历史搜索词与全部历史匹配文档进行向量表示计算,得到每个历史搜索词与每个历史匹配文档各自对应的向量表示(embedding)。文本匹配装置可以对每个历史搜索词与每个历史匹配文档进行重新组合,得到多个历史搜索会话信息中从未出现过的历史搜索词-历史匹配文档的组合数据集合,并在组合数据集合中,对于每个组合数据,基于该组合数据中历史搜索词与历史匹配文档各自对应的向量表示,计算两者之间的相似度,并基于相似度对该组合数据进行标注。示例性的,若相似度高于预设阈值则标注为相关样本,若相似度小于预设阈值则标注为不相关样本,进而可以完成对每个组合数据的标注,将带有标注的组合数据集作为训练样本集。

本申请实施例中,预设文档资源库可以是网络上的海量文档资源,当文本匹配装置与客户端配置在同一设备上时,也可以是该设备的本地文档资源。

S103、根据至少一个匹配文档生成搜索结果页面,将搜索结果页面对应推送到每个客户端进行显示。

本申请实施例中,文本匹配装置可以根据至少一个匹配文档,结合搜索排序模型等网络模型,生成包含至少一个匹配文档的搜索结果页面,进而将搜索页面对应推送到提交相应搜索词的客户端,使得搜索结果页面可以在每个客户端中进行展示。

在一些实施例中,文本匹配装置可以将至少一个匹配文档作为输入数据,输入搜索排序模型,由搜索排序模型根据预设排序策略,如用户历史点击偏好等,对至少一个匹配文档进行排序,并根据排序结果生成对应的列表展示页面作为搜索结果页面。

可以理解的是,本申请实施例中,文本匹配装置可以基于海量的历史搜索会话信息,构建出可以表征每个历史搜索词与每个历史匹配文档之间的关联关系的图模型,并通过图模型计算出每个历史搜索词与每个历史匹配文档的向量表示,从而可以利用每个历史搜索词与每个历史匹配文档的各自向量表示,对由历史搜索词与历史匹配文档进行重新组合所得到的组合数据的相关性进行计算,从而既可以获得历史搜索会话信息中从未出现的大量历史搜索词与历史匹配文档的组合数据,提高了训练样本集的多样性,又能根据每个历史搜索词与每个历史匹配文档的各自向量表示,挖掘出每个组合数据中历史搜索词与历史匹配文档之间的相关性,并基于相关性对每个组合数据对进行自动准确的标注,从而可以提高训练样本集的生成效率与准确性,并可以使得生成的训练样本集带有更多的语义信息。因此,使用本申请实施例的方法生成的训练样本集可以使得文本匹配模型在语义理解和鲁棒性上的效果更好,进而提高了文本匹配的准确性。

在一些实施例中,参见图5,图5是本申请实施例提供的方法的一个可选的流程示意图,基于图4,在S102之前,还可以执行S201-S206,将结合各步骤进行说明。

S201、从预设历史搜索记录库中,提取包含点击事件的多个历史搜索会话信息;多个历史搜索会话信息中的每个历史搜索会话信息包含历史搜索词以及与历史搜索词对应的至少一个历史匹配文档。

本申请实施例中,预设历史搜索记录库中存储了大量的用户的历史搜索行为所对应的历史搜索记录。预设历史搜索记录库是在一段预设时长内,如几个月,或几周时间内,文本匹配装置所收集到的各个客户端与文本匹配装置之间产生的多次历史会话的信息记录的集合。

在一些实施例中,文本匹配装置可以根据搜索词与预设无响应时长,对一次历史会话的过程进行划分。文本匹配装置可以将同一客户端上的连续历史搜索点击行为作为一次历史会话,其中,连续历史搜索点击行为针对同一历史搜索词,且每个相邻的历史搜索点击行为之间的时间间隔不超过预设无响应时长。示例性的,对于预设无响应时长为5分钟的情况,当客户端1通过向文本匹配装置提交历史搜索词1时,文本匹配装置可以记录到历史搜索词1对应的一次历史搜索行为,若在5分钟内,文本匹配装置又陆续接收到了客户端1针对历史搜索词1对应的至少一个历史候选文档1的一次或多次点击行为,则文本匹配装置可以将历史搜索词1的历史搜索行为与上述的一次或多次点击行为记录为历史会话1,并对应记录历史会话1对应的会话信息,如搜索词、会话时间、每次点击事件对应的历史候选文档与文档点击顺序、以及客户端信息等等,作为历史会话1的信息记录。

在一些实施例中,文本匹配装置也可以根据搜索词来划分不同的历史会话过程,示例性的,当文本匹配装置接收到客户端1提交历史搜索词1后,若接收到客户端1提交的新的历史搜索词2,则可以将历史搜索词2对应的连续历史搜索点击行为作为历史会话2,并记录历史会话2相应的会话信息作为历史会话2的信息记录,进而形成以会话形式组织的预设历史搜索记录库。

示例性的,客户端U1在时间点T1上提交了历史搜索词Q1,并依次点击了Q1对应的历史候选文档D1与历史候选文档D2;客户端U2在时间点T2上提交了历史搜索词Q2进行搜索,点击了Q2对应的历史匹配文档D3;客户端U2在时间点T3上提交了历史搜索词Q3,并依次点击了Q3对应的历史候选文档D4与历史候选文档D5;客户端U3在时间点T4上提交了历史搜索词Q4,点击了Q4对应的历史匹配文档D6,并在预设无响应时长超时之后,如时间点T5上点击了Q4对应的历史匹配文档D7;客户端U4在时间点T6上提交了历史搜索词Q5,并在预设无响应时长超时之前没有点击任何历史候选文档。则预设历史搜索记录库中可以包含有{U1,T1,Q1->D1->D2}、{U2,T2,Q2->D3}、{U2,T3,Q3->D4->D5}、{U3,T4,Q4->D6}、{U3,T5,Q4->D7}、{U4,T6,Q5}等不同历史会话对应的不同信息记录。

本申请实施例中,文本匹配装置从预设历史搜索记录库中,根据每个历史会话的信息记录,提取出包含点击事件的历史会话的信息记录,从而可以得到多个历史搜索会话信息。

示例性的,在上例中,文本匹配装置可以提取出{U1,T1,Q1->D1->D2}、{U2,T2,Q2->D3}、{U2,T3,Q3->D4->D5}、{U3,T4,Q4->D6}、与{U3,T5,Q4->D7}分别作为历史搜索会话信息1至5,从而得到多个历史搜索会话信息。文本匹配装置将D1与D2作为历史搜索会话信息1中Q1对应的至少一个历史匹配文档;将D3作为历史搜索会话信息2中Q2对应的至少一个历史匹配文档,将D4与D5作为历史搜索会话信息3中Q2对应的至少一个历史匹配文档;将D6作为历史搜索会话信息4中Q4对应的至少一个历史匹配文档;将D7作为历史搜索会话信息5中Q4对应的至少一个历史匹配文档。

S202、将每个历史搜索词和每个历史匹配文档作为点元素,根据每个历史搜索会话信息中历史搜索词与至少一个历史匹配文档的点击关系得到点元素之间的连接关系,从而构建得到图模型。

本申请实施例中,文本匹配装置可以将多个历史搜索会话信息中,每个历史搜索词和每个历史匹配文档都作为独立的点元素;进而根据每个历史搜索会话信息中,历史搜索词与至少一个历史匹配文档的点击关系,构建出顶点之间的连接关系,其中,连接关系可以体现为图模型中点元素之间的连线,从而构建得到图模型。

本申请实施例中,文本匹配装置可以根据多个历史搜索会话信息构建出有向图作为图模型,也可以构建出点击二部图作为图模型,将在下面的实施例中进行详细描述。

S203、基于图模型计算出每个历史搜索词的搜索词向量表示,以及每个历史匹配文档的文档向量表示。

本申请实施例中,由于图模型代表了多个历史搜索会话信息中,每个历史搜索词与每个历史匹配文档之间的相互点击关系,因此,文本匹配装置可以基于图模型对每个历史搜索词与每个历史匹配文档的向量表示进行计算,从而将搜索词与匹配文档使用统一的数据形式进行表示。

本申请实施例中,S202与S203中的方法可以通过以下两种方式实现:

在一些实施例中,参见图6,图6是本申请实施例提供的文本匹配方法的一个可选的流程示意图,每个历史搜索会话信息包含历史搜索词与至少一个历史匹配文档的行为序列信息,行为序列信息表征历史搜索词与至少一个历史匹配文档对应的出现顺序,图5示出的S202可以通过S2021至S2022实现,相应地,S203可以通过S2031至S2032实现,将结合各步骤进行说明。

S2021、将每个历史搜索词与每个历史匹配文档作为点元素,在每个历史搜索会话信息中,根据该历史搜索会话信息包含的行为序列信息,得到该历史搜索会话信息对应的点元素之间的相邻次序关系。

本申请实施例中,每个历史搜索会话信息中,历史搜索词与至少一个历史匹配文档的可以按对应的搜索行为或点击行为的事件发生顺序,也即历史搜索词与至少一个历史匹配文档的出现顺序,以行为序列的形式体现。文本匹配装置可以根据将每个历史搜索词与每个历史匹配文档均作为预设有向图模板中的点元素,在每个历史搜索会话信息中,根据该历史搜索会话信息包含的行为序列信息,得到该历史搜索会话信息中的点元素之间的相邻次序关系。

在一些实施例中,文本匹配装置从各个客户端所收集到的多个历史搜索会话信息可以如图7-1所示,其中,A、B、C、D、E、F可以是由历史搜索词或历史匹配文档抽象得到的点元素,在图7-1中以唯一的ID作为点元素的标识。示例性的,对于图7-1中示出客户端U1对应的历史搜索会话信息,点元素D代表U1提交的历史搜索词1,点元素A和和点元素B代表客户端U1针对该历史搜索词分别依次点击的两个历史匹配文档1和2。对于客户端U2对应的历史搜索会话信息,点元素B和点元素E属于同一历史会话,代表客户端U2分别点击的历史匹配文档2和历史匹配文档3;点元素D、EF属于下一历史会话,其中,点元素D代表客户端U2在点击历史匹配文档2和历史匹配文档3之后所提交的历史搜索词1,点元素E和点元素F代表客户端U2基于历史搜索词1依次点击的两个历史匹配文档4和5。对于客户端U3对应的历史搜索会话信息,点元素E、C、B属于同一历史会话,其中,点元素E代表客户端U3点击的历史匹配文档4,点元素C代表客户端U3提交的历史搜索词2,点元素B代表客户端U3基于历史搜索词2点击的历史匹配文档3;点元素B、A属于下一历史会话,分别代表客户端基于历史搜索词2依次点击的两个历史匹配文档2和1。

在图7-1中,以U1对应的历史搜索会话信息D->A->B为例,则确定出D->A与A->B两个相邻次序关系。

S2022、根据相邻次序关系,得到该历史搜索会话信息对应的点元素之间的有向连接路径,进而根据每个历史搜索会话信息构建出有向图模型作为图模型。

本申请实施例中,文本匹配模型可以根据相邻次序关系,对历史搜索会话信息对应的点元素进行连线,得到该历史搜索会话信息对应的点元素之间的有向连接路径,进而根据每个历史搜索会话信息得到各个点元素之间的全部连线,从而构建出有向图模型作为图模型

在一些实施例中,基于图7-1所示的多个历史搜索会话信息中,对于客户端U1,可以在U1中包含的点元素D、A和B中,根据相邻次序关系D->A与A->B,构建出从D到A的连线,以及从A到B的连线作为连接路径。。文本匹配装置对各个客户端对应的多个历史搜索会话信息进行相同的处理,进而可以得到如图7-2所示的有向图模型。

S2031、以点元素集合中的每个点元素为起点,根据连接路径在有向图模型中进行随机寻路并记录为当前寻路路径,当寻路至无其他连接路径的点元素,或当前寻路路径的长度达到预设长度阈值时,根据所述当前寻路路径生成每个点元素对应的寻路序列,进而得到寻路序列集合。

本申请实施例中,文本匹配装置以点元素集合中的每个点元素为起点,根据有向图模型中点元素与点元素之间的连接路径,在有向图模型中进行随机游走,随机游走的路径选择可以通过DeepWalk算法确定,也可以根据其他算法,本申请实施例不做限定。

本申请实施例中,在每一次随机游走过程中,文本匹配装置记录当前次随机游走依次经过的点元素,记录为当前寻路路径,并在当前次随机游走过程中对当前寻路路径进行实时更新,当游走至没有相邻点的点元素,也即没有其他连接路径的点元素,或者当前寻路路径的长度,如经过的点元素个数达到预设长度阈值时,停止当前次随机游走,根据最后记录的当前寻路路径,按点元素之间的寻路顺序生成一条寻路序列。文本匹配装置可以对每个点元素进行相同的处理,并且,为了提高后续基于寻路序列计算的准确性,文本匹配装置也可以多次以同一点元素为起点进行不同寻路路径的随机游走过程,以进一步增加生成的寻路序列的数量,进而得到每个点元素对应的至少一个寻路序列,作为寻路序列集合。

在一些实施例中,基于图7-2所示的图模型,文本匹配装置得到的至少一个寻路序列可以如图7-3所示。

S2032、使用序列向量转换算法,在寻路序列集合中,计算得到每个寻路序列中每个点元素的向量表示,进而得到每个历史搜索词的搜索词向量表示,以及每个历史匹配文档的文档向量表示。

本申请实施例中,文本匹配装置可以将寻路序列集合作为输入数据,使用序列向量转换算法计算出寻路序列集合中每个点元素的向量表示。文本匹配装饰进而可以根据每个点元素的向量表示,得到该点元素对应的历史搜索词或者历史匹配文档的向量表示,从而得到每个历史搜索词的搜索词向量表示以及每个历史匹配文档的文档向量表示。

在一些实施例中,序列向量转换算法可以是item2vec算法,如word2vec算法,用于对输入的序列或文本进行计算,得到序列或文本中每个元素的向量表示。文本匹配装置可以将寻路序列集合作为输入数据,通过图7-4中所示的word2vec算法模型,对寻路序列集合中的每个点元素进行随机初始化,得到每个点元素的初始向量表示,并根据序列之间的贡献关系,迭代计算并更新每个点元素的初始向量表示,得到每次迭代中每个点元素的中间向量表示,直至达到预设收敛条件,如相邻点元素的向量表示的相似度高于预设收敛阈值时,得到每个点元素的向量表示。

在一些实施例中,参见图8,图8是本申请实施例提供的文本匹配方法的一个可选的流程示意图,每个历史搜索会话信息包含历史搜索词与至少一个历史匹配文档的点击关系,图5示出的S202中的根据每个历史搜索会话信息中历史搜索词与至少一个历史匹配文档的点击关系得到点元素之间的连接关系,从而构建得到图模型的过程可以通过S2023实现,S203可以通过S2034至S2036实现,将结合各步骤进行说明。

S2023、在每个历史搜索会话信息中,根据点击关系,得到该历史搜索会话信息对应的点元素之间的连接关系,根据连接关系得到构建出点击二部图作为图模型。

本申请实施例中,文本匹配装置可以根据每个历史搜索会话信息中,历史搜索词与至少一个历史匹配文档之间点击关系,在点元素之间进行连接,从而构建出点击二部图作为图模型。

在一些实施例中,历史搜索会话信息6中的历史搜索词为“娱乐组合101”,至少一个历史匹配文档为doc1与doc2;历史搜索会话信息7中的历史搜索词为“娱乐组合”,至少一个历史匹配文档为doc2与docn;文本匹配装置可以根据历史搜索会话信息6与历史搜索会话信息7中的点击关系,构建出如图9所示的点击二部图作为图模型。

S2033、对每个历史搜索词进行分词,基于每个历史搜索词的分词结果,得到每个历史搜索词的初始搜索词向量表示。

本申请实施例中,文本匹配装置可以通过分词算法,对每个历史搜索词进行语义分词,基于分词结果得到每个历史搜索词的初始搜索词向量表示。

在一些实施例中,对于历史搜索词“娱乐组合101”,文本匹配装置可以通过分词算法,将其分词为“娱乐组合”与“101”,进而对每个分词对应的向量进行平均初始化,可以得到“娱乐组合101”对应的初始搜索词向量表示:“娱乐组合:0.5;101:0.5”。

S2034、在首轮迭代过程中,在点击二部图中,对于每个历史匹配文档,使用与每个历史匹配文档有连接关系的历史搜索词的初始搜索词向量表示进行加权平均,得到每个历史匹配文档的初始文档向量表示。

在一些实施例中,文本匹配装置可以通过公式(1),计算每个历史匹配文档的初始文档向量表示,如下:

其中,是第i个query第n-1轮次的向量表示,Ci,j是点击二部图中第i个query和第j个doc的边的权重(通常以点击次数作为边的权重),是第j个doc第n轮次的向量表示。

S2035、在点击二部图中,对于每个历史搜索词,使用与每个历史搜索词有连接关系的历史匹配文档的初始文档向量表示进行加权平均,得到每个历史搜索词的中间搜索词向量表示。

在一些实施例中,文本匹配装置可以通过公式(2),计算每个历史搜索词的中间搜索词向量表示,如下:

其中,是第j个doc第n轮次的向量表示,是点击二部图中第i个query和第j个doc的边的权重,是第i个query第n轮次的向量表示。

S2036、基于每个历史搜索词的中间搜索词向量表示进行下一轮迭代,在下一轮迭代过程中,根据中间搜索词向量表示更新每个历史匹配文档的初始文档向量表示,得到每个历史匹配文档的中间文档向量表示,持续迭代直至达到预设迭代条件时,得到每个历史搜索词的搜索词向量表示与每个历史匹配文档的文档向量表示。

本申请实施例中,文本匹配装置基于每个历史搜索词的中间搜索词向量表示进行下一轮迭代,在下一轮迭代过程中,根据每个历史搜索词的中间搜索词向量表示,根据公式(1)计算出每个历史匹配文档的中间文档向量表示,并基于每个历史匹配文档的中间文档向量表示,根据公式(2)计算并更新每个历史搜索词的中间搜索词向量表示;文本匹配装置以同样的过程进行迭代,直至达到预设迭代条件时,得到每个历史搜索词的搜索词向量表示与每个历史匹配文档的文档向量表示。

本申请实施例中,预设迭代条件表征每个历史搜索词的搜索词向量表示与每个历史匹配文档的文档向量表示的计算数值已经基于稳定并收敛,在一些实施例中,预设迭代条件可以是每一轮迭代后的向量与上一轮迭代向量之间的误差小于预设误差阈值,也可以是预设迭代次数如3次迭代,具体的根据实际情况进行选择,本申请实施例不作限定。

S204、将每个历史搜索词与每个历史匹配文档进行组合,得到组合数据集合。

本申请实施例中,文本匹配装置可以基于预设组合策略,如一一组合,或随机组合的方式,将每个历史搜索词与每个历史匹配文档进行组合,得到组合数据集合。

可以理解的是,本申请实施例中,由于文本匹配装置是将历史搜索词与历史匹配文档以个体的方式进行重新的组合,因此,组合数据集合中可能包含有历史搜索会话集合中从未出现过的query-doc对,从而增加了样本的多样性。

S205、基于搜索词向量表示与文档向量表示,得到组合数据中每个组合数据的相似度,基于相似度对每个组合数据进行分类标注,得到训练样本集。

本申请实施例中,对于每个组合数据,文本匹配装置可以在该组合数据中,基于历史搜索词对应的搜索词向量表示与历史匹配文档对应的文档向量表示,计算出该组合数据对应的相似度。

在一些实施例中,文本匹配装置可以基于搜索词向量表示与文档向量表示,计算出该组合数据对应的余弦距离作为相似度,也可以使用神经网络模型,基于搜索词向量表示与文档向量表示进行网络推断,输出该组合数据中历史搜索词与历史匹配文档的相似概率作为相似度。具体的根据实际情况进行选择,本申请实施例不作限定。

在一些实施例中,图5示出的S205可以通过S2051至S2053实现,将结合各步骤进行说明。

S2051、对于每个组合数据,根据该组合数据中历史搜索词的搜索词向量表示与历史匹配文档的文档向量表示,计算每个组合数据对应的余弦距离。

本申请实施例中,文本匹配模型可以在一个向量空间中,计算搜索词向量表示与文档向量表示的夹角间的余弦值作为余弦距离,用于衡量两个个体之间差异的大小。余弦距离接近1,夹角趋于0,表明两个向量越相似,余弦距离接近于0,夹角趋于90度,表明两个向量越不相似。

S2052、当余弦距离大于第一预设距离阈值时,将每个组合数据标注为相关样本;或者,当余弦距离小于第二预设距离阈值时,将每个组合数据标注为不相关样本;其中,第一预设距离阈值大于第二预设距离阈值。

本申请实施例中,当余弦距离大于第一预设距离阈值时,说明该组合数据中历史搜索词与历史匹配文档的相似度较高,文本匹配模型将该组合数据标注为相关样本,可以作为正例对初始文本匹配模型进行训练。当余弦距离小于第二预设距离阈值时,说明该组合数据中历史搜索词与历史匹配文档的相似度较低,文本匹配模型将该组合数据标注为不相关样本,可以作为反例对初始文本匹配模型进行训练。

在一些实施例中,第一预设距离阈值可以取0.8,第二预设距离阈值可以取0.2,也可以根据实际需要设定其他阈值,本申请实施例不作限定。

S2053、将每个标注后的组合数据作为一个训练样本,进而得到训练样本集。

本申请实施例中,文本匹配装置可以将每个标注后的组合数据作为一个训练样本,进而得到训练样本集。

S206、使用训练样本集对初始文本匹配模型进行训练,得到文本匹配模型。

本申请实施例中,文本匹配装置使用训练样本集对初始文本匹配模型进行训练,即可得到S102中所要使用的文本匹配模型。

可以理解的是,本申请实施例中,文本匹配模型可以获得历史搜索会话信息中从未出现的大量query-doc对作为初始训练样本,又能通过图模型计算出的每个历史搜索词与每个历史匹配文档的向量表示,挖掘出query-doc对之间的相关性,并对query-doc对进行自动准确的标注,从而可以提高训练样本集的生成效率与准确性,并可以使得生成的训练样本集带有更多的语义信息。因此,使用本申请实施例的方法生成的训练样本集可以使得文本匹配模型在语义理解和鲁棒性上的效果更好,进而提高了文本匹配的准确性。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

在一个历史搜索点击场景中,用户使用客户端提交的历史搜索词为“nba湖人vs老鹰”,其对应有4个历史候选文档,如图10所示。用户进而点击了4个历史候选文档中文档2,即《湖人vs老鹰全场回放》文档。则按照目前的训练样本生成方法,基于点击率对原始的query-doc对进行相关性标识,可以得到相关样本包括:“nba湖人vs老鹰”-文档2;不相关样本包括:“nba湖人vs老鹰”-文档1、“nba湖人vs老鹰”-文档3、“nba湖人vs老鹰”-文档4。而采用本申请实施例提供的方法,经过如图11所示的过程,从多个客户端的海量历史搜索记录中提取出多个历史搜索会话信息,根据多个历史搜索会话信息构建有向图或二部图作为图模型,根据图模型计算多个历史搜索会话信息中每个query与每个doc的向量表示;然后对每个query与每个doc进行重新组合,得到组合数据,并根据每个query与每个doc的向量表示,对重新组合的query-doc组合数据进行相似度标注,得到每个query-doc组合数据的label,进而得到多个query-doc-label的三元数组作为训练样本集。示例性的,使用本申请实施例中的方法,可以产生的相关样本包括:“nba湖人vs老鹰”-文档2;“nba湖人vs老鹰”-《nba湖人vs老鹰精彩集锦》等等,不相关样本包括:“nba湖人vs老鹰”-文档1、“nba湖人vs老鹰”-文档3、“nba湖人vs老鹰”-文档4、“nba湖人vs老鹰”-《调皮猫咪跑到老鹰窝里玩耍》。

可以看出,本申请实施例的方法产生的相关样本或不相关样本可以是从未在历史搜索会话信息中出现过的query-doc对,因此受到搜索排序模型的影响较小;并且,本申请实施例中的不相关样本同样带有“老鹰”的语义信息,且与搜索词中的“老鹰”指代不同实体,从而更多的保留了语义信息,相较于传统方法提取的训练样本,本文提出的方法效率更高,准确率亦较好,并且带有明显的语义信息。

下面继续说明本申请实施例提供的文本匹配装置455的实施为软件模块的示例性结构,在一些实施例中,如图12所示,存储在存储器450的文本匹配装置455中的软件模块可以包括:

接收模块4551,用于接收每个客户端提交的搜索词;

文本匹配模型4552,用于根据所述搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个匹配文档;所述文本匹配模型所使用的训练样本集中的训练样本为历史搜索会话信息中的历史搜索词与历史匹配文档组合得到的组合数据;所述训练样本的标注信息是通过图模型,计算出所述历史搜索词与所述历史匹配文档的向量表示,并基于所述向量表示对所述组合数据进行相关性的分类标注得到的;所述图模型由多个历史搜索会话信息构建得到,所述图模型表征历史搜索词与历史匹配文档的点击关系;

推送模块4553,用于根据所述至少一个匹配文档生成搜索结果页面,将所述搜索结果页面对应推送到所述每个客户端进行显示。

在一些实施例中,所述文本匹配装置还包括训练样本生成模块,所述训练样本生成模块,用于所述根据所述搜索词,使用文本匹配模型从预设文档资源库中匹配出至少一个目标文档之前,从预设历史搜索记录库中提取带有点击事件的多个历史搜索会话信息;所述多个历史搜索会话信息中的每个历史搜索会话信息包含历史搜索词以及与所述历史搜索词对应的至少一个历史匹配文档;将所述多个历史搜索会话信息中每个历史搜索词和每个历史匹配文档作为点元素,根据所述每个历史搜索会话信息中历史搜索词与至少一个历史匹配文档的点击关系得到所述点元素之间的连接关系,从而构建得到所述图模型;基于所述图模型计算出所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示;将所述每个历史搜索词与所述每个历史匹配文档进行组合,得到组合数据集合;基于所述搜索词向量表示与所述文档向量表示,得到所述组合数据中每个组合数据的相似度,基于所述相似度对所述每个组合数据进行分类标注,得到训练样本集;使用所述训练样本集对初始文本匹配模型进行训练,得到所述文本匹配模型。

在一些实施例中,所述训练样本生成模块,还用于对于所述每个组合数据,根据该组合数据中历史搜索词的搜索词向量表示与历史匹配文档的文档向量表示,计算所述每个组合数据对应的余弦距离;当所述余弦距离大于第一预设距离阈值时,将所述每个组合数据标注为相关样本;或者,当所述余弦距离小于第二预设距离阈值时,将所述每个组合数据标注为不相关样本;其中,所述第一预设距离阈值大于所述第二距离阈值;将每个标注后的组合数据作为一个训练样本,进而得到所述训练样本集。

在一些实施例中,所述每个历史搜索会话信息包含所述历史搜索词与所述至少一个历史匹配文档的行为序列信息,所述行为序列信息表征所述历史搜索词与所述至少一个历史匹配文档对应的出现顺序;所述训练样本生成模块,还用于将所述每个历史搜索词与所述每个历史匹配文档作为点元素,在所述每个历史搜索会话信息中,根据该历史搜索会话信息包含的行为序列信息,得到该历史搜索会话信息对应的点元素之间的相邻次序关系;根据所述相邻次序关系,得到该历史搜索会话信息对应的点元素之间的有向连接路径,进而根据所述每个历史搜索会话信息构建出有向图模型作为所述图模型。

在一些实施例中,所述训练样本生成模块,还用于以所述点元素集合中的每个点元素为起点,根据所述连接路径在所述有向图模型中进行随机寻路并记录为当前寻路路径,当寻路至无其他连接路径的点元素,或所述当前寻路路径的长度达到预设长度阈值时,生成所述每个点元素对应的当前寻路序列,进而得到寻路序列集合;使用序列向量转换算法,在所述寻路序列集合中,计算得到每个寻路序列中每个点元素的向量表示,进而得到所述每个历史搜索词的搜索词向量表示,以及所述每个历史匹配文档的文档向量表示。

在一些实施例中,,所述每个历史搜索会话信息包含所述历史搜索词与所述至少一个历史匹配文档的点击关系,所述训练样本生成模块,还用于在所述每个历史搜索会话信息中,根据所述点击关系,得到该历史搜索会话信息对应的点元素之间的连接关系,根据所述连接关系得到构建出点击二部图作为所述图模型。

在一些实施例中,所述训练样本生成模块,还用于对所述每个历史搜索词进行分词,基于所述每个历史搜索词的分词结果,得到每个历史搜索词的初始搜索词向量表示;在首轮迭代过程中,在所述点击二部图中,对于所述每个历史匹配文档,使用与所述每个历史匹配文档有连接关系的历史搜索词的初始搜索词向量表示进行加权平均,得到每个历史匹配文档的初始文档向量表示;在所述点击二部图中,对于所述每个历史搜索词,使用与所述每个历史搜索词有连接关系的历史匹配文档的初始文档向量表示进行加权平均,得到每个历史搜索词的中间搜索词向量表示;基于所述每个历史搜索词的中间搜索词向量表示进行下一轮迭代,在下一轮迭代过程中,根据所述中间搜索词向量表示更新所述每个历史匹配文档的初始文档向量表示,得到所述每个历史匹配文档的中间文档向量表示,持续迭代直至达到预设迭代条件时,得到所述每个历史搜索词的搜索词向量表示与所述每个历史匹配文档的文档向量表示。

需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的文本匹配方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4-9示出的方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标注语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,通过本申请实施例,文本匹配装置可以基于海量的历史搜索会话信息,构建出可以表征每个历史搜索词与每个历史匹配文档之间的关联关系的图模型,并通过图模型计算出每个历史搜索词与每个历史匹配文档的向量表示,从而可以利用每个历史搜索词与每个历史匹配文档的各自向量表示,对由历史搜索词与历史匹配文档进行重新组合所得到的组合数据的相关性进行计算,从而既可以获得历史搜索会话信息中从未出现的大量历史搜索词与历史匹配文档的组合数据,提高了训练样本集的多样性,又能根据每个历史搜索词与每个历史匹配文档的各自向量表示,挖掘出每个组合数据中历史搜索词与历史匹配文档之间的相关性,并基于相关性对每个组合数据对进行自动准确的标注,从而可以提高训练样本集的生成效率与准确性,并可以使得生成的训练样本集带有更多的语义信息。因此,使用本申请实施例的方法生成的训练样本集可以使得文本匹配模型在语义理解和鲁棒性上的效果更好,进而提高了文本匹配的准确性。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种电力用户画像生成方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!