实体检索方法、存储介质和电子设备与流程

文档序号:17950860发布日期:2019-06-19 00:01阅读:152来源:国知局
实体检索方法、存储介质和电子设备与流程

本发明涉及信息处理技术领域,具体涉及一种实体检索方法、存储介质和电子设备。



背景技术:

随着互联网技术的不断发展,通过网页查找信息已成为人们获取信息最常用的方式。目前,基于知识图谱的信息检索引擎得到了大力发展和普及,例如谷歌、百度等,均是基于知识图谱来对信息进行检索的。将知识图谱与信息检索进行结合能够快速获取更多的信息,是一种较高效的信息检索方法。

现有技术通常通过采用将检索词与知识图谱中的实体及实体属性进行关键词匹配来获取需要查询的信息,但由于知识图谱中的实体和实体属性的数量较大,且实体和实体属性的概念会随着时间的发展产生变化,基于关键词匹配的信息检索方法准确性会逐渐降低。



技术实现要素:

有鉴于此,本发明实施例提出一种实体检索方法、存储介质和电子设备,可以在不影响检索时间的情况下提升信息检索的准确性。

根据本发明实施例的第一方面,提供一种实体检索方法,所述方法包括:

获取检索词对应的第一词向量;

遍历第二词向量集合和第三词向量集合,确定与所述第一词向量相似的多个第二词向量和第三词向量,其中,所述第二词向量集合包括预定的知识图谱中实体对应的词向量,所述第三词向量集合包括所述知识图谱中实体属性对应的词向量;

根据所述第一词向量和预定的匹配模型获取所述相似的多个第二词向量和第三词向量的排序结果;以及

根据所述排序结果确定所述检索词对应的实体。

优选地,所述第一词向量、所述第二词向量和所述第三词向量通过词向量生成模型获得。

优选地,所述第二词向量集合还包括与所述实体相关联的行业热词对应的词向量。

优选地,所述词向量生成模型根据样本预先训练获得,所述样本包括样本词和对应的样本词向量。

优选地,确定与所述第一词向量相似的多个第二词向量和第三词向量包括:

分别计算所述第一词向量与每个所述第二词向量及每个所述第三词向量的相似度;

选取所述相似度满足预定条件的多个所述第二词向量和所述第三词向量作为所述相似的多个第二词向量和第三词向量。

优选地,根据所述第一词向量和预定的匹配模型获取所述相似的多个第二词向量和第三词向量的排序结果包括:

根据所述第一词向量和所述预定的匹配模型获取所述第一词向量与所述相似的多个第二词向量和第三词向量的匹配概率;

按所述匹配概率对对应的所述相似的多个第二词向量和第三词向量进行排序,将排序后的匹配概率作为所述排序结果。

优选地,所述预定的匹配模型根据样本集合预先训练获得,所述样本集合中的每个样本包括一个所述第二词向量和一个随机选择的所述第三词向量及对应的匹配结果,所述匹配结果用于表征所述训练样本中的实体和实体属性是否匹配。

根据本发明实施例的第二方面,提供一种计算机可读存储介质,其上存储计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。

根据本发明实施例的第三方面,提供一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面所述的方法。

本发明实施例通过获取检索词对应的第一词向量,并遍历第二词向量集合和第三词向量集合,确定与所述第一词向量相似的多个第二词向量和第三词向量,其中,所述第二词向量集合包括预定的知识图谱中实体对应的词向量,所述第三词向量集合包括所述知识图谱中实体属性对应的词向量,从而根据所述第一词向量和预定的匹配模型获取所述相似的多个第二词向量和第三词向量的排序结果,进而根据所述排序结果确定所述检索词对应的实体。由此,可以提升信息检索的准确性。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本发明实施例的实体检索方法的流程图;

图2是本发明实施例的方法确定相似的多个第二词向量和第三词向量的流程图;

图3是本发明实施例的方法获取所述相似的多个第二词向量和第三词向量的排序结果的流程图;

图4是本发明实施例的电子设备的示意图。

具体实施方式

以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

图1是本发明实施例的实体检索方法的流程图。在本实施例中,以基于知识图谱和词向量的实体检索过程为例进行说明。用户在进行实体检索时,现有的搜索引擎通常将检索词与知识图谱中的实体及实体属性进行关键词匹配来获取需要查询的信息,但由于知识图谱中的实体和实体属性的数量较大,且实体和实体属性的概念会随着时间的发展产生变化,基于关键词匹配的信息检索方法准确性会逐渐降低。

如图1所示,本实施例的方法包括如下步骤:

步骤s100,获取检索词对应的第一词向量。

在自然语言处理(nlp)中,每一个词均由对应的词向量表示,词向量是词汇表中的单词或短语被映射到实数的向量,用于表征对应的词的含义。在本步骤中,获取的词向量能够充分表征对应的词与上下文之间的相关性。

步骤s200,遍历第二词向量集合和第三词向量集合,确定与所述第一词向量相似的多个第二词向量和第三词向量,其中,所述第二词向量集合包括预定的知识图谱中实体对应的词向量,所述第三词向量集合包括所述知识图谱中实体属性对应的词向量。

在步骤s100和步骤s200中,所述第一词向量、所述第二词向量和所述第三词向量通过词向量生成模型获得。所述词向量生成模型可以采用各种算法获得,例如cbow(连续词袋模型,continuousbag-of-word)、lbl(对数双线性语言模型,log-bilinearlanguage)、nnlm(神经网络语言模型,neuralnetworklanguagemodel)、skip-gram等。具体地,所述词向量生成模型根据样本预先训练获得,所述样本包括样本词和对应的样本词向量。在本实施例中,采用skip-gram作为词向量生成模型。skip-gram实质上是一个权重(也即,概率)矩阵,输出的词向量中的每一个值能够表示在输入的词的上下文中出现预定词的概率。例如输入的词为“柠檬”,输出的词向量中“酸”对应的值(也即,上下文中出现“酸”的概率)会较高,如0.9,“甜”对应的值(也即,上下文中出现“甜”的概率)会较低,如0.25,能够清晰地反映输入的词与上下文的相关性。且skip-gram能够较较简便地获取每个词对应的词向量。例如“柠檬”是整个模型词表中的第二个词,则权重矩阵中的第二行对应了“柠檬”的词向量。应理解,词向量的维数越高对于对应的词的特征描述越准确,维数越低计算量越低,因此可以根据计算能力和实际需要确定生成的词向量的维数。

在步骤s200中,词向量之间的相似性能够表征对应的词之间的相关程度,词向量之间的相似性越高,对应的词之间的相关程度越高,获取的实体检索结果越准确。实体是指客观存在可以相互区别的事物,实体属性能够表示实体的某一部分特征,实体属性既可以是另一实体,也可以是实体与另一实体的关系,例如实体为“徐峥”,对应的实体属性可以为“演员”、“黄渤的好友”等。

在一个可选的实现方式中,第二词向量集合还包括与所述实体相关联的行业热词对应的词向量。行业热词用于消除预定的知识图谱中的预定词的歧义。例如,将热词“山争哥哥”与演员徐峥相关联,在对实体“徐峥”进行检索时可以同时获取与“徐峥”和“山争哥哥”有关的信息。具体地,可以通过有监督分类器消除歧义(如贝叶斯分类器)、基于词典消除歧义和无监督消除歧义等方式消除预定的知识图谱中预定词的歧义。

图2是本发明实施例的方法确定相似的多个第二词向量和第三词向量的流程图。如图2所示,步骤s200可以包括:

步骤s210,分别计算所述第一词向量与所述第二词向量及所述第三词向量的相似度。

在本步骤中,可以采用各种方式衡量词向量之间的相似度,例如欧式距离(euclideandistance)、曼哈顿距离(manhattandistance)、明可夫斯基距离(minkowskidistance)、余弦相似度(cosinesimilarity)、杰卡德相似度(jaccardsimilarity)、皮尔森相关系数(pearsoncorrelationcoefficient)等。

步骤s220,选取所述相似度满足预定条件的多个所述第二词向量和所述第三词向量作为所述相似的多个第二词向量和第三词向量。

在本步骤中,根据在步骤s210中选取的相似度衡量方式确定对应的预定条件。例如,采用距离衡量词向量之间的相似性时,对应的预定条件为距离小于预定阈值。采用余弦相似度衡量词向量之间的相似性时,对应的预定条件为余弦值大于预定阈值。在相似度满足预定条件时,将对应的多个第二词向量和第三词向量作为与第一词向量相似的多个第二词向量和第三词向量。

步骤s300,根据所述第一词向量和预定的匹配模型获取所述相似的多个第二词向量和第三词向量的排序结果。

在本步骤中,对相似的多个第二词向量和第三词向量进行排序并获得排序结果,排序结果能够表示第一词向量与多个第二词向量和第三词向量的匹配程度,排序结果越靠前匹配程度越高。

图3是本发明实施例的方法获取所述相似的多个第二词向量和第三词向量的排序结果的流程图。如图3所示,步骤s300可以包括:

步骤s310,根据所述第一词向量和所述预定的匹配模型获取所述第一词向量与所述相似的多个第二词向量和第三词向量的匹配概率。

在本步骤中,预定的匹配模型用于获取第一词向量与第二词向量、第一词向量与第三词向量的匹配概率。匹配概率能够进一步表征相关的词向量之间的匹配程度,进而表征对应的词之间的匹配程度,提升实体检索的准确性。具体地,所述预定的匹配模型根据样本集合预先训练获得,所述样本集合中的每个样本包括一个所述第二词向量和一个随机选择的所述第三词向量及对应的匹配结果,所述匹配结果用于表征所述训练样本中的实体和实体属性是否匹配。更具体地,在训练过程中,匹配模型的输入为一个第二词向量和一个随机选择的第三词向量,输出为两个向量的匹配结果。若两个向量是匹配的,则对应的匹配结果可以为1,若两个向量是不匹配的,则对应的匹配结果可以为0。例如,输入为“徐峥”对应的第一词向量和“光头”对应的第三词向量,输出的匹配结果为1。在本实施例中,匹配模型为mlp(多层神经网络,也即,多层感知器,multi-layerperceptron)。样本集合包括训练样本集合和验证样本集合,训练样本集合用于训练匹配模型,验证样本集合用于验证并提升匹配模型匹配的准确度。可以参考《汉语语音识别说话验证,钟林,清华大学工学硕士学位论文》的第四章《基于mlp估计后验概率的拒识》训练mlp模型并获取匹配概率。获取匹配模型后,模型的输入为第一词向量和随机选择的相似的第二词向量和/或第三词向量,输出为两个向量的匹配概率,匹配概率用于表示第一词向量和随机选择的相似的第二词向量和/或第三词向量的匹配程度。例如,输入为“徐峥”对应的第一词向量和“黄渤”对应的第二词向量,则输出为“徐峥”和“黄渤”的匹配概率,如0.68。应理解,匹配模型不限于mlp,还可以根据其他模型,例如svm(支持向量机,supportvectormachines)、线性回归、逻辑回归、线性判别分析、决策树、k-nn(k-临近,k-nearestneighboranalysis)等,获取第一词向量与相似的多个第二词向量和第三词向量的匹配概率。

步骤s320,按所述匹配概率对对应的所述相似的多个第二词向量和第三词向量进行排序,将排序后的匹配概率作为所述排序结果。

在本步骤中,按匹配概率由大到小对对应的第二词向量和第三词向量进行排序。匹配概率越大,对应的第二词向量或第三词向量与第一词向量的匹配程度越高,因此排序结果越靠前。将排序后的概率作为排序结果。

步骤s400,根据所述排序结果确定所述检索词对应的实体。

经过上述步骤,获取检索词对应的第一词向量及排序后的相似的多个第二词向量和第三词向量后,就可以根据排序结果确定相似的多个第二词向量对应的实体和第三词向量对应的实体属性对应的实体作为检索词对应的实体。排序结果越靠前的实体与检索词的匹配程度越高,准确性越强。

本发明实施例通过获取检索词对应的第一词向量,并遍历第二词向量集合和第三词向量集合,确定与所述第一词向量相似的多个第二词向量和第三词向量,其中,所述第二词向量集合包括预定的知识图谱中实体对应的词向量,所述第三词向量集合包括所述知识图谱中实体属性对应的词向量,从而根据所述第一词向量和预定的匹配模型获取所述相似的多个第二词向量和第三词向量的排序结果,进而根据所述排序结果确定所述检索词对应的实体。由此,可以提升信息检索的准确性。

图4是本发明实施例的电子设备的示意图。图4所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器41和存储器42。处理器41和存储器42通过总线43连接。存储器42适于存储处理器41可执行的指令或程序。处理器41可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器41通过执行存储器42所存储的命令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其他装置的控制。总线43将上述多个组件连接在一起,同时将上述组件连接到显示控制器44和显示装置以及输入/输出(i/o)装置45。输入/输出(i/o)装置45可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出(i/o)装置45通过输入/输出(i/o)控制器46与系统相连。

其中,存储器42可以存储软件组件,例如操作系统、通信模块、交互模块以及应用程序。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。

上述根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应理解,流程图和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。

同时,如本领域技术人员将意识到的,本发明实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本发明实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本发明的方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。

可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤、便携式光盘只读存储器(cd-rom)、光存储装置、磁存储装置或前述的任意适当的组合。在本发明实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。

计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。

用于执行针对本发明各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如java、smalltalk、c++、php、python等;以及常规过程编程语言如“c”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(lan)或广域网(wan)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1