图谱优化方法、装置、终端及存储介质与流程

文档序号:19943656发布日期:2020-02-14 23:33阅读:171来源:国知局
图谱优化方法、装置、终端及存储介质与流程

本发明涉及互联网技术领域,具体涉及计算机处理技术领域,尤其涉及一种图谱优化方法、一种图谱优化装置、一种终端及一种计算机存储介质。



背景技术:

实体词是一种用于表示真实的具体事物,且无法再进行下位的词;一个实体词通常会具有多个上位词,所谓的上位词是指概念上外延更广的主题词;例如,实体词为“波斯猫”,则该实体词的上位词通常包括“猫”“猫科动物”“动物”等。目前,针对具有多个上位词的实体词而言,通常会采用该实体词和相应的多个上位词构建得到该实体词所对应的图谱,以便于后续可使用该图谱执行一系列关于该实体词的业务处理。然而,经研究表明:由于实体词的上位词通常是从互联网数据中获取到的,其可能会存在一些错误的上位词;这些错误的上位词容易导致构建的图谱中数据的噪声较大,从而导致该图谱难以使用。因此,如何对构建得到的图谱进行优化,以提高图谱的准确性成为了研究热点。



技术实现要素:

本发明实施例提供了一种图谱优化方法、装置、终端及计算机存储介质,可以较好地去除图谱中数据的噪声,提高图谱的准确性及使用价值。

一方面,本发明实施例提供了一种图谱优化方法,该图谱优化方法包括:

获取目标实体词的初始图谱,所述初始图谱包括多层节点,底层节点存储所述目标实体词,非底层节点存储所述目标实体词的上位词,连接任意两个节点的边表示所述任意两个节点所存储的词之间的上下位关系;

获取所述初始图谱中的至少一个非底层节点的节点信息,任一非底层节点的节点信息包括:所述非底层节点所存储的上位词位于所述非底层节点当前所在的节点层的概率值,或者所述非底层节点所存储的上位词的类簇;

根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测;

若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱。

另一方面,本发明实施例提供了一种图谱优化装置,该图谱优化装置包括:

获取单元,用于获取目标实体词的初始图谱,所述初始图谱包括多层节点,底层节点存储所述目标实体词,非底层节点存储所述目标实体词的上位词,连接任意两个节点的边表示所述任意两个节点所存储的词之间的上下位关系;

所述获取单元,用于获取所述初始图谱中的至少一个非底层节点的节点信息,任一非底层节点的节点信息包括:所述非底层节点所存储的上位词位于所述非底层节点当前所在的节点层的概率值,或者所述非底层节点所存储的上位词的类簇;

处理单元,用于根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测;

所述处理单元,用于若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱。

再一方面,本发明实施例提供了一种终端,所述终端包括输入设备和输出设备,所述终端还包括:

处理器,适于实现一条或多条指令;以及,

计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:

获取目标实体词的初始图谱,所述初始图谱包括多层节点,底层节点存储所述目标实体词,非底层节点存储所述目标实体词的上位词,连接任意两个节点的边表示所述任意两个节点所存储的词之间的上下位关系;

获取所述初始图谱中的至少一个非底层节点的节点信息,任一非底层节点的节点信息包括:所述非底层节点所存储的上位词位于所述非底层节点当前所在的节点层的概率值,或者所述非底层节点所存储的上位词的类簇;

根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测;

若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱。

再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:

获取目标实体词的初始图谱,所述初始图谱包括多层节点,底层节点存储所述目标实体词,非底层节点存储所述目标实体词的上位词,连接任意两个节点的边表示所述任意两个节点所存储的词之间的上下位关系;

获取所述初始图谱中的至少一个非底层节点的节点信息,任一非底层节点的节点信息包括:所述非底层节点所存储的上位词位于所述非底层节点当前所在的节点层的概率值,或者所述非底层节点所存储的上位词的类簇;

根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测;

若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱。

本发明实施例针对采用目标实体词和多个上位词所构建得到的初始图谱,由于该初始图谱的底层节点存储目标实体词,非底层节点存储目标实体词的上位词;因此,可先获取初始图谱中的至少一个非底层节点的节点信息,然后根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测。若检测到至少一个非底层节点中存在异常节点,则可根据异常节点对初始图谱进行剪枝后处理;通过利用初始图谱的结构特点进行剪枝后处理,可以有效去除初始图谱中错误的上位词(即异常节点所存储的上位词)以及错误的上下位关系,从而保证剪枝后处理所得到的目标图谱具有较高的准确性及使用价值。

附图说明

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

图1a是本发明实施例提供的一种图谱优化方案的示意图;

图1b是本发明实施例提供的一种过滤器的结构示意图;

图1c是本发明实施例提供的一种图谱的示意图;

图2是本发明实施例提供的一种图谱优化方法的流程示意图;

图3是本发明实施例提供的一种剪枝后处理的示意图;

图4是本发明另一实施例提供的一种图谱优化方法的流程示意图;

图5a是本发明实施例提供的一种矩阵分解算法的原理示意图;

图5b是本发明实施例提供的一种对图谱进行主义项标记的示意图;

图5c是本发明实施例提供的一种上下位关系图谱的应用场景图;

图6a是本发明实施例提供的一种方案测试的测试结果示意图;

图6b是本发明另一实施例提供的一种方案测试的测试结果示意图;

图6c是本发明另一实施例提供的一种方案测试的测试结果示意图;

图7是本发明实施例提供的一种图谱优化装置的结构示意图;

图8是本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

图谱是一种由多个相连接的节点所构成的网状的数据结构;每个节点可存储一个词(如实体词、上位词等)。本发明实施例的相关技术提及,目前在构建某目标实体词的图谱时,通常是先从互联网中获取该目标实体词的大量上位词,然后采用获取到的大量上位词和目标实体词直接构建该目标实体词的图谱。发明人在实践中发现,现有的图谱构建方法存在以下问题①-③:

①从互联网中获取的数据噪声较大,容易造成获取到的上位词的准确率较低;而且对于错误的上位词而言,缺乏有效的自检方法,容易导致错误扩散现象;所谓的错误扩散现象是指:根据该错误的上位词所获取到的、与该错误的上位词相连接的其他上位词也是错误的,从而导致该错误的上位词所在的整条路径都是错的。例如,目标实体词为“智能机器人”,若从互联网中获取到了该目标实体词的错误的上位词为“使用价值”,则根据该错误的上位词所获取到的上位词“价值”也必然是错误的,那么“智能机器人→使用价值→价值”这条路径便是一条错误的路径。可见,错误的上位词容易导致构建的图谱中数据的噪声较大,从而导致该图谱难以使用。

②由于互联网中所涉及的网站网页较多,通常是无法搜寻完所有的网站的;因此,这必然会遗漏一些上下位关系,从而导致图谱所包含的上位词不够完整,降低了图谱的准确性。例如,从互联网中只搜寻到“波斯猫→动物”,那么“波斯猫→猫科动物”这一上下位关系便会被遗漏,从而导致图谱中不存在“猫科动物”这一上位词。

③若目标实体词具有一词多义,则对于目标实体词的一词多义性没有足够支持,各个义项的上位词混在一起;其中,义项是指每一个不同概念意义事物的叙述内容;例如,设目标实体词为“波斯猫”,由于“波斯猫”既可以是指一首歌曲的歌名,也可以是指动物的种类,还可以是指一种望远镜的品牌或者一种鸡尾酒的名字;那么该目标实体词则存在:哺乳纲动物、望远镜品牌、同名鸡尾酒、歌曲等多个义项。若将多个义项的上位词混在一起,则对于内容理解、意图识别等需要使用上下位关系的图谱的应用场景而言,会导致无法识别出哪一个义项才是用户真正想要的;可见,这会使得目标实体词的图谱在实际使用中难以被较好地利用。

为了解决上述问题,本发明实施例提出了一种如图1a所示的图谱优化方案;该图谱优化方案可应用在终端中,此处的终端可包括以下任一项:智能手机、平板电脑、膝上计算机、台式计算机,等等。参见图1a所示,本发明实施例所提出的图谱优化方案主要包括以下5项改进点:

(1)新增基于神经网络的过滤器:本发明实施例加入了基于自编码器的神经网络模型作为过滤器;如图1b所示:该过滤器可包括自编码器和分类器。其中,自编码器是一种通过机器学习训练后可将输入复制到输出的神经网络,其内部设有一个隐藏层h,可以产生编码(code)表示输入;该网络可以由以下两部分组成:一个由函数h=f(x)表示的编码器和一个生成重构的解码器r=g(h)。

在使用句式模板匹配的方式挖掘到关于目标实体词的多个候选词对后,可调用该过滤器对多个候选词对的上下位关系进行校验。具体的,可将一对候选词对以及它们对应的预训练的词向量输入至过滤器中,过滤器中的自编码器负责获取该候选词对的语义特征,并根据该语义特征预测该候选词对之间的关系向量;然后通过后续的分类器根据过滤器预测得到的预测关系向量进行是否为正确上下位关系的判断,从而过滤掉存在不正确的上下位关系的候选词对。由此可见,本发明实施例加入该过滤器,可有效过滤掉从互联网中获取到的错误的上位词,从而有效减少大量的数据噪声,保证了图谱的正确性。

(2)关系对扩充:根据已挖掘得到的目标实体词的词对预测新的上下位词对,并通过引入推荐系统的cf算法(collaborativefiltering,协同过滤算法)和mf算法(matrixfactorization,矩阵分解算法)对新的上下位词对进行打分,从而得到扩充的词对(即关系对),有效地进行了关系对(词对)的补充;可使得图谱所包含的上位词的较为完整,可有效提升图谱的准确性。并且,通过对cf算法进行改进并辅助mf算法,还可有效提升关系对扩充的准确率。

(3)层次化构建图谱:采用频繁项挖掘的算法,在大量的具有上下位关系的词对中挖掘得到大量准确的各个上位词之间的关系,从而构建得到层次化图谱;图谱的底层节点存储目标实体词,非底层节点存储目标实体词的上位词,如图1c所示。并且,针对具有多个义项的目标实体词,可将各个义项所对应的上位词分开进行上位词的层次化,从而得到多个义项的初始图谱。

(4)针对图谱的剪枝后处理:提出了基于图结构的两种剪枝算法(如矛盾边剪枝算法和基于统计的贝叶斯概率剪枝算法),并通过利用这两种剪枝算法实现对各初始图谱的剪枝后处理。其中,矛盾剪枝算法的原理为:获取各个非底层节点所存储的上位词的类簇并确定参考节点,将类簇和参考节点对应的类簇不属于同一聚类簇的非底层节点所在的路径作为矛盾边从图谱中去除;此处的类簇是指对词进行聚类所得到的词的类别。基于统计的贝叶斯概率剪枝算法的原理为:计算各个非底层节点(如孤立节点、各路径的顶层节点)所存储的上位词位于该非底层节点当前所在的节点层的概率值,将概率值小于预设的概率阈值所对应的非底层节点所在的路径从图谱中去除。

其中,孤立节点是指出现在第一层(即与底层相邻的节点层)且与第二层中任一节点均无连接的节点,任一路径的顶层节点是指该路径中的最后一个节点。如图1c所示,非底层节点a出现在第一层且和第二层的任一节点均无连接,因此非底层节点a为孤立节点;非底层节点b为路径1的最后一个节点,因此非底层节点b为路径1中的顶层节点。为便于阐述,后续均将孤立节点和顶层节点称为末尾节点(即路径中的最后一个节点);当路径只包括两个节点(即底层节点和一个非底层节点)时,该末尾节点便为上述所提及的孤立节点;当路径只包括至少三个节点(即底层节点和至少两个非底层节点)时,该末尾节点便为上述所提及的该路径中的顶层节点。通过利用图结构的特点进行剪枝后处理,可以进一步地有效去除大量的数据噪声(如初始图谱中错误的上位词以及错误的上下位关系),从而保证剪枝后处理所得到的图谱具有较高的准确性。

(5)图谱主义项标记:针对具有多个义项的目标实体词,可将剪枝处理后的各个图谱进行合并,得到最终的上下位关系图谱。通过计算各义项的优先级来确定主义项,从而实现在最终的上下位关系图谱中标记出主义项所对应的图谱;这样可有效提升图谱在实际应用中的使用价值。

基于上述图谱优化方案的描述,本发明实施例提出一种图谱优化方法,该图谱优化方法可以由上述所提及的终端执行。请参见图2,该图谱优化方法可具体包括以下步骤s201-s204:

s201,获取目标实体词的初始图谱。

此处的目标实体词可以是任一实体词,目标实体词的初始谱图可以是采用包含目标实体词的多个词对进行层次化构建得到的;其中,每个词对可由目标实体词和目标实体词的一个上位词构成。目标实体词的初始图谱可包括多层节点;并且,层数越低的上位词越细化,例如“中国60年代流行歌曲”;相反,层数越高的上位词越泛化,例如“歌曲”“电影”等。

其中,初始图谱的底层节点存储目标实体词,非底层节点存储目标实体词的上位词。连接任意两个节点的边表示任意两个节点所存储的词之间的上下位关系,连接任意两个节点的边均为有向边(即有方向的边);且任意两个节点中被有向边所指向的节点为上位词节点,另一节点则为下位词节点,即任一节点层中的任一节点所连接的有向边可指向该节点的上位词节点。其中,上位词是指概念上外延更广的主题词,下位词是指概念上内涵更窄的主题词;所谓主题词又可称叙词,是在标引和检索中用以表达主题的人工语言,具有概念化和规范化的特征。例如,参见图1c所示的图谱,有向边a连接非底层节点c和非底层节点d,则有向边a可表示非底层节点c所存储的上位词“机器人”和非底层节点d所存储的上位词“科技产品”之间具有上下位关系;具体的,上下位关系为:“科技产品”是“机器人”的上位词,而“机器人”则是“科技产品”的下位词;相应的,在这两个非底层节点中,非底层节点c为下位词节点,非底层节点d为上位词节点。

s202,获取初始图谱中的至少一个非底层节点的节点信息。

经研究表明:若初始图谱中存在错误的上位词,则存储该错误的上位词的节点可认为是异常节点。而由于本发明实施例是采用非底层节点存储目标实体词的上位词的,因此本发明实施例可分别检测用于存储目标实体词的各个上位词的各个非底层节点是否为异常节点,从而检测初始图谱中是否存在错误的上位词。而又由于异常节点的节点信息通常是有问题的,因此本发明实施例可在获取到初始图谱之后,获取初始图谱中的至少一个非底层节点的节点信息,使得后续可根据各非底层节点的节点信息实现对初始图谱中的至少一个非底层节点进行异常节点检测。由于非底层节点的节点信息的获取是影响后续异常节点的检测准确性的一个至关重要的因素,因此为使得获取到的各非底层节点的节点信息对后续异常节点的检测具有较高的作用价值;本发明实施例对大量的错误的上位词以及相应的异常节点进行了研究,并基于研究结果来确定如何获取各非底层节点的节点信息;具体如下:

在一种具体实现中,经研究表明:目标实体词通常会存在多个上位词,若这多个上位词相互矛盾,则这多个上位词中必然存在错误的上位词。例如,针对目标实体词的同一个义项而言,可能会得到“60年代电影”和“60年代歌曲”这两个上位词。由于这两个上位词的类簇是不同的,“60年代电影”的类簇是电影,而“60年代歌曲”的类簇是歌曲,因此这两个上位词是相互矛盾的;那么可确定这两个上位词中必然存在一个错误的上位词,即存储这两个上位词的非底层节点中必然存在一个发生了异常的节点。由此可见,可根据各非底层节点所存储的上位词的类簇来检测异常节点;基于此,本发明实施例可获取各非底层节点所存储的上位词的类簇作为各非底层节点的节点信息。

另一种具体实现中,经研究表明:若初始图谱中存在错误的上位词,则这些错误的上位词可包括以下两类:①无法再得到其上位词的第一类错误的上位词,②可得到其上位词的第二类错误的上位词。针对第一类错误的上位词而言,由于第一类错误的上位词(尤其是因噪声引入的无意义词)无法得到其上位词,因此第一类错误的上位词存储于初始图谱的孤立节点中。而又由于正常的孤立节点所存储的上位词必然在常见主题词的范围内,而错误的孤立节点所存储的上位词对于大量的数据必然是低频的存在;因此,可确定第一类错误的上位词出现在孤立节点的概率通常是比较低的。基于此,可以根据孤立节点所存储的上位词出现在第一层的概率来检测该孤立节点是否为异常节点。

针对第二类错误的上位词而言,由于图谱每条路径的最后一个节点(顶层节点)所存储的上位词多为主题词,比如“娱乐”,“人物”等;各条路径的顶层所存储的主题词应较为固定(在常见主题词的范围中),不具备多样性。那么若存在第二类错误的上位词,由于其在自己的路径上必然会推出错误的主题词,比如实体词“智能机器人”得到错误的上位词“使用价值”,该错误的上位词又得到其上位词“价值”作为顶层的主题词;而这些错误的主题词出现在图谱的各条路径的顶层节点中的概率通常是较低的。因此,可根据各条路径的顶层节点所存储的上位词(即主题词)出现在顶层的概率来检测该顶层节点是否为异常节点。综上,本发明实施例可获取各非底层节点所存储的上位词位于该非底层节点当前所在的节点层的概率值作为各非底层节点的节点信息。进一步的,此处的非底层节点可具体包括初始图谱中的各条路径中的末尾节点。

s203,根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测。

s204,若检测到至少一个非底层节点中存在异常节点,则根据异常节点对初始图谱进行剪枝后处理,得到目标实体词的目标图谱。

在步骤s203-s204中,由于任一非底层节点的节点信息可包括:该非底层节点所存储的上位词位于非底层节点当前所在的节点层的概率值,或者非底层节点所存储的上位词的类簇;其中,非底层节点对应的类簇是对词对数据库中的多个词对中的上位词进行聚类得到的。因此,可根据各非底层节点所对应的类簇或者概率值来对至少一个非底层节点进行异常节点检测;并在检测到异常节点后,采用上述所提及矛盾边剪枝算法或者基于统计的贝叶斯概率剪枝算法对初始图谱进行剪枝后处理,此处的剪枝后处理是指:将初始图谱中异常节点所在的路径从初始图谱中剪去的处理。

在一种实施方式中,若任一非底层节点的节点信息包括:该非底层节点所存储的上位词的类簇,则根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测的具体实施方式可以是:先根据各非底层节点所存储的上位词的信赖度从至少一个非底层节点中确定参考节点,并将参考节点对应的类簇作为参考类簇;或者将参考节点的上层节点所对应的类簇作为参考类簇。其中,上位词信赖度用于反映上位词的可被信赖的程度,各上位词的信赖度可根据各上位词的数据源确定;例如,数据源为百度百科中的消歧义项的上位词的信赖度高于数据源为百度百科中词条标签的上位词的信赖度。或者,各上位词的信赖度也可根据各上位词在互联网数据中出现的次数确定,次数和信赖度成正比;即次数越多则信赖度越高,次数越小则信赖度越低。本发明实施例可选取信赖度最高的一个或多个上位词所对应的非底层节点作为参考节点,从而确定参考类簇。在确定参考类簇之后,可根据各非底层节点对应的类簇和参考类簇,从至少一个非底层节点中筛选出异常节点;异常节点对应的类簇和参考类簇不同。例如,参见图3中的图a所示,非底层节点m为错误节点,由于其推断得到的上层节点n所对应的类簇和参考节点(ref节点)所对应的类簇不在同一类簇,因此非底层节点m和非底层节点n所在的路径为将作为矛盾边被去除。由此可见,通过矛盾边剪枝算法可以有效地去除大量由于百科网站中的词条标签所引入的噪声数据(即错误的上位词)。

再一种实施方式中,若非底层节点包括:初始图谱中的各条路径中的末尾节点;非底层节点的节点信息包括:末尾节点所存储的上位词位于末尾节点当前所在的节点层的概率值;则根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测的具体实施方式可以是:将概率值大于概率阈值所对应的末尾节点确定为异常节点。例如,参见图3中的图b所示,非底层节点为z为孤立节点(即末尾节点);由于非底层节点z所存储的上位词位于第一层的概率值小于概率阈值,因此非底层节点z为异常节点,其所在的路径将被从图谱中去除。又如,参见图3中的图c所示,非底层节点x所存储的上位词为错误的上位词,根据该错误的上位词推断得到了非底层节点y所存储的另一错误的上位词(即错误扩散现象);即根据异常节点x推断出了异常节点y。由于非底层节点y所存储的上位词位于当前所在的节点层(即顶层)的概率值小于概率阈值,因此非底层节点y为异常节点,其所在的路径将被从图谱中去除。

本发明实施例针对采用目标实体词和多个上位词所构建得到的初始图谱,由于该初始图谱的底层节点存储目标实体词,非底层节点存储目标实体词的上位词;因此,可先获取初始图谱中的至少一个非底层节点的节点信息,然后根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测。若检测到至少一个非底层节点中存在异常节点,则可根据异常节点对初始图谱进行剪枝后处理;通过利用初始图谱的结构特点进行剪枝后处理,可以有效去除初始图谱中错误的上位词(即异常节点所存储的上位词)以及错误的上下位关系,从而保证剪枝后处理所得到的目标图谱具有较高的准确性及使用价值。

请参见图4,是本发明实施例提供的另一种图谱优化方法的流程示意图。该方法可以由上述所提及的终端执行。请参见图4,该图谱优化方法可包括以下步骤s401-s406:

s401,获取关于目标实体词的目标数据集。

此处的目标数据集中可包含多个词对,每个词对由目标实体词和目标实体词的一个上位词构成;本发明实施例针对目标数据集的获取至少提供了以下两种实施方式:

第一种实施方式:首先,可先获取文本数据集,该文本数据集中包括关于目标实体词的多个文本。其次,可基于预设句式模板,从文本数据集中的多个文本中提取得到至少一个候选词对,每个候选词对由目标实体词和目标实体词的上位词构成。具体的,句式模板可根据实际需求或者经验值设置,例如可设置句式模板为“a是一种b”或者“a属于b”;其中,a表示目标实体词,b表示目标实体词的上位词。那么可从各文本中提取b所对应的词作为上位词,从而构成候选词对;例如,目标实体词为“波斯猫”,文本为“波斯猫是一种动物”,则可从该文本中提取b所对应的词“动物”作为上位词,从而构成候选词对“波斯猫→动物”。由于通过句式模板匹配得到的上位词仅仅只考虑了语法特征,忽视了语义上的联系;而文本数据集中可能包含错误的文本,这样可能会导致匹配到的上位词是错误的上位词;例如文本为“波斯猫是一种植物”,通过句式模板匹配可得到上位词为“植物”,但明显这是一个错误的上位词。因此,在基于预设句式模板得到候选词对后,可根据至少一个候选词对中的上位词和目标实体词之间的语义关系,对至少一个候选词对进行过滤处理;然后将过滤后的词对添加至目标实体词的目标数据集中。

其中,根据至少一个候选词对中的上位词和目标实体词之间的语义关系,对至少一个候选词对进行过滤处理的具体实施方式可以是:针对任一候选词对,获取该任一候选词对中的上位词的上位词向量,以及该目标实体词的实体词向量;其中,词向量可用于表示词的语义特征,上位词向量可表示为y,实体词向量可表示为x。其次,可根据上位词向量和实体词向量,计算得到任一候选词对的实际关系向量,具体计算方式可参见下述式1.1所示:

r=y-x式1.1

除了计算实际关系向量以外,还可调用自编码器根据任一候选词对中的上位词和目标实体词,预测得到任一候选词对的预测关系向量r’。然后,可根据实际关系向量和预测关系向量,校验任一候选词对中的上位词和目标实体词之间的上下位关系;具体的,可以调用分类器计算实际关系向量和预测关系向量之间的差值,若差值小于预设差值,则可认为校验成功,否则校验失败。若校验成功,则表明该任一候选词对的上下位关系是正确的,因此可保留该任一候选词对;否则,过滤掉任一候选词对。由此可见,本发明实施例可以很好地校验含有大量噪声的句式匹配结果(即候选词对),从而可实现既充分利用大量的文本作为数据源,又能保证较高的准确率。

第二种实施方式:先从互联网中获取关于目标实体词的结构化数据,此处的结构化数据是指包含了目标实体词的词条标签的数据;终端可从百度百科等百科网站或者信息框内获取目标实体词的结构化数据。其次,可从该结构化数据中提取包含目标实体词的结构化词对,每个结构化词对由目标实体词和目标实体词的上位词构成;具体的,可将结构化数据中所包括的词条标签所指示的词作为目标实体词的上位词,从而得到结构化词对。例如,目标实体词为“波斯猫”,该目标实体词的词条标签包括“动物”“生物物种”,则可得到结构化词对为“波斯猫→动物”和“波斯猫→生物物种”。然后,可基于过滤规则对获取到的结构化词对进行过滤,将过滤后的结构化词对添加至目标实体词的目标数据集中;其中,过滤规则可包括:若结构化词对在互联网中出现的次数大于预设次数,则保留该结构化词对;否则,过滤掉该结构化词对。

可选的,由于互联网中所涉及的网站网页较多,通常是无法搜寻完包含目标实体词的所有结构化数据和所有文本的;因此,这必然会遗漏一些上下位关系,从而导致图谱所包含的上位词不够完整。基于此,本发明实施例还可根据词对数据库中已有的词对来对目标实体词进行词对扩充(即前述所提及的关系对扩充)。其中,词对数据库中的已有词对是指历史挖掘得到的具有上下关系的词对,每个已有词对均由一个上位词和一个下位词构成;根据已有词对对目标实体词进行词对扩充的具体实施方式可以包括以下步骤s11-s14:

s11,根据词对数据库中所存储的词对对目标实体词进行上位预测处理,得到目标实体词的至少一个预测上位词。

在具体实施过程中,可先根据目标实体词从词对数据库中的各个词对中提取出已存在的目标实体词的历史上位词;其次,可根据历史上位词从词对数据库中所存储的词对中匹配出包含该历史上位词的匹配词对;然后,可将匹配词对中除历史上位词以外的另一个词(历史上位词的上位词或者下位词)作为目标实体词的预测上位词。

例如,设目标实体词为“波斯猫”,词对数据库包括词对“波斯猫→动物”,那么可提取出历史上位词为“动物”;若根据历史上位词从词对数据库中匹配得到匹配词对“猫科动物→动物”,则可将该匹配词对中除历史上位词以外的另一个词“猫科动物”(即历史上位词的下位词)作为目标实体词的预测上位词。又如,设目标实体词为“智能机器人”,词对数据库包括词对“西部世界→科幻剧”,那么可提取出历史上位词为“科幻剧”;若根据历史上位词从词对数据库中匹配得到匹配词对“科幻剧→电视剧”,则可将该匹配词对中除历史上位词以外的另一个词“电视剧”(即历史上位词的上位词)作为目标实体词的预测上位词。

s12,分别采用各预测上位词和目标实体词构成至少一个预测词对,并对各预测词对进行打分处理。

在得到至少一个预测上位词之后,可分别采用各预测上位词和目标实体词构成至少一个预测词对。例如,目标实体词为“波斯猫”,其总共有2个预测上位词:“猫科动物”和“宠物”,则可得到预测词对包括:“波斯猫→猫科动物”和“波斯猫→宠物”。在得到至少一个预测词对后,可采用以下任一种方式对各预测词对进行打分处理:

①只采用改进的cf算法对各预测词对进行打分处理。

经研究表明,现有的cf算法的计算公式(如式1.2所示)在数值上容易产生低频词扩散的问题;这样会导致在采用式1.2对各预测词进行打分处理时,会使得包含低频的上位词(即低频词)的预测词对的分数较高,从而误将这些包含低频的上位词的预测词对作为目标实体词的扩充词对,引入大量的错误词对,进而造成后续构建的图谱具有较大的噪声。因此,本发明实施例对现有的cf算法进行了改进,其改进后的计算公式可参见式1.3所示:

pu,i'=p(yi)tanh∑items,nsi,n*ru,n式1.3

其中,pu,i'表示打分处理所得到的分数;si,n表示目标实体词的预测上位词yi和目标实体词在目标数据集中已存在的历史上位词yn之间的相似度;ru,n表示目标实体词u和历史上位词yn之间的相关度;tanh表示双曲正切函数;p(yi)表示预测上位词yi作为上位词在词对数据库中所存储的词对中出现的频率系数,例如词对数据库中所存储的词对的数量为1000对,而预测上位词yi作为上位词只在词对数据库中所存储的20个词对中出现,即词对数据库中只有20个词对的上位词为该预测上位词yi,那么预测上位词yi的频率系数为:20/1000=0.02。通过对比上述式1.2和式1.3可知,本发明实施例通过引入频率系数,可有效避免低词频扩散的问题,较大地提升cf算法对各预测词对进行打分的准确性,即可较大地提升cf算法扩充上下位词对的准确性。

具体的,在采用上述式1.3所示的公式对各预测词对进行打分处理时,针对任一预测词对,可先计算该任一预测词对中的预测上位词作为上位词在词对数据库中所存储的词对中出现的频率系数。其次,可获取目标实体词在目标数据集中已存在的历史上位词。然后,可计算目标实体词和各历史上位词之间的相关度,以及任一预测词对中的预测上位词和各历史上位词之间的相似度。最后,可根据任一预测词对中的预测上位词的频率系数、计算得到的相关度以及计算得到的相似度,确定任一预测词对的第一分数。

②只采用mf算法对各预测词对进行打分处理。

其中,mf算法(矩阵分解算法)的具体原理可一并参见图5a所示;具体的,针对任一预测词对,可先采用mf算法求解得到目标实体词的表示向量;然后将目标实体词的表示向量和任一预测词对中的预测上位词的上位词向量进行内积运算,得到任一预测词对的第二分数。

其中,采用mf算法求解得到目标实体词的表示向量的具体实施方式为:首先,可获取打分矩阵以及上位词表示矩阵;其中,打分矩阵是根据词对数据库中所存储的词对计算得到的,其具体可包括词对数据库中的任一实体词和任一上位词之间的相关度r(u,i);且若上位词i在词对数据库中曾作为实体词u的上位词出现过,则该上位词i和实体词u的相关度高于其他不曾作为实体词u的上位词出现过的上位词所对应的相关度;上位词表示矩阵可包括词对数据库中的各个上位词的上位词向量。其次,可根据打分矩阵和上位词表示矩阵,计算得到实体词表示向量矩阵,该实体词表示向量矩阵中包括词对数据库中的各个实体词的表示向量;然后,可从实体词表示向量矩阵中查找到目标实体词xu的表示向量。

③采用改进的cf算法和mf算法对各预测词对进行打分处理。

由于mf算法在考虑上位词之间相似度时会考虑到不同实体词之间的差异,因此在相似度的考虑上mf算法较cf算法更为精细化;因此,还可结合改进的cf算法和mf算法对各个预测词对进行打分处理,使得各个预测词对的分数更为准确。在一种实施方式中,可以分别采用改进的cf算法和mf算法对各预测词对进行打分处理,得到各个预测词对的第一分数和第二分数;将各个预测词对的第一分数和第二分数添加至各个预测词对的分数中。也就是说,在此实施方式下,各预测词对的分数可包括第一分数和第二分数。

再一种实施方式中,可以分别采用改进的cf算法和mf算法对各预测词对进行打分处理,得到各个预测词对的第一分数和第二分数;然后采用改进的cf算法的权重值和mf算法的权重值,对各个预测词对的第一分数和第二分数进行加权求和,得到各个预测词对的分数。也就是说,在此实施方式下,各个预测词对的分数是对第一分数和第二分数进行加权求和得到的。其中,改进的cf算法的权重值和mf算法的权重值均可根据经验值或者实际需求设置;例如,可将改进的cf算法的权重值和mf算法的权重值均设置为0.5;又如,若实际需求为避免低频词扩散问题,则可设置改进的cf算法的权重值大于mf算法的权重值,如可设置改进的cf算法的权重值为0.7,mf算法的权重值为0.3;再如,若实际需求为提高相似度的准确性,则可设置mf算法的权重值大于改进的cf算法的权重值,如可设置改进的cf算法的权重值为0.3,mf算法的权重值为0.7,等等。

s13,根据各预测词对的分数从至少一个预测词对中选取扩充词对,并将选取得到的扩充词对添加至目标数据集中。

在得到各个预测词对的分数后,可根据各预测词对的分数从至少一个预测词对中选取扩充词对,并将选取得到的扩充词对添加至目标数据集中。其中,选取扩充词对可包括以下几种选取方式:

若采用上述方式①进行打分,则各预测词对的分数包括第一分数。那么在根据各预测词对的分数从至少一个预测词对中选取扩充词对时,可从至少一个预测词对中选取第一分数大于预设分数的预测词对作为扩充词对;也可以从至少一个预测词对中选取第一分数最高的预测词对作为扩充词对;还可以先根据各预测词对的第一分数从至少一个预测词对中选取待扩充词对,然后采用mf算法对各待扩充的词对进行二次打分,从而选取出扩充词对。具体的,可根据各预测词对的第一分数,从各预测词对中选取至少一个待扩充的词对,待扩充的词对的第一分数大于第一预设值;然后,采用矩阵分解算法(即mf算法)对各个待扩充的词对进行打分处理,得到各个待扩充的词对的第二分数;然后,根据各个待扩充的词对的第二分数,从至少一个待扩充的词对中选取扩充词对,扩充词对的第二分数大于第二预设值。其中,第一预设值和第二预设值均可根据实际需求或者经验值设置,这两者可相同也可不同。

若采用上述方式②进行打分,则各预测词对的分数包括第二分数。那么在根据各预测词对的分数从至少一个预测词对中选取扩充词对时,可从至少一个预测词对中选取第二分数大于预设分数的预测词对作为扩充词对;也可以从至少一个预测词对中选取第二分数最高的预测词对作为扩充词对;还可以先根据各预测词对的第二分数从至少一个预测词对中选取待扩充词对,然后采用改进的mf算法对各待扩充的词对进行二次打分,从而选取出扩充词对。

若采用上述方式③进行得分,则各预测词对的分数可包括第一分数和第二分数,或者对第一分数和第二分数进行加权求和得到的分数。若各预测词对的分数包括第一分数和第二分数,则在根据各预测词对的分数从至少一个预测词对中选取扩充词对时,可先根据各预测词对的第一分数从至少一个预测词对中选取第一预测词对,以及根据各预测词对的第二分数从至少一个预测词对中选取第二预测词对;第一预测词对包括:第一分数最大的预测词对或者第一分数大于预设分数的预测词对,第二预测词对包括第二分数最大的预测词对或者第二分数大于预设分数的预测词对。然后,可将第一预测词对和第二预测词对均作为扩充词对;或者,求取第一预测词对和第二预测词对的交集,将交集中的预测词对作为扩充词对,即将第一预测词对和第二预测词对中共同存在的预测词对作为扩充词对。若各预测词对的分数包括对第一分数和第二分数进行加权求和得到的分数,则在根据各预测词对的分数从至少一个预测词对中选取扩充词对时,可从至少一个预测词对中选取分数大于预设分数的预测词对作为扩充词对;也可以从至少一个预测词对中选取分数最高的预测词对作为扩充词对。

s402,采用目标数据集中的多个词对,层次化构建目标实体词的初始图谱。

在具体实施过程中,可使用频繁项挖掘算法(如apriori算法)推断出目标数据集中的多个词对中的上位词之间的上下位关系,然后根据推断出的各个上位词之间的上下位关系层次化构建目标实体词的初始图谱。例如,目标数据集包括“波斯猫→动物”“波斯猫→猫科动物”,那么可使用频繁项挖掘算法推断出上位词“动物”和上位词“猫科动物”的上下位关系为:“动物”为“猫科动物”的上位词,“猫科动物”为“动物”的下位词;因此,根据这上下位关系可层次化构建得到初始图谱包括“波斯猫→猫科动物→动物”这一路径。

需要说明的是,若目标实体词具有多个义项,则在执行步骤s302时,可先则根据各义项将目标数据集中的多个词对划分成多个子集,每个子集中所包括的词对对应同一个义项;然后分别采用各个子集中的词对构建各个义项所对应的初始图谱。

s403,获取初始图谱中的至少一个非底层节点的节点信息。

在一种实施方式中,可以预先采用聚类算法对词对数据库中的多个词对中的上位词进行聚类,得到各个上位词的类簇;并将聚类得到的各个上位词的类簇存储至信息库中;其中,每个类簇可代表一类上位词,例如簇a代表“歌曲”类、簇b代表“电影”类等等。相应的,在获取初始图谱中的至少一个非底层节点的节点信息时,可从信息库中获取初始图谱所存储的各个上位词的类簇,并将获取到的类簇分别添加至对应的各个非底层节点的节点信息中;即此实施方式下,任一非底层节点的节点信息包括:非底层节点所存储的上位词的类簇。例如,非底层节点a存储的上位词的类簇为“歌曲”类,则将该类簇添加至非底层节点a的节点信息中;又如,非底层节点b存储的上位词的类簇为“电影”类,则可将该类簇添加至非底层节点b的节点信息中。

再一种实施方式中,可先采用以词频为特征的贝叶斯(bayes)模型计算非底层节点所存储的上位词位于该非底层节点当前所在的节点层的概率值;然后,可将各个上位词位于该非底层节点当前所在的节点层的概率值分别添加至对应的各个非底层节点的节点信息中;此实施方式下,任一非底层节点的节点信息包括:非底层节点所存储的上位词位于非底层节点当前所在的节点层的概率值。其中,贝叶斯模型的计算公式可参见下述式1.4所示:

其中,dn表示节点出现在第n层的事件;p(dn)表示节点出现在第n层的事件的概率;例如,图谱总共有100个节点,n=1;若有20个节点位于图谱的第一层,则p(dn)=20/100=0.2;p(yi)表示预测上位词yi作为上位词在词对数据库中所存储的词对中出现的频率系数;p(yi|dn)表示非底层节点yi所存储的上位词yi位于第n层的概率值。

s404,根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测。

s405,若检测到至少一个非底层节点中存在异常节点,则将初始图谱中异常节点所在的路径作为待剪枝路径。

s406,从初始图谱中去除待剪枝路径,得到目标实体词的目标图谱。

需要说明的是,步骤s404-s406的具体实施方式可以参见上述发明实施例的步骤s203-s204的相关描述,在此不再赘述。还需要说明的是,若目标实体词存在多个义项,则初始图谱的数量和目标图谱的数量均为多个,一个义项对应一个初始图谱和一个目标图谱。那么,相应的,在得到多个目标图谱之后,可将多个目标图谱进行合并,得到目标实体词的上下位关系图谱;然后可将该上下位关系图谱和目标实体词进行关联存储。

在一种实施方式中,在得到上下位关系图谱后,还可对上下位关系图谱进行主义项的标记,以便于后续可以更好的利用该上下位关系图谱进行业务处理。具体的,可获取目标实体词的各个义项所对应的网页信息,并根据各个义项的网页信息计算各个义项的优先级。其中,网页信息可包括至少一项:义项所在的网页界面(如百度百科中的界面)被浏览的浏览次数、义项所在的网页界面被点击的浏览次数,义项被搜索的搜索次数,等等。以网页信息包括义项所在的网页界面被浏览的浏览次数为例,各个义项的优先级的计算方式可以为:任一义项所在的网页界面的浏览次数/所有义项所在的网页界面的浏览次数。例如,目标实体词包括三个义项:义项1所在的网页界面的浏览次数为2500次,义项2所在的网页界面的浏览次数为1200次,义项3所在的网页界面的浏览次数为300次;则义项1的优先级为:2500/(2500+1200+300)=0.625,义项2的优先级为:1200/(2500+1200+300)=0.3,义项3的优先级为:300/(2500+1200+300)=0.075。

在得到各个义项的优先级之后,可根据各个义项的优先级从多个义项中选取优先级最高的义项作为主义项,并在上下位关系图谱中对主义项所对应的目标图谱进行标记。其中,对主义项所对应的目标图谱进行标记的方式可包括但不限于:采用预设标记元素(如预设颜色、预设图形)进行标记、采用文字进行标记,等等。例如,可以采用黑色对主义项所对应的目标图谱中的各个节点进行标记,如图5b所示。在对上下位关系图谱进行主义项标记后,可将携带主义项标记的上下位关系图谱和目标实体词进行关联存储。通过对上下位关系图谱进行主义项标记,可进一步提升上下位关系图谱的使用价值。

可选的,终端可实时检测是否存在关于目标实体词的业务需求,若检测到关于目标实体词的业务请求,则可从上下位关系图谱中获取主义项所对应的目标图谱;并根据主义项所对应的目标图谱中所存储的上位词,进行业务处理。其中,关于目标实体词的业务请求可以是用户发送的,也可以是终端根据实际业务需求(如信息推送需求)生成的;该业务请求可包括但不限于:信息查询请求、语义识别请求、内容推荐请求、信息挖掘请求,等等。以业务请求为信息查询请求为例,根据主义项所对应的目标图谱中所存储的上位词,进行业务处理的具体实施方式可以是:获取用户输入的查询信息,并从查询信息提取出查询词;该查询词可以是该目标实体词,也可以是目标实体词的一个上位词;然后可从主义项所对应的目标图谱中所存储的上位词中获取该查询词的上位词,并根据该查询词的上位词生成反馈信息,从而输出该反馈信息。例如,输入信息为“波斯猫是什么?”,提取出的目标实体词为“波斯猫”;由于该目标实体词的主义项为动物,因此可获取到的上位词包括“猫科动物”“动物”,从而生成并输出反馈信息,如图5c所示;由此可见,由于本发明实施例的上下位关系图谱中标记了主义项,因此可使得信息查询结果更为准确。

需要说明的是,本发明实施例可采用上述步骤s401-s406构建大量的实体词的上下位关系图谱,并将各上下位关系图谱和相应的实体词进行关联存储。在实际应用中,还可将这些实体词的上下位关系图谱根据实际需求运用在不同的应用场景中,例如,信息查询场景、语义识别场景、信息推荐场景(信息挖掘场景),等等。下面以信息查询场景和信息推荐场景为例,对上下位关系图谱的具体应用进行阐述:

在信息查询场景中:当用户想要查询某信息时,可以在查询界面输入查询信息。终端在获取到查询信息后,可提取出查询信息中所包含的目标实体词;其次,获取该目标实体词的上下位关系图谱,并从该目标实体词的上下位关系图谱中查询该目标实体词的上位词;然后,根据查询到的上位词生成反馈信息,并输出该反馈信息。需要说明的是,若目标实体词具有多个义项,则由于本发明实施例可以在上下位关系图谱中对主义项的图谱进行标记,因此在从目标实体词的上下位关系图谱中查询该目标实体词的上位词时,可先从上下位关系图谱中获取主义项所对应的目标图谱,并从该主义项所对应的目标图谱中获取相应的上位词,从而得到反馈信息。

在信息推荐场景中,终端若想要向某用户进行信息推送,则可获取该用户的历史行为数据(如历史网页浏览数据、历史文本浏览数据),凑够历史行为数据中提取出历史实体词;然后获取该历史实体词所对应的上下位关系图谱,并从该上下位关系图谱中获取主义项所对应的图谱,从而根据主义项所对应的图谱中所存储的上位词进行信息推荐。

本发明实施例针对采用目标实体词和多个上位词所构建得到的初始图谱,由于该初始图谱的底层节点存储目标实体词,非底层节点存储目标实体词的上位词;因此,可先获取初始图谱中的至少一个非底层节点的节点信息,然后根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测。若检测到至少一个非底层节点中存在异常节点,则可根据异常节点对初始图谱进行剪枝后处理;通过利用初始图谱的结构特点进行剪枝后处理,可以有效去除初始图谱中错误的上位词(即异常节点所存储的上位词)以及错误的上下位关系,从而保证剪枝后处理所得到的目标图谱具有较高的准确性及使用价值。

为了进一步证明本发明实施例所提出的图谱优化方法的有益效果,发明人进行了一系列的对比测试,具体如下:

首先,发明人分别采用了通过本发明实施例的图谱优化方法所得到的上下位关系图谱,和采用现有技术所构建得到的图谱,对同一实体词(如“用户a”)进行了查询测试,其测试结果可参见图6a所示。其中,图6a的左图对应本发明实施例的上下位关系图谱的查询结果,图6a的右图对应现有技术的图谱的查询结果。通过对比两个查询结果可知:相对于现有技术的图谱,本发明实施例的上下位关系图谱不会查询出“白菜”“植物”等错误的上位词;由此可见,本发明实施例的上下位关系图谱更为准确,可以更贴合实际落地的使用场景。

其次,发明人还采用了1000个实体词得到的图谱作为测试数据,进行了图谱的准确性测试,其测试结果可参见图6b所示。其中,图6b的左侧表示采用本发明实施例的图谱优化方法对1000个实体词进行图谱优化构建,所得到的上下位关系图谱的准确率;图6b的右侧表示采用现有技术对1000个实体词进行图谱构建所得到的图谱的准确率。对比两个准确率可知,采用本发明实施例所提出的图谱优化方法所构建得到的上下位关系图谱的准确率明显高于采用现有技术所构建的图谱的准确率。

由前述可知,本发明实施例所提出的图谱优化方法相对于现有技术进行了多项改进,例如:新增基于神经网络的过滤器、关系对扩充、剪枝后处理,等等。为了进一步说明本发明实施例所使用的各项改进技术所带来的效果增益,发明人还分别对各项改进技术所带类的效果增益进行了测试,其测试结果可参见图6c所示。其中,基于神经网络的过滤器的增益效果的计算方式为:针对上述测试数据中的实体词,使用句式模板匹配得到多个候选词对;分别计算使用过滤器前的数据准确率和使用过滤器后的数据准确率,从而对比得到过滤器的增益效果。关系对扩充的增益效果的计算方式为:针对上述测试数据中的实体词,分别计算未使用本发明实施例所提出的扩充方式所得到的扩充词对的准确率和使用本发明实施例所提出的扩充方式所得到的扩充词对的准确率,从而对比得到关系对扩充的增益效果。剪枝后处理的增益效果的计算方式:分别计算未使用本发明实施例所提出的剪枝算法的数据准确率和使用本发明实施例所提出的剪枝算法的数据准确率,从而得到剪枝后处理的增益效果。由图6c可知,本发明实施例所提出的各项改进技术在实际测试数据中均能带来较大的增益,更能落地到内容理解,信息挖掘等应用场景。

基于上述图谱优化方法实施例的描述,本发明实施例还公开了一种图谱优化装置,所述图谱优化装置可以是运行于终端中的一个计算机程序(包括程序代码)。该图谱优化装置可以执行图2或图4所示的方法。请参见图7,所述图谱优化装置可以运行如下单元:

获取单元101,用于获取目标实体词的初始图谱,所述初始图谱包括多层节点,底层节点存储所述目标实体词,非底层节点存储所述目标实体词的上位词,连接任意两个节点的边表示所述任意两个节点所存储的词之间的上下位关系;

所述获取单元101,用于获取所述初始图谱中的至少一个非底层节点的节点信息,任一非底层节点的节点信息包括:所述非底层节点所存储的上位词位于所述非底层节点当前所在的节点层的概率值,或者所述非底层节点所存储的上位词的类簇;

处理单元102,用于根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测;

所述处理单元102,用于若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱。

在一种实施方式中,所述非底层节点包括:所述初始图谱中的各条路径中的末尾节点;所述非底层节点的节点信息包括:所述末尾节点所存储的上位词位于所述末尾节点当前所在的节点层的概率值;相应的,处理单元102在用于根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测时,可具体用于:将概率值小于所述概率阈值所对应的末尾节点确定为异常节点。

再一种实施方式中,所述任一非底层节点的节点信息包括:所述非底层节点所存储的上位词的类簇;所述非底层节点对应的类簇是对词对数据库中的多个词对中的上位词进行聚类得到的;相应的,处理单元102在用于根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测时,可具体用于:

根据各非底层节点所存储的上位词的信赖度从所述至少一个非底层节点中确定参考节点,并将所述参考节点对应的类簇作为参考类簇;

根据各非底层节点对应的类簇和所述参考类簇,从所述至少一个非底层节点中筛选出异常节点,所述异常节点对应的类簇和所述参考类簇不同。

再一种实施方式中,处理单元102在用于若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱时,可具体用于:

若检测到所述至少一个非底层节点中存在异常节点,则将所述初始图谱中所述异常节点所在的路径作为待剪枝路径;

从所述初始图谱中去除所述待剪枝路径,得到所述目标实体词的目标图谱。

再一种实施方式中,获取单元101在用于获取目标实体词的初始图谱时,可具体用于:

获取关于目标实体词的目标数据集,所述目标数据集中包含多个词对,每个词对由所述目标实体词和所述目标实体词的一个上位词构成;

采用所述目标数据集中的多个词对,层次化构建所述目标实体词的初始图谱。

再一种实施方式中,获取单元101在用于获取关于目标实体词的目标数据集时,可具体用于:

获取文本数据集,所述文本数据集中包括关于所述目标实体词的多个文本;

基于预设句式模板,从所述文本数据集的多个文本中提取得到至少一个候选词对,每个候选词对由所述目标实体词和所述目标实体词的上位词构成;

根据所述至少一个候选词对中的上位词和所述目标实体词之间的语义关系,对所述至少一个候选词对进行过滤处理;

将过滤后的词对添加至所述目标实体词的目标数据集中。

再一种实施方式中,获取单元101在用于根据所述至少一个候选词对中的上位词和所述目标实体词之间的语义关系,对所述至少一个候选词对进行过滤处理时,可具体用于:

针对任一候选词对,获取所述任一候选词对中的上位词的上位词向量,以及所述目标实体词的实体词向量;所述词向量用于表示词的语义特征;

根据所述上位词向量和所述实体词向量,计算得到所述任一候选词对的实际关系向量;并调用自编码器根据所述任一候选词对中的上位词和所述目标实体词,预测得到所述任一候选词对的预测关系向量;

根据所述实际关系向量和所述预测关系向量,校验所述任一候选词对中的上位词和所述目标实体词之间的上下位关系;

若校验成功,则保留所述任一候选词对;否则,过滤掉所述任一候选词对。

再一种实施方式中,获取单元101还可用于:

根据词对数据库中所存储的词对对所述目标实体词进行上位预测处理,得到所述目标实体词的至少一个预测上位词;

分别采用各预测上位词和所述目标实体词构成至少一个预测词对,并对各预测词对进行打分处理;

根据所述各预测词对的分数从所述至少一个预测词对中选取扩充词对,并将选取得到的扩充词对添加至所述目标数据集中。

再一种实施方式中,所述各预测词对的分数包括第一分数;相应的,获取单元101在用于对各预测词对进行打分处理时,可具体用于:

针对任一预测词对,计算所述任一预测词对中的预测上位词作为上位词在所述词对数据库中所存储的词对中出现的频率系数;

获取所述目标实体词在所述目标数据集中已存在的历史上位词;

计算所述目标实体词和各历史上位词之间的相关度,以及所述任一预测词对中的预测上位词和所述各历史上位词之间的相似度;

根据所述任一预测词对中的预测上位词的频率系数、计算得到的相关度以及计算得到的相似度,确定所述任一预测词对的第一分数。

再一种实施方式中,获取单元101在用于根据所述各预测词对的分数从所述至少一个预测词对中选取扩充词对时,可具体用于:

根据所述各预测词对的第一分数,从所述各预测词对中选取至少一个待扩充的词对;

采用矩阵分解算法对各个待扩充的词对进行打分处理,得到所述各个待扩充的词对的第二分数;

根据所述各个待扩充的词对的第二分数,从所述至少一个待扩充的词对中选取扩充词对。

再一种实施方式中,若所述目标实体词存在多个义项,则所述初始图谱的数量和所述目标图谱的数量均为多个,一个义项对应一个初始图谱和一个目标图谱;相应的,处理单元102还可用于:

将多个目标图谱进行合并,得到所述目标实体词的上下位关系图谱;

获取所述目标实体词的各个义项所对应的网页信息,并根据所述各个义项所对应的网页信息计算所述各个义项的优先级;

根据所述各个义项的优先级从所述多个义项中选取优先级最高的义项作为主义项,并在所述上下位关系图谱中对所述主义项所对应的目标图谱进行标记。

再一种实施方式中,处理单元102还可用于:

响应于关于目标实体词的业务请求,从所述上下位关系图谱中获取主义项所对应的目标图谱;

根据所述主义项所对应的目标图谱中所存储的上位词,进行业务处理。

根据本发明的一个实施例,图2或图4所示的方法所涉及的各个步骤均可以是由图7所示的图谱优化装置中的各个单元来执行的。例如,图2中所示的步骤s201和s202可由图7中所示的获取单元101来执行,步骤s203和s204可由图7中所示的处理单元102来执行;又如,图4中所示的步骤s401-s403可由图7中所示的获取单元101来执行,步骤s404-s406可由图7中所示的处理单元102来执行。

根据本发明的另一个实施例,图7所示的图谱优化装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于图谱优化装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本发明的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的图谱优化装置设备,以及来实现本发明实施例的图谱优化方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。

本发明实施例针对采用目标实体词和多个上位词所构建得到的初始图谱,由于该初始图谱的底层节点存储目标实体词,非底层节点存储目标实体词的上位词;因此,可先获取初始图谱中的至少一个非底层节点的节点信息,然后根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测。若检测到至少一个非底层节点中存在异常节点,则可根据异常节点对初始图谱进行剪枝后处理;通过利用初始图谱的结构特点进行剪枝后处理,可以有效去除初始图谱中错误的上位词(即异常节点所存储的上位词)以及错误的上下位关系,从而保证剪枝后处理所得到的目标图谱具有较高的准确性及使用价值。

基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种终端。请参见图8,该终端至少包括处理器201、输入设备202、输出设备203以及计算机存储介质204。其中,终端内的处理器201、输入设备202、输出设备203以及计算机存储介质204可通过总线或其他方式连接。

计算机存储介质204可以存储在终端的存储器中,所述计算机存储介质204用于存储计算机程序,所述计算机程序包括程序指令,所述处理器201用于执行所述计算机存储介质204存储的程序指令。处理器201(或称cpu(centralprocessingunit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器201可以用于对目标实体词的初始图谱进行一系列的图谱优化处理,包括:获取目标实体词的初始图谱,所述初始图谱包括多层节点,底层节点存储所述目标实体词,非底层节点存储所述目标实体词的上位词,连接任意两个节点的边表示所述任意两个节点所存储的词之间的上下位关系;获取所述初始图谱中的至少一个非底层节点的节点信息,任一非底层节点的节点信息包括:所述非底层节点所存储的上位词位于所述非底层节点当前所在的节点层的概率值,或者所述非底层节点所存储的上位词的类簇;根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测;若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱,等等。

本发明实施例还提供了一种计算机存储介质(memory),所述计算机存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器201加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。

在一个实施例中,可由处理器201加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图谱优化实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器201加载并执行如下步骤:

获取目标实体词的初始图谱,所述初始图谱包括多层节点,底层节点存储所述目标实体词,非底层节点存储所述目标实体词的上位词,连接任意两个节点的边表示所述任意两个节点所存储的词之间的上下位关系;

获取所述初始图谱中的至少一个非底层节点的节点信息,任一非底层节点的节点信息包括:所述非底层节点所存储的上位词位于所述非底层节点当前所在的节点层的概率值,或者所述非底层节点所存储的上位词的类簇;

根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测;

若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱。

在一种实施方式中,所述非底层节点包括:所述初始图谱中的各条路径中的末尾节点;所述非底层节点的节点信息包括:所述末尾节点所存储的上位词位于所述末尾节点当前所在的节点层的概率值;相应的,在根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测时,所述一条或多条指令由处理器201加载并具体执行:将概率值小于所述概率阈值所对应的末尾节点确定为异常节点。

再一种实施方式中,所述任一非底层节点的节点信息包括:所述非底层节点所存储的上位词的类簇;所述非底层节点对应的类簇是对词对数据库中的多个词对中的上位词进行聚类得到的;相应的,在根据所述至少一个非底层节点的节点信息对所述至少一个非底层节点进行异常节点检测时,所述一条或多条指令由处理器201加载并具体执行:

根据各非底层节点所存储的上位词的信赖度从所述至少一个非底层节点中确定参考节点,并将所述参考节点对应的类簇作为参考类簇;

根据各非底层节点对应的类簇和所述参考类簇,从所述至少一个非底层节点中筛选出异常节点,所述异常节点对应的类簇和所述参考类簇不同。

再一种实施方式中,在若检测到所述至少一个非底层节点中存在异常节点,则根据所述异常节点对所述初始图谱进行剪枝后处理,得到所述目标实体词的目标图谱时,所述一条或多条指令由处理器201加载并具体执行:

若检测到所述至少一个非底层节点中存在异常节点,则将所述初始图谱中所述异常节点所在的路径作为待剪枝路径;

从所述初始图谱中去除所述待剪枝路径,得到所述目标实体词的目标图谱。

再一种实施方式中,在获取目标实体词的初始图谱时,所述一条或多条指令由处理器201加载并具体执行:

获取关于目标实体词的目标数据集,所述目标数据集中包含多个词对,每个词对由所述目标实体词和所述目标实体词的一个上位词构成;

采用所述目标数据集中的多个词对,层次化构建所述目标实体词的初始图谱。

再一种实施方式中,在获取关于目标实体词的目标数据集时,所述一条或多条指令由处理器201加载并具体执行:

获取文本数据集,所述文本数据集中包括关于所述目标实体词的多个文本;

基于预设句式模板,从所述文本数据集的多个文本中提取得到至少一个候选词对,每个候选词对由所述目标实体词和所述目标实体词的上位词构成;

根据所述至少一个候选词对中的上位词和所述目标实体词之间的语义关系,对所述至少一个候选词对进行过滤处理;

将过滤后的词对添加至所述目标实体词的目标数据集中。

再一种实施方式中,在根据所述至少一个候选词对中的上位词和所述目标实体词之间的语义关系,对所述至少一个候选词对进行过滤处理时,所述一条或多条指令由处理器201加载并具体执行:

针对任一候选词对,获取所述任一候选词对中的上位词的上位词向量,以及所述目标实体词的实体词向量;所述词向量用于表示词的语义特征;

根据所述上位词向量和所述实体词向量,计算得到所述任一候选词对的实际关系向量;并调用自编码器根据所述任一候选词对中的上位词和所述目标实体词,预测得到所述任一候选词对的预测关系向量;

根据所述实际关系向量和所述预测关系向量,校验所述任一候选词对中的上位词和所述目标实体词之间的上下位关系;

若校验成功,则保留所述任一候选词对;否则,过滤掉所述任一候选词对。

再一种实施方式中,所述一条或多条指令还可由处理器201加载并具体执行:

根据词对数据库中所存储的词对对所述目标实体词进行上位预测处理,得到所述目标实体词的至少一个预测上位词;

分别采用各预测上位词和所述目标实体词构成至少一个预测词对,并对各预测词对进行打分处理;

根据所述各预测词对的分数从所述至少一个预测词对中选取扩充词对,并将选取得到的扩充词对添加至所述目标数据集中。

再一种实施方式中,所述各预测词对的分数包括第一分数;相应的,在对各预测词对进行打分处理时,所述一条或多条指令由处理器201加载并具体执行:

针对任一预测词对,计算所述任一预测词对中的预测上位词作为上位词在所述词对数据库中所存储的词对中出现的频率系数;

获取所述目标实体词在所述目标数据集中已存在的历史上位词;

计算所述目标实体词和各历史上位词之间的相关度,以及所述任一预测词对中的预测上位词和所述各历史上位词之间的相似度;

根据所述任一预测词对中的预测上位词的频率系数、计算得到的相关度以及计算得到的相似度,确定所述任一预测词对的第一分数。

再一种实施方式中,在根据所述各预测词对的分数从所述至少一个预测词对中选取扩充词对时,所述一条或多条指令由处理器201加载并具体执行:

根据所述各预测词对的第一分数,从所述各预测词对中选取至少一个待扩充的词对;

采用矩阵分解算法对各个待扩充的词对进行打分处理,得到所述各个待扩充的词对的第二分数;

根据所述各个待扩充的词对的第二分数,从所述至少一个待扩充的词对中选取扩充词对。

再一种实施方式中,若所述目标实体词存在多个义项,则所述初始图谱的数量和所述目标图谱的数量均为多个,一个义项对应一个初始图谱和一个目标图谱;相应的,所述一条或多条指令还可由处理器201加载并具体执行:

将多个目标图谱进行合并,得到所述目标实体词的上下位关系图谱;

获取所述目标实体词的各个义项所对应的网页信息,并根据所述各个义项所对应的网页信息计算所述各个义项的优先级;

根据所述各个义项的优先级从所述多个义项中选取优先级最高的义项作为主义项,并在所述上下位关系图谱中对所述主义项所对应的目标图谱进行标记。

再一种实施方式中,所述一条或多条指令还可由处理器201加载并具体执行:

响应于关于目标实体词的业务请求,从所述上下位关系图谱中获取主义项所对应的目标图谱;

根据所述主义项所对应的目标图谱中所存储的上位词,进行业务处理。

本发明实施例针对采用目标实体词和多个上位词所构建得到的初始图谱,由于该初始图谱的底层节点存储目标实体词,非底层节点存储目标实体词的上位词;因此,可先获取初始图谱中的至少一个非底层节点的节点信息,然后根据至少一个非底层节点的节点信息对至少一个非底层节点进行异常节点检测。若检测到至少一个非底层节点中存在异常节点,则可根据异常节点对初始图谱进行剪枝后处理;通过利用初始图谱的结构特点进行剪枝后处理,可以有效去除初始图谱中错误的上位词(即异常节点所存储的上位词)以及错误的上下位关系,从而保证剪枝后处理所得到的目标图谱具有较高的准确性及使用价值。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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