掌桥专利:专业的专利平台
掌桥专利
首页

语义匹配方法、装置、服务器及计算机可读存储介质

文献发布时间:2024-01-17 01:15:20


语义匹配方法、装置、服务器及计算机可读存储介质

技术领域

本申请涉及语义搜索技术领域,具体涉及一种语义匹配方法、装置、服务器及计算机可读存储介质。

背景技术

语义搜索,是指搜索引擎的工作不再拘泥于用户所输入请求语句的字面本身,而是透过现象看本质,准确地捕捉到用户所输入语句后面的真正意图,并以此来进行搜索,从而更准确地向用户返回最符合其需求的搜索结果。

传统的语义搜索任务中都是以语义相似句子对的语料去训练语义搜索模型,将搜索任务输入训练好的语义搜索模型中得到搜索结果,其中,训练所用到的语料需要人工来构建,且人工建构的语料是具有一定长度的句子对,这种以语义相似句子对的语料去训练语义搜索任务的方式需要消费大量的人力、物力,导致开发成本高,且训练好的模型搜索效率低。

发明内容

本申请实施例提供一种语义匹配方法、装置、服务器及计算机可读存储介质,在节省开发成本的同时,提高了匹配效率。

一方面,本申请提供一种语义匹配方法,包括:

获取目标文本中的关键词;

将关键词输入已训练的语义匹配模型进行处理,输出目标文本对应的语义匹配结果。

一方面,本申请提供一种语义匹配装置,包括:

获取单元,用于获取目标文本中的关键词;

输出单元,用于将关键词输入已训练的语义匹配模型进行处理,输出目标文本对应的语义匹配结果。

一方面,本申请实施例提供了一种服务器,服务器包括存储器、处理器以及存储于存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述语义匹配方法中的步骤。

一方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述语义匹配方法中的步骤。

本申请实施例提供了一种语义匹配方法、装置、服务器及计算机可读存储介质。本申请的语义匹配方法只需要获取目标文本中的关键词,再调用训练好的语义匹配模型进行相似度匹配,就能得到匹配结果,无需获取整个目标文本来进行匹配,因此本申请中的语义匹配方法效率更高。且本申请中训练好的语义匹配模型是由短语料组成的关联词样本集训练得到的,相较于由人工得到的长语料组成的样本集训练得到的模型,本申请中的语义匹配模型开发成本更低。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的语义匹配系统的场景示意图。

图2是本申请实施例提供的语义匹配方法的第一种流程图示意图。

图3a是本申请实施例提供的语义匹配方法的第二种流程图示意图。

图3b是本申请实施例提供的语义匹配方法的第三种流程图示意图。

图3c是本申请实施例提供的语义匹配方法的第四种流程图示意图。

图4是本申请实施例提供的语义匹配装置的结构示意图。

图5是本申请实施例提供的服务器结构示意图。

图6是本申请实施例提供的语义匹配模型的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而非用于描述特定的顺序。

本申请实施例中,语义搜索是指搜索引擎的工作不再拘泥于用户所输入请求语句的字面本身,而是透过现象看本质,准确地捕捉到用户所输入语句后面的真正意图,并以此来进行搜索,从而更准确地向用户返回最符合其需求的搜索结果,语义搜索被广泛运用,例如在搜索网站上输入问题“乔峰是什么电视剧中的角色”,搜索网站的服务器将会把数据库中的各个电视剧名与“乔峰”进行匹配,最终输入匹配度较高的一个电视剧名或多个匹配度较高的电视剧名。

请参阅图1,图1是本申请实施例提供的语义匹配系统的场景示意图;请参阅图1,仅以语义匹配装置集成在服务器中为例,首先,当用户在搜索引擎中输入目标文本后,将目标文本中的关键词提取出来,目标文本可以是一句话也可以是一个词,提取关键词的方法包括但不局限于通过分词模块提取。搜索引擎的服务器11获取从目标文本中提取的关键词后,将提取的关键词输入已训练的语义匹配模型进行处理,输出目标文本对应的语义匹配结果。例如用户输入的目标文本是“乔峰是什么电视剧中的人物”,关键词为“乔峰”,最终得到的匹配结果中包括“天龙八部”,以及“天龙八部”与“乔峰”对应的相似度。

需要说明的是,图1所示的语义匹配系统的场景示意图仅仅是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

请参阅图2,图2是本申请实施例提供的语义匹配方法的第一种流程示意图,该方法可以运用在一个或者多个服务器内;请参阅图2,该语义匹配方法包括以下步骤:

步骤201:获取目标文本中的关键词。

在本申请中目标文本可以是一句话也可以是一个词,当用户在搜索引擎中输入目标文本后,搜索引擎的服务器在对目标文本与数据库中的数据进行匹配之前,需要获取目标文本中的关键词,利用关键词与数据库中的数据进行匹配,得到匹配结果,当目标文本为一个词时该词时关键词,服务器直接获取关键词。在一种实施例中,获取目标文本的步骤,包括:

通过分词模块获取目标本文中的关键词。

步骤202:将关键词输入已训练的语义匹配模型进行处理,输出目标文本对应的语义匹配结果。

在本申请中语义匹配模型是用来将匹配文本目标中的关键词分别与数据库中的数据进行匹配,最终得到目标文本对应的语义匹配结果。

通过大量的样本数据对语义匹配模型进行训练,得到能自动进行语义匹配的语义匹配模型,语义匹配模型的具体结构在此不做限定,只要能自动进行语义匹配即可。

请参阅图3a,图3a是本申请实施例提供的语义匹配方法的第二种流程示意图,该方法可以运用在一个或者多个服务器内,已训练的语义匹配模型包括左塔模块、右塔模块和语义匹配模块;步骤202还包括以下步骤:

步骤2021:通过左塔模块对关键词进行向量化处理,得到关键词向量。

由于输入语义匹配模型中的关键词是机器无法识别的词,因此需要先将关键词进行向量化处理,得到机器可以识别的关键词向量。

在一种实施例中,左塔模块包括特征提取模块和第一全连接模块;通过左塔模块对关键词进行向量化处理,得到关键词向量,包括:

通过特征提取模块对关键词进行语义和语法提取,得到特征词;

通过第一全连接模块对特征词进行向量化处理,得到关键词向量。

步骤2022:获取右塔模块的匹配数据库中的待匹配向量。

在本申请中匹配数据库中待匹配向量包括与目标文本同一领域的向量,例如:目标文本为“乔峰是什么电视中的角色”,目标文本为电视剧领域,因此待匹配向量包括电视剧领域的向量。

在一种实施例中,关键词向量至少有2个,通过匹配模块对关键词向量与待匹配向量进行相似度匹配处理,得到匹配结果,包括:通过匹配模块分别对各关键词向量与待匹配向量进行相似度匹配处理,得到各关键词向量对应的匹配词向量;通过综合处理模块对匹配词向量进行综合处理,得到匹配结果。例如,目标文本为“中国的首都在什么城市”,关键词为“中国”、“首都”、“城市”,将“中国”、“首都”、“城市”三个关键词对应的关键词向量分别输入语义匹配模型中进行匹配,分别得到中国对应的匹配词向量、首都对应的匹配词向量、城市对应的匹配词向量,再通过综合处理模块对上述三个匹配词向量进行综合处理得到匹配结果,匹配结果中包括“北京”,以及“北京”对应的相似度。

在一种实施例中,获取右塔模块的匹配数据库中的待匹配向量的步骤,包括:获取待匹配词;通过右塔模块对待匹配词进行向量化处理,得到待匹配向量,并将待匹配向量存储在右塔模块的匹配数据库中。

步骤2023:通过语义匹配模块对关键词向量与待匹配向量进行相似度匹配处理,得到目标文本对应的语义匹配结果。

在一种实施例中,通过语义匹配模块对关键词向量与待匹配向量进行相似度匹配处理,得到目标文本对应的语义匹配结果,包括:

通过语义匹配模块对关键词向量与待匹配向量进行相似度匹配处理,得到各待匹配向量分别与关键词向量对应的相似度;

根据相似度、第二相似度阈值以及第三预设数量,得到目标文本对应的语义匹配结果。

在匹配过程中,待匹配向量为多种,因此需要通过匹配模块对关键词向量与待匹配向量进行相似度匹配处理,得到各待匹配向量分别与关键词向量对应的相似度,再根据相似度、第二相似度阈值以及第三预设数量,确定与关键词匹配的目标词。例如关键词为“乔峰”,假设第三预设数量为3,低于相似度阈值为0.8,将关键词向量与待匹配向量进行匹配,得到“乔峰”与“天龙八部”的相似度为0.9,“乔峰”与“射雕英雄传”的相似度为0.3,“乔峰”与“三国演义”的相似度为0.1,上述满足第二相似度阈值的为“天龙八部”,因此,匹配结果为“天龙八部”。

请参阅图3b,图3b是本申请实施例提供的语义匹配方法的第三种流程示意图,该方法可以运用在一个或者多个服务器内;在步骤202之前,方法还包括以下步骤:

步骤203:获取关联词样本集。

在本申请中关联词样本集中包括多对关联词样本,关联词样本词用来训练语义匹配模型。

如图3c所示是本申请实施例提供的语义匹配方法的第四种流程图示意图,关联词样本集包括正样本对和负样本对,步骤203包括下次几个步骤。

步骤2031:获取多个关联词组。

获取关联词组,包括:

获取基准词对应的基准词向量;

确定与基准词向量对应的第一预设数量的相关词向量;

计算得到基准词向量与各个相关词向量之间的相似度;

基于第一相似度阈值、第二预设数量以及基准词向量与各个相关词向量之间的相似度,得到第一预设数量的相关词向量中的候选关联词向量;

将满足预设语料条件的候选关联词向量,确定为关联词向量;

根据关联词向量得到多个关联词组。

在本申请中基准词为任意领域的词,在此不做限定,可以是电视剧领域的名词,如“乔峰”,也可以运动领域的词,如“运动”,也可以是某种形容词,如“筋疲力尽”,首先获取若干个基准词,再基于词向量文本,得到与基准词向量对应的预设数量的相关词向量,例如基准词为“运动”的相关词向量为综合体育、赛事运营、体育公司、全面健身、体育、体育赛事活动、品牌赛事、篮球、划船、球赛等等,其中,词向量文本中包括不同领域的文本向量,至少包含与基准词相关的文本向量,第二预设数量根据实际情况而定,在此不做限定,例如可以是50个也可以是10个。

在得到相关词向量之后,根据相似度计算公式得到基准词向量分别与相关词向量的相似度,以上为例,假设第一预设数量为10,分别计算运动与综合体育、赛事运营、体育公司、全面健身、体育、体育赛事活动、品牌赛事、篮球、划船、球赛的相似度。其中,相似度计算公式可以是余弦相似度计算公式,具体公式在此不做限定。

在得到基准词与各相关词向量的相似度之后,基于第一相似度阈值和第二预设数量,得到相关词向量中的候选关联词向量,其中相似度阈值大于等于零且小于或等于1,第二预设数量小于或等于第一预设数量。例如,相似度阈值为0.7,第二预设数量为7,假设基准词“运动”与“综合体育”、“赛事运营”、“体育公司”、“全面健身”、“体育”、“体育赛事活动”、“品牌赛事”、“篮球”、“划船”、“球赛”的相似度分别是0.9、0.86、0.85、0.84、0.88、0.8、0.8、078、0.78、0.79,因此,上述相关词向量都满足相似度阈值。如果超过相似度阈值的词的个数大于第二预设数量,则根据相似度从高到底选择满足第二预设数量的词,如果超过相似度阈值的词的个数小于第二预设数量,则选取超过相似度阈值的个数,如果没有超过相似度阈值个数,则返回空。则从上述相关词向量中按照相似度高到低的训练选择7个候选关联词向量,即候选关联词为综合体育、赛事运营、体育公司、全面健身、体育、体育赛事活动、品牌赛事。

在确定候选关联词向量之后,将满足预设语料条件的候选关联词向量确定为关联词向量,预设预料条件为:1、关联词之间向量以“>>”连接,且以“>>”连接的词语之间都为关联词;2、关联词之间满足字面意思相似或不同,但是语义要保持近似或相同或关联,如:运动和体育;3、关联词不包括实体姓名,词如宋江>>李逵>>林冲,类似预料不允许出现,但是例如宋江>>梁山泊>>水浒传,类似的关联词是允许出现。

由于以上7个候选关联词向量都满足预设语料条件,因此上述7个候选关联词向量都为关联词向量,组成的关联词组为:运动>>综合体育>>赛事运营>>体育公司>>全面健身>>体育>>体育赛事活动>>品牌赛事。

步骤2032:从同一关联词组中确定正样本对,从不同关联词组中确定负样本对。

在获取到关联组词后,从同一组关联词组中确定正样本对,从不同组关联词组中确定负样本对,假设关联词组1:运动>>综合体育>>赛事运营>>体育公司>>全面健身>>体育>>体育赛事活动>>品牌赛事;关联词组2:电视>>广播电视公司>>电视频道。从关联词组1从随机获取连续两个关联词组成正样本对,例如:运动>>综合体育,从关联词组1和关联词组2中随机获取两个关联词组成负样本对,例如运动>>广播电视公司。

在一种事实例中,关联词样本集中还包括难分负样本对,从同一关联词组中确定正样本对,从不同关联词组中确定负样本对之后,方法还包括:

从难分负样本集合中得到难分负样本对。

在实际训练的过程中会出现其中某一些负样本容易被模型学习为正样本的情况,我们称之为的难分类负样本对(本身为负样本对,模型容易分到正样本对),例如:神话>>与神对话、相亲>>亲情,我们为了模型更有针对性的学习此类负样本,专门构造了一个难分负样本集,从难分负样本集合中得到难分负样本对加入到关联词样本集中,其中,关联词样本集中正样本对、负样本对、难分负样本对的各自占比在此不做限定,可根据具体情况来进行调整。

步骤204:通过关联词样本集对未训练的语义匹配模型进行训练,得到已训练的语义匹配模型。

在一种实施中,通过关联词样本集对未训练的语义匹配模型进行训练,得到已训练的语义匹配模型,包括:

根据关联词样本集对未训练的语义匹配模型进行训练,得到关联词样本集中样本的学习正确率;

根据学习正确率更新关联词样本集包括的正样本对和负样本对的比例,得到更新后的关联词样本集;

根据更新后的关联词样本集对语义匹配模型进行训练,直至当前更新后关联词样本集中样本的学习正确率大于或等于预设的学习正确率,得到已训练的语义匹配模型。

在实际训练过程中可以通过模型对样本集的学习正确率,来动态调整样本集中正负样本对所占的比例,开始训练时,样本集中的正负样本对个数相同,在训练的过程中我们动态地计算样本集中样本的学习正确率,主要以算出来每个样本集中负样本的错误率为调节依据动态调节PSR值,例如模型在训练的过程中将负样本的相似度预测高于0.5,我们定义该负样本对预测错误。如果负样本错误率高了,说明负样本没有学会,那么更新样本集中的正负样本对的比例,使得负样本对占据的比例会越来越大。如果负样本错误率低,说明模型对负样本学习的很好,那么更新样本集中的正负样本对的比例,使得正样本对占据的比例会越来越大。这种动态地生成正负样本个数的方法,对模型学习正负样本的能力起着一个很好地平衡,对模型的准确率有着很大的提升。

在一种实施中,关联词样本集中包括样本对及样本对对应的样本对标签;通过关联词样本集对未训练的语义匹配模型进行训练,得到已训练的语义匹配模型,包括:

通过未训练的语义匹配模型对关联词样本集包括的样本对进行匹配处理,得到样本对对应的相似值;

根据样本对标签、相似值、损失函数以及预设损失值,对未训练的语义匹配模型进行参数训练,得到目标参数;

根据目标参数,得到已训练的语义匹配模型。

在实际训练过程中一般会将正样本对的标签设定为1,负样本对的标签设定为0,将样本集中的样本对输入待训练的语义匹配模型之后,通过待训练的语义匹配模型对关联词样本集中的样本对进行匹配处理,得到样本对对应的相似值,根据损失函数计算每个样本对的样本对标签与对应的相似值之间的目标损失值,并根据目标损失值实时优化待训练的语义匹配模型的模型参数,当目标损失值小于或等于预设损失值时,则待训练的语义匹配模型参数为目标参数,最后,根据目标参数,得到训练好的语义匹配模型。

本申请实施例提供了一种语义匹配方法,首先获取目标文本中的关键词,再,再将关键词输入已训练的语义匹配模型进行处理,输出目标文本对应的语义匹配结果。本申请中只需要获取目标文本中的关键词,再调用训练好的语义匹配模型进行相似度匹配,就能得到匹配结果,无需获取整个目标文本来进行匹配,且本申请中训练语义匹配模型所用到的关联词样本集中的样本对是自动获取的短语料,无需人工获取长预料的训练样本集,在节省开发成本的同时,提高了匹配的效率。

在上述实施例方法的基础上,本实施例将从语义匹配装置的角度进一步进行描述,请参阅图4,图4具体描述了本申请实施例提供的语义匹配装置,其可以包括:

获取单元401,用于获取目标文本中的关键词;

输出单元402,用于将关键词输入已训练的语义匹配模型进行处理,输出目标文本对应的语义匹配结果。

在一种实施例中,输出单元402,包括:

处理子单元,用于通过左塔模块对关键词进行向量化处理,得到关键词向量;

获取子单元,用于获取右塔模块的匹配数据库中的待匹配向量;

匹配子单元,用于通过语义匹配模块对关键词向量与待匹配向量进行相似度匹配处理,得到目标文本对应的语义匹配结果。

本申请实施例还提供一种服务器,如图5所示,为本申请实施例提供的服务器的结构示意图,具体来讲:

该服务器包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源504和输入单元503等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。

存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。

服务器还包括给各个部件供电的电源504,优选的,电源504可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源504还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入单元503,该输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,服务器还可以包括显示处理器等,在此不再赘述。具体在本实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:

获取目标文本中的关键词;

将关键词输入已训练的语义匹配模型进行处理,输出目标文本对应的语义匹配结果。

图6是本申请实施例提供的语义匹配模型的结构示意图,语义匹配模型包括左塔模块、右塔模块以及匹配模块,其中,左塔模块包括特征提取模块和第一全连接模块,右塔模块包括特征提取模块和第二全连接模块,其中,特征提取模块为左塔模块和右塔模块所共用的模块。特征提取模块包括但不局限Transformer、CNN、LSTM、MLP等神经网络模块。其中,特征提取模块中的参数可以根据具体的任务应用场景和任务需求给定,特征提取模块的参数在左右两塔之间共享,训练时候参数同时优化更新。在特征提取模块的后面接入两个全连接模块,该模块称为非共享模块,全连接模块的维度为H,H的参数大小也根据相应任务场景和具体的任务需求给定,第一全连接模块和第二全连接模块之间的参数不共享,训练的时候参数同时更新。通过双塔模型的共享部分参数和非共享参数,去学习两个向量的相似性,结合共享模块和非共享模块的匹配模型的匹配准确率更高。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对语义匹配方法的详细描述,此处不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现本申请实施例所提供的任一种语义匹配方法中的步骤。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该计算器可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种语义匹配方法的步骤,因此,可以实现本申请实施例所提供的任一种语义匹配方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

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

以上对本申请实施例所提供的一种语义匹配方法、装置、服务器及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

技术分类

06120116083665