基于图约简的知识联想关系网络建模
2019-07-16王坤谢振平陈梅婕
王坤,谢振平,陈梅婕
(1. 江南大学 数字媒体学院,江苏 无锡 214122; 2. 江苏省媒体设计与软件技术重点实验室,江苏 无锡214122)
知识图谱的概念由谷歌于2012年提出[1],是一种具有图结构的知识库,其中的图节点代表知识实体,边代表实体间的各种语义关系。知识图谱能够很方便地用来表达和存储自然语言信息,它在机器翻译[2]、问答系统[3]和自然语言理解[4]等领域已有了广泛的应用。
大规模知识图谱在具体应用时,由于原始知识图谱规模可能较大,且其中存在大量冗余或未验证的信息[5],这将严重影响知识查询的效率和准确性。因而在构建大规模知识图谱时,往往需要对原始知识库进行约简、去噪,以提高模型表示效率,这一过程也与人脑对知识的联想记忆过程有相似性。
对于大规模知识图谱的建模,无论是基于人工规则的方法[6],还是目前比较流行的与机器学习[7]或深度学习[8]相结合的方法,都主要是从如何构建组成知识图谱的基本单元(通常为三元组的形式),然后利用基本单元之间的联系,构建成完整的知识图谱这个角度来考虑。由于知识图谱是一个图结构,如果把它看作一个复杂网络[9]的话,就可以从网络结构的角度利用复杂网络的相关方法来进行知识图谱的建模。
通常而言,知识图谱的构建过程包括以下几个模块:信息抽取、知识表示、知识融合、知识推理[10-15]。其中最主要的部分就是信息抽取部分,也是知识建模的关键步骤;对于知识表示,通常采用“实体-关系-实体”三元组的形式,具体地,本文主要考虑对知识间的联想关系进行抽取构建。
关系抽取的主要任务是从相关语料中抽取出实体之间的关联关系,通过这种关系将实体联系起来,最终形成网状的知识结构。早期的关系抽取方法主要是通过人工构建语义规则和模板来识别实体之间的关系。这种方法较多地依赖于人工构建规则,规则构建工作量较大,且需要对不同领域单独进行。进而发展出了利用统计机器学习的方法,通过对实体间的关系模式进行建模,以替代预先定义的语义规则。进一步,研究提出基于特征向量或者核函数的监督机器学习方法,这使得关系抽取的准确率得以进一步提高。刘克彬等[16]通过知网(How Net)提供的本体信息构造语义核函数,在开放数据集上对ACE定义的六类实体关系进行抽取,其准确率达到了88%。然而,有监督学习方法为了确保算法的有效性,需要事先人工标注大量的语料作为训练集。因此,半监督和无监督的学习方式开始成为新的研究重点。Carlson等[17]提出了一种基于Bootstrap算法的半监督学习方法,能够自动进行识别实体关系模式并对实体关系进行建模。Zhang等[18]采用基于实例的无监督学习方法,在公开语料库上获得了较好的实验结果,能够对实体间的多种关系进行精准识别。
基于规则、监督学习以及半监督学习的方法的共同特点是需要预先定义实体关系类型,如整体部分关系以及位置关系等。Banko等[19]提出了面向开放域的抽取框架(open information extraction, OIE),并发布了基于自监督(self-supervised)学习方式的开放信息抽取原型系统(text runner),该系统使用少量的人工标记数据作为训练集,得到一个实体关系分类模型,然后根据该模型再对开放数据进行分类,依据分类结果训练朴素贝叶斯模型来识别“实体-关系-实体”三元组。该系统经过了大规模的真实数据测试,与同时期的其他方法相比效果更佳。谢振平等[20]基于表示学习技术[21]提出了利用词向量的方法来构建本体关系,主要通过Google开源的word2vec词向量工具,将文本语料训练成向量的形式,通过判断不同实体向量间的距离,来确定两个实体之间能否构成一个关系对,在个性化知识推荐问题上取得了非常有价值的性能结果。
本文从知识的联想记忆视角来进行知识网络(知识图谱)建模,并考虑从网络结构的角度对知识网络进行约简,提出知识联想关系网络的图约简建模思路。该思路一方面能够提高知识建模的效率,另一方面将人脑的联想记忆过程用于知识建模,为知识建模的方法提供了一种可参考的新途径。
1 模型方法
主要考虑从知识间的联想记忆这个角度出发,结合图约简方法,提出一种新的知识网络建模表示方法即联想关系模型。通过定义给定语料中的知识联想强度来确定知识间的关系,以探索发展模拟人脑联想记忆过程的知识图谱构建新策略。
联想记忆[22]是人脑计算的一个核心功能,而从基础层次上来看,人脑学习是一个关于形成、删除和改变信息间关联的过程即联想记忆的过程[23]。对于一个文档集合,如果把每个文档中的每个句子看作是一条联想关系,句子中的每个实体看作一个神经元的话,就可以把构建知识网络的过程看作是人脑经过学习建立知识系统的过程。而对知识网络约简的过程,则可以看作是大脑重整知识联想记忆的过程。
1.1 建模流程
其中主要考虑两个问题:1)如何从已有的文档语料集中抽象出一个初步的知识网络;2)对于已构建好的知识网络,如何模拟人脑学习过程,去除其中冗余的、关联性比较低的关系对,即如何对网络进行约简。本文利用文档中不同实体在同一个句子的共现关系构建初始的知识网络;采用不同的图约简算法模拟人脑联想重整过程。
依据前述分析,设计给出如图1所示的建模框架。其主要由两部分构成:直接记忆模块和联想约简模块。直接记忆模块的主要功能是对文本语料进行一系列处理后,形成一个直接记忆的知识网络结构,主要包括知识术语识别和抽取、构建共现知识网络、计算原始联想关系强度这几个步骤。联想约简模块的主要功能是根据对初始的直接联想关系网络进行关系约简,尽可能地去除冗余的和联想度不高的关系对,优化知识网络的联想记忆效率。
图 1 知识联想关系网络建模框架Fig. 1 Knowledge association relationship network modeling framework
1.2 直接记忆初始化知识网络
构建初始的知识网络主要包含3个步骤:1)通过术语识别抽取技术将文本中的知识术语识别抽取出来;2)通过分析文本的句子中知识术语的共现关系来建立共现知识网络;3)对于得到的知识网络,通过联想记忆的策略定义每个实体关系对的权重。
1.2.1 知识术语抽取
知识术语的识别和抽取的主要任务是从特定领域的文本语料中获取完整独立的名词性知识术语,每一个知识术语对应知识网络中的一个节点。知识术语的识别和抽取具体流程如图2所示:首先获取一定量的文本语料,然后通过去除乱码、去除停用词等操作进行语料预处理,将预处理的字符串进行分词,并把分词后的关键词进行词性标注,然后选取出名词性术语。其中,在去除停用词和分词的过程中,可以通过自定义停用词表和自定义用户词典来改善整个流程,从而获取更加合理的知识术语。
图 2 术语抽取流程Fig. 2 The process of term extraction
1.2.2 关系对生成
对于获得的知识术语,通过判断任意两个术语是否出现在同一句子中,来决定它们能否构成一个关系对,并且认为在同一句话中,后出现的术语由前一术语联想产生。图3给出了一个共现知识网络关系结构图的局部示例。
图 3 共现知识网络关系结构图局部示例Fig. 3 Partial example of co-occurrence knowledge network relationship structure diagram
图3 中,含有标签的节点表示知识节点,有向边表示直接联想关系。上述方法构建的知识网络关系将具有以下特征:
1.2.3 关系权重计算
借鉴联想记忆增强思想,考虑网络中不同知识间的关系强度主要与它们的共现次数和共现强度有关。为此,引入了联想强度作为知识网络的关系权重。
定义1初始知识网络构建中,任意两个知识节点间的直接记忆联想强度定义为
1.3 联想关系约简
为提高知识网络的表示效率和强壮性,对其进行关系约简是一种可行的方法。目前对于知识网络关系约简的研究还较少,一些相关度较高的研究有,刘冰瑶等[24]提出了一种“特征降维”文本复杂网络的话题表示模型,通过构建多个级别的特征词条来实现知识网络的降维。Subbian等[25]利用社交网络中信息传播原理,并基于贪心策略寻找与信息流最为密切相关的实体,为知识网络的关系约简提供了一种可参考的思路。Rosenberg[26]提出了一种最大信息熵最小覆盖的模型,并定义了一种新的信息维度计算方法,提高了计算信息维度的效率。
文中针对知识联想关系网络的生成特点,提出了3种不同的约简方法进行实验分析:
1)全局联想最大记忆保留约简方法,即对于知识网络中的所有关系对,根据联想强度进行降序排序,并且设置一个阈值α,然后约简去除掉权重小于α的所有关系对。
2)局部联想最大记忆保留法,即对于知识网络中每一个知识节点,将它的所有直接联想知识根据联想强度进行降序排序,并对设置一个阈值,然后从的直接联想知识中约简掉权重小于的所有关系对。
3)随机约简方法,即随机地从知识网络中选择部分关系对进行约简去除。
由于人脑联想记忆的过程是非常复杂的,所以在定义了联想强度的基础上提出这3种约简方法,来尝试从相对简单的角度来模拟人脑的知识联想记忆重整的过程,并且根据文献[23]可知,从网络模型的角度来解释神经系统的话,关系强度高的节点对构成的边更加稳固,即知识之间的关联性更强,相对的相关知识更不容易被遗忘。而这3种约简方法在不同程度上符合神经系统的这种特点,其中全局联想最大记忆保留约简方法相比其他两种方法更加符合这一特点,局部联想最大记忆保留法次之,而随机约简方法在三者之中最不能体现人脑神经系统的这种特点。基于上述理论观点和后文的实验分析,我们来尝试模拟大脑的联想记忆过程。
1.4 联想关系强度重整
类比于神经元计算功能,考虑每个知识节点在联想计算过程中的对等性,可进一步对节点间联想关系强度进行如下方式的归一化重整:
1.5 联想路径的生成
对于约简后的知识网络,网络中的某个节点A到其他任意一个节点B的一条最短路径则被称为节点A到节点B的联想路径,从节点A开始,每连接一个节点则增加一次跳转数,本文中设置的联想路径的最大跳转数为7,如果联想路径的跳转数大于7的话,则认为A与B之间是不可达的。
2 实验研究
2.1 实验方案
研究中为更好地分析,选择了两个数据集作为实验对象。第1个数据集是利用爬虫技术从“美食百科[28]”和“食品百科[29]”上抓取的“健康知识”、“膳食营养”、“饮食误区”等主题的6 242篇饮食相关科普文章作为语料素材,下文中简称数据集Ⅰ。第2个数据集是由搜狗实验室[30]提供的标准数据集,该数据集包括1 953个关于体育类的新闻网页,所有的新闻网页来自于搜狐体育[31],下文中简称为数据集Ⅱ。
依据1.2节所述方法,表1与表2分别给出了部分健康饮食知识术语间的联想强度值和部分体育知识术语间的联想强度值。
表 1 部分健康饮食知识术语间的联想强度Table 1 Association strength between some healthy eating knowledge terms
表 2 部分体育知识术语间的联想强度Table 2 Association strength between some sports knowledge terms
由表中分析可以发现,“鸡蛋”与“西红柿”“牛奶”的联想强度明显大于与“槐树”“纸巾”的联想强度,以及“足球”与“联赛”“世界杯”的联想强度明显大于与“国旗”“火箭”的联想强度,从联想记忆的角度来看,由“鸡蛋”这个知识更容易联想到“西红柿”和“牛奶”这两个知识,而不容易联想到“茴香”和“纸巾”这两个知识;同样的,由“足球”这个知识更容易联想到“联赛”和“世界杯”这两个知识,而不容易联想到“国旗”和“火箭”这两个知识。这一结果符合认知,即符合大脑的联想记忆的结果,这表明联想强度定义的方式有一定的合理性。
进一步,拟将构建的初始知识网络进行不同方法的约简,并对比分析它们的性能特征。
2.2 性能指标
传统的知识图谱的构建方法主要是从如何构建组成知识图谱的基本单元(通常为三元组的形式)这个角度来考虑的,而对于评价指标,基于监督学习和半监督学习的方法主要采用F值作为评价指标,而无监督的学习方法并没有统一的评价指标[27]。此外,现有的一些与图约简相关度较高的研究也往往是根据具体的应用场景来采用不同的评价指标,如NMI(归一化互信息)[32]。因此,单纯的基于知识图谱的评价指标和基于图约简的评价指标并不能较好地评估我们的模型方法。
考虑到知识联想关系网络的目标场景是最优地联想解释给定的语料库,则联想关系约简的性能指标可通过约简前后的联想分析代价值来进行评估。联想分析代价值表示在一段知识序列中,所有相邻的两个知识产生联想关系需要的代价值之和,在联想相同个数的知识的前提下,联想分析代价值越低,联想的效率越高,即对应建模的效率越高。为此,首先引入定义2。
定义2设某一观测语料中一段文本的知识词序列为SQ =,其联想分析代价值定义为
否则,定义
分析知识序列的联想分析代价值的定义可知,约简后的关系网络虽然节点间的连通度会降低,但对于特定的观测语料,其联想分析代价值并不一定会增大。也即在网络中知识节点总数没有减少,总的联想能力没有减少的情况,减少一些非关键的联想关系,有可能提升观测语料的联想分析效能。
进一步,考虑到每个语料文档中知识词出现的次数规模可能不一样,可引入文档联想建模代价定义:
基于上述文档联想建模代价值的定义,可通过对比观测文档的联想建模代价值和有效上下文联想占比值来定量地评估利用不同约简方法进行知识建模的实际性能。
2.3 实验结果与分析
基于前述数据集Ⅰ和数据集Ⅱ,通过分析不同约简度R下的观测文档联想建模代价值和有效上下文联想占比值,研究分析本文所提知识网络建模方法特征性能,并用联想建模代价差值表示文档集中约简前的平均文档联想建模代价值减去约简后的平均文档联想建模代价值。理论上,约简前后的联想建模代价差值应该会随着约简程度的增加而增加,且约简前后的联想建模代价差值越大,说明约简的效果相对越好,当联想建模代价差增加到一定程度时,就会达到峰值,继续对知识网络进行约简的话联想建模代价差应该会开始变小,甚至变为负值,此时就造成了“过度约简”。表3、表4首先分别给出在数据集Ⅰ上,R=0.1和R=0.7时的平均文档联想建模代价,以及有效上下文联想建模的占比,其中有效上下文联想建模的占比表示的是约简后的知识网络中连通的关系对数目与约简前的知识网络中连通的关系对数目的比值。
表 3 R=0.1时数据集I上不同约简策略的性能比较Table 3 Performance comparison of different reduction strategies on data set I with R=0.1
表 4 R=0.7时数据集I上不同约简策略的性能比较Table 4 Performance comparison of different reduction strategies on data set I with R=0.7
分析表3可知,当初始知识网络约简掉10%的关系对的时候,3种策略得到的平均文档联想建模代价相比于未约简前均有所减小。而其中全局联想最大记忆保留策略方法表现出了最优的综合性能结果。进一步分析表4结果可知,其结果特征与表3结果相一致。图4进一步给出具体的约简前后联想建模代价差值随约简程度变化曲线。
分析图4中曲线关系可知,对于3种方法而言,约简程度越高,约简前后的联想建模代价差值越大,当约简到一定程度时,联想建模代价差达到最大,继续约简的话联想建模代价差开始变小,甚至变为负值。进一步地,全局联想最大记忆保留法得到的联想建模代价差在三者中是最大的,并且联想建模代价差的峰值随约简程度增加出现得更晚,局部联想最大记忆保留法次之,而随机约简法得到的约简前后的差值是最小的,且联想建模代价差峰值出现的最早。
图 4 约简前后联想建模代价差值随约简程度变化曲线(3种不同方法在数据集Ⅰ上的实验结果)Fig. 4 The changes of the cost of association modeling before and after reduction with the reduction degree(Experimental results of three different methods on data set Ⅰ)
对比表3、表4结果可知,随着约简程度的增大,有效上下文联想比例有所下降。图5进一步给出了具体的变化曲线。
图 5 非成功联想关系对所占比例随约简程度变化曲线(3种不同方法在数据集Ⅰ上的实验结果)Fig. 5 The curves of the proportion of unsuccessful associations with the degree of reduction (experimental results of three different methods on data set Ⅰ)
分析图5可知,3种方法都是随约简程度的增加,非成功联想关系对的比例逐渐增加,但是全局联想最大记忆保留法增加的最为缓慢,且上限值在三者之中最小,局部联想最大记忆保留法次之,随机约简增加幅度最大,增长速度最快,且上限最大。这一结果与经验逻辑结果相一致,也间接表明了文中所定义的相关评价指标的合理性。同时还表明全局联想最大记忆保留法的性能在三者之中属最好,局部联想最大记忆保留法次之,随机约简法的性能最差。这一结论在很高程度上符合人脑遗忘的规律:最后看到的或者与之前看到的相关性比较高的知识总是相对不易忘记,而最先看到的或者相关性比较低的知识相对就比较容易忘记。
表5、表6表示在数据集Ⅱ上,R=0.1和R=0.7时平均文档联想建模代价,以及有效上下文联想建模的占比。
表 5 R=0.1时数据集II上不同约简策略的性能比较Table 5 Performance comparison of different reduction strategies on data set II with R=0.1
表 6 R=0.7时数据集II上不同约简策略的性能比较Table 6 Performance comparison of different reduction strategies on data set Ⅱ with R=0.7
分析表5可知,当原有知识网络约简掉10%的关系对时,与数据集Ⅰ上的结论类似,3种策略得到的平均文档联想建模代价相比于未约简前均有所减小。而其中全局联想最大记忆保留策略方法表现出了最优的综合性能结果。进一步分析表6结果可知,其结果特征与表5的结果并不完全一致,其中对于全局联想记忆保留策略得到的平均文档联想建模代价更小了,而局部联想最大记忆保留策略和随机约简策略得到的平均文档联想建模代价反而变大了。这表明在数据集Ⅱ上,利用局部联想最大记忆保留策略和随机约简策略对原有知识网络约简掉70%的关系对时,属于“过度约简”了,而利用全局最大记忆保留策略对原有知识网络进行同程度的约简后,依然能够较好地解释整个语料集。图6进一步给出具体的联想建模代价差值随约简程度变化曲线。分析图6中曲线关系可得出与图4类似的结论,即全局联想最大记忆保留法得到的联想建模代价差总是最大,并且联想建模代价差的峰值随约简程度增加来的更晚,局部联想最大记忆保留法次之,而随机约简法得到的约简前后的差值是最小的,且联想建模代价差峰值来得最早。图7给出了在数据集Ⅱ上非成功联想关系对所占比例随着约简程度的变化曲线。
图 6 约简前后联想建模代价差值随约简程度变化曲线(3种不同方法在数据集Ⅱ上的实验结果)Fig. 6 The changes of the cost of association modeling before and after reduction with the reduction degree(Experimental results of three different methods on data set Ⅱ)
图 7 非成功联想关系对所占比例随约简程度的变化曲线 (3种不同方法在数据集Ⅱ上的实验结果)Fig. 7 The curves of the proportion of unsuccessful associations with the degree of reduction (Experimental results of three different methods on data set Ⅱ)
图7 中的曲线的整体变化趋势与图5类似,这表明,数据集Ⅱ上的结果与数据集Ⅰ上的结果基本一致,进一步证明了本模型的可靠性以及该指标的可行性。
2.4 实例分析
进一步,考虑对约简后的知识联想关系网络进行关系实例分析。表7给出了在数据集Ⅰ上几组典型的模拟实验结果;表8给出了在数据集Ⅱ上几组典型的模拟实验结果,其中约简前的联想分析代价值表示的是约简前的知识网络中该关系对所包含的知识序列的联想分析代价值的总和;约简后的联想分析代价值表示的是约简后的知识网络中该关系对所包含的知识序列的联想分析代价值的总和。
分析表7和表8中的前两个实例可知,对于关系对<A,B>如果在约简过程中该关系对被约简掉了,且约简后的知识网络中还能找到一条从知识A到知识B的最短联想路径,则该路径的联想分析代价值有可能小于未约简前关系对<A,B>的联想分析代价值,即约简后由知识A联想到知识B的代价减小了。分析表7和表8中第3个实例可知,如果关系对<A,B>在约简过程中没有被约简掉,即约简后B还是A的直接联想知识,则在约简后的知识网络中关系对<A,B>的联想分析代价值往往不大于未约减时的联想分析代价值,该性质也符合式(2)的定义。从这一角度看,文中提出的知识联想关系网络通过知识约简能较好地去除知识网络的冗余性,在一定程度上提高了建模的效率。
表 7 约简后产生的关系路径实例(数据集I)Table 7 Relationship path instance generated after reduction (data set I)
表 8 约简后产生的关系路径实例(数据集II)Table 8 Relationship path instance generated after reduction (data set II)
3 结束语
本文提出了一种基于图约简的知识联想关系网络建模方法,该方法从大脑的联想记忆的角度出发,使用自主爬取的食品领域的语料和搜狗实验室提供的体育领域的语料作为实验的数据集,先利用知识的共现关系构建初始的知识网络,然后对初始的知识网络利用不同的约简策略进行约简形成联想关系网络,并利用文档的联想建模代价值来评价约简后的联想关系网络,实验结果表明,利用本文提出的方法能够有效地提高知识网络建模的效率,在大规模知识网络构建中有显著的使用价值。同时,为知识图谱建模方法提供了一种可参考的新思路,也为探索类脑联想记忆的研究提供一定的借鉴意义。