面向知识扩充的实体关系挖掘

2016-03-22 13:43杨帅宋汝良
电脑知识与技术 2016年1期
关键词:知识图谱

杨帅++宋汝良

摘要:为了从自由文本中挖掘大量高质量的事实抽象出三元组,并将其与现有的知识库进行知识融合,提出了知识图谱构建中的知识扩充框架。首先对知识图谱的构建过程进行了认知,指出传统的关系挖掘仅仅是利用句法依存树抽取路径上的节点作为关系, 对于复杂句子表现较差。在此基础上建立了一种基于关系类型的结合多种特征的知识扩充框架,该方法自动获取高质量知识。效果在开放网页句子中达到F1值88%。

关键词:知识图谱;关系挖掘;知识扩充;句法依存;特征抽取

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)01-0028-03

Entity Relationship Discovery for Knowledge Growth

YANG Shuai1 , SONG Ru-liang2

(1.School of Electronic and Information Engineering of Tongji University, Shanghai 201804, China;2. Shanghai dream Creation Software Technology Co., Ltd., Shanghai 200092, China)

Abstract:To extract the high quality facts as triplets and merge them into existing knowledge base, an extended frame of knowledge growth in the construction of knowledge base is presented. Firstly, the process of knowledge base constructing is recognized. It is pointed out that the limitation in recognizing relationship between entities is to only rely on parsing dependency tree, and perform worse on complex sentences which contain large amount of entities. Then, the knowledge growth framework fusing different types of features is proposed for extracting high quality knowledge automatically. Finally, in web data sentences, the F1 measure of 88% of the presented method is demonstrated.

Key words:knowledge graph; relationship discovery; knowledge growth; dependency tree; feature extraction

随着互联网的普及以及中文搜索引擎的发展,存在于Web的数据越来越多,用户对互联网数据快速、准确、实时获取的需求越来越高。借助搜索引擎,用户可以迅速,快捷地找到相关的信息、知识。搜索引擎[1]通过进行网络爬虫、HTML的清洗(清除标签)、分词、建立倒排索引建立网页库,当用户通过搜索框键入关键词时,搜索引擎首先解析用户的查询意图(Query)并通过已建立的倒排索引,将匹配用户Query的结果展示。2012年,Google首次提出知识图谱(Google Knowledge Graph),旨在利用搜索系统建立的丰富的数据内容,将搜索结果进行整合、对齐、结构化,使得用户可以便捷迅速的获取知识,找到所求。因此构建知识图谱具有很高的研究价值以及应用价值。

1 相关工作

近年来国内外总结了构建知识图谱的方法,根据构建数据进行区分,包括基于百科类的构建[2]、基于互联网数据的构建、基于自由文本的构建方法与基于垂直网站的构建方法等。知识图谱构建中的技术包括:命名实体的挖掘、实体间关系的挖掘、知识的更新、知识的推理等,其中命名实体的挖掘和实体关系的挖掘为构建知识图谱的核心技术。命名实体的挖掘旨在在从文本信息(微博[3]、新闻、搜索内容[4]、评论文本等)中挖掘出存在的命名实体作为知识图谱中的顶点,包括人名、地名、机构名、时间、度量衡等[5]。实体关系挖掘的目的在于挖掘出实体之间的确定性关系作为知识图谱中的顶点(实体)之间的边[6]。实体关系的挖掘方法包含:基于现有边关系的挖掘(如社交媒体用户的挖掘[7],HTML中的链接分析等)、基于结构化的数据挖掘(如web页面的DOM挖掘、页面下表格的解析、百科中的INFOBOX的抽取[8]等)、基于自由文本的关系挖掘(如基于Query的挖掘,基于新闻类的事实挖掘)。

对于自由文本的关系挖掘,文献[9]介绍了一种根据模板进行关系挖掘的方法,通过预定义模板的方法有较高的准确率,但是存在的不足在于:创建模板(规则)所需要较大的人力投入、模板的局限性使得关系可扩展性较差以及模板本身的召回覆盖率较低。文献[10]介绍了根据句法依存关系进行挖掘实体间的关系的方法,通过句法分析工具将切句后的句子进行依存解析得到依存树,根据最小构建子树所形成的链路提取实体间的关系。这种方法减少了模板方法所需要的人力成本,同时准确度较高,但是依旧存在以下问题:对于较复杂的句子句法依存结构效果不明显、链路进行提取关系无法利用到句子的语义信息。本文提出一种集成方法,利用句法依存、模板、词法统计、相对位置等构建基本特征,并进行特征组合,利用随机森林(Random Forests)[11]作为分类器建立关系挖掘模型,在Web文本数据上效果达到了准确率85%召回率90%的效果。

2 面向知识扩充的关系挖掘计算框架

面向知识扩充的关系挖掘是对现有知识库的补充和完善。因而对于挖掘到的知识的质量、时效性、置信度等有更高的要求。同时,通过限定关系类型可以使得在保证高质量的情况下提高流程的复用性,减少模型迁移的成本。

2.1 总体流程

本文采取的是线下模型训练线上流式预测的手段,由数据获取、数据清洗、特征构建、训练模型组成,如图1所示:

图1 架构图

2.2 数据获取

为了达到实时性关系挖掘要求,实时性的数据抓取是该挖掘框架的重要组成部分。为了保证数据的真实性以及消息的准确性,本文所采用的数据源涵盖大型新闻门户站点,如新浪网、腾讯新闻网、搜狐新闻、百度新闻以及重要的官方新闻站点,如新华网、人民网等作为新闻站点源。通过爬虫爬取各个站点的首页并递归的抓取内容以及子页面的内容,并根据站点模板进行过滤,将符合要求的url以及数据保留,同时不再对不符合要求的url进行解析和抓取。

2.3 数据清洗

数据清洗的流程分为HTML解析、文本断句清洗以及候选关系 对(即<主语(Subject) ,关系(Predicate 或 Relation),宾语(Object)>)三个步骤。

1)由于所抓到的数据均为HTML源码,因此首先需要通过正则进行清洗标签,获取文中的文本信息,包含正文的标题部分、正文的段落、页面内其他的新闻标题等。

2)根据规则进行断句并清洗。本文选取单句作为最小关系挖掘单元,因此在清洗完HTML标签后,通过标点符号如“?”,“!”,“。”进行断句,并建立过滤规则如下:

①根据句子长短进行过滤。由于解析HTML正文的时候可能存有准确性问题,所以会产生一些长度异常的句子,在此处进行过滤;

②根据关系的关键词是否出现进行过滤。例如进行“儿子”关系挖掘时,句中必须出现“儿子”,“长子”等关键词。

3)根据关系的类型选出所有的关系候选集,即 对。对不同的关系类型,产生候选集的方法也不同。例如,对于人物关系挖掘,主语和宾语都为人名,并且主语和宾语不相同;对于职位关系挖掘,主语为人名,宾语为职位名全称;对于文学作品之间的关系,主语宾语都为作品名称,但是存在主语名称与宾语名称相同的情况。而后续的训练模型的目标则是通过选出这些候选集中正确的关系对,排除错误的关系对。

2.4 模型构建

模型构建分为特征构建(特征工程)以及分类器训练两个步骤。

2.4.1 特征工程

在数据挖掘的整个过程中,特征构建是关键环节,将直接影响最终的效果。常用的做法为首先构建部分特征集合,作为基础特征集合(Base Feature Set)。本文采取的基础特征有实体上下文特征(Entity Context)、实体相对位置特征、词法统计特征、句法依存特征[12]等。

然而增加新特征往往需要很大的人力成本,因此需要进行特征工程以提升模型的分类效果。特征工程主要分为三个部分:特征生成、特征评价、特征约减。特征生产通过一定的规则或穷举的方式尽可能全面地生成特征作为候选集合。特征评价是指通过一定的度量方式(如基尼系数、熵、统计[13]等)对候选特征在分类效果中进行评估。特征约减(有时也称为降维)通过选择、变换使得得到的新的特征集合数量远少于原有的特征,从而加快模型的训练速度以及预测速度(尤其对于非线性分类器),同时分类效果基本保持不变。特征生产通过特征组合,形成新的特征集合并加入原有特征集合中形成。对于n个特征,两两组合形成的特征有个,因而存在大量的无效特征,因此需要进行特征选择。本文采取统计每个特征的值,通过排序选取较大的特征作为新特征的方法进行特征选择。对于每一个特征计算值公式如式(1)所示:

(1)

其中n为样本总数,即 ,a、b、c、d含义如表1所示,

表1 特征-标签矩阵图

[ 样本数量 正样本 负样本\& 特征为1 a b\& 特征为0 c d\&]

2.4.2 分类器训练

一般的线性分类器往往对距离敏感,所以需要首先进行特征归一。而对于非线性分类(或回归)器(如决策树、GBDT、随机森林等),是通过度量方式(如根据Gini系数、熵等)进行分支,因此特征值的放缩不会影响分裂指标进而对输出结果产生影响。对于非线性分类器,随机森林和GBDT往往有较好的分类效果以及抗过拟合性,但是由于本次训练样本较少,因此采用随机森林作为分类器。

3 实验和结果分析

通过互联网中文文本进行实验并展示实验结果以验证基于关系类型的结合多种特征的知识扩充框架的有效性。

3.1 数据集

实验数据是通过对于新闻门户网站(如新浪新闻、腾讯新闻、百度新闻、搜狐新闻)等页面的抓取、解析、分句以及候选关系抽取产生,利用人工标注的手段,对于“弟弟”、“儿子”、“父亲”、“哥哥”、“姐姐”和“妹妹”共6种人物关系的2400个 <句子-关系> 进行标注得到的。数据格式包含三列:标签,关系和句子。并随机抽取(不放回的)70% 的样本为训练集,剩余的30%的样本为测试集。

3.2 评价标准

评价标准为常用的准确率、召回率以及F1值,其中准确率计算方法,如式(2)所示,

(2)

召回率计算公式如式(3)所示,

(3)

由于仅仅使用准确率或者召回率无法全面的衡量模型的效果,因此采取F1 值进行度量可以更好地权衡准确以及召回率。F1值计算公式如式(4)所示,

(4)

其中 ,即模型判为关系正确并且标签为正确的样本数,,即模型判为关系正确但标签为错误的样本数,,即模型判为关系错误但标签为正确的样本数。

3.3 实验结果

根据人工标注的6种关系的训练数据集分别建立六个关系模型,并分别验证模型在测试集的效果。结果如下图所示:

通过对于6种关系的2400 个样本进行实验,实验结果如图2所示,

图2 实验结果

分别对于“弟弟”、“儿子”、“父亲”、“哥哥”、“姐姐”和“妹妹”6种人物关系进行模型训练并在测试集上进行验证,准确率均在85%左右,召回率均在90%左右,F1值均在88%左右,降低了知识图谱的扩充所带来的错误知识增加的风险。

4 结语

本文提出的基于关系类型的结合多种特征的知识扩充框架在真实的互联网数据上能够抽取高质量的事实信息,以快速低成本地丰富完善现有的知识库,然而在知识的更新过程中对关系挖掘的模型要求更高(95%的F1值),因此后续还需要借助其他类型的数据(如垂直站点下的挖掘、百科的挖掘)进行数据融合,从而确保自动获取的知识有更高的纯度。

参考文献:

[1] 徐宝文, 张卫丰. 搜索引擎与信息获取技术[M]. 淸华大学出版社, 2003.

[2] Deshpande O, Lamba D S, Tourn M, et al. Building, maintaining, and using knowledge bases: A report from the trenches[C]//Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. ACM, 2013: 1209-1220.

[3] Ritter A, Clark S, Etzioni O. Named entity recognition in tweets: an experimental study[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2011: 1524-1534.

[4] Guo J, Xu G, Cheng X, et al. Named entity recognition in query[C]//Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrieval. ACM, 2009: 267-274.

[5] 张晓艳, 王挺, 陈火旺. 命名实体识别研究[J]. 计算机科学, 2005, 32(4): 44-48.

[6] Zhang C. DeepDive: A Data Management System for Automatic Knowledge Base Construction[D]. UW-Madison, 2015.

[7] Diehl C P, Namata G, Getoor L. Relationship identification for social network discovery[C]//AAAI. 2007, 22(1): 546-552.

[8] Bu F, Hao Y, Zhu X. Semantic relationship discovery with wikipedia structure[C]//IJCAI Proceedings-International Joint Conference on Artificial Intelligence. 2011, 22(3): 1770.

[9] 李娟, 张全, 贾宁, 等. 基于模板的中文人物评论意见挖掘[J]. 计算机应用研究, 2010, 27(3).

[10] 李付民, 杨静, 贺樑. 基于中文句法结构的关系挖掘[J]. 计算机工程, 2014, 40(7): 143-147.

[11] Liaw A, Wiener M. Classification and regression by randomForest[J]. R news, 2002, 2(3): 18-22.

[12] Culotta A, Sorensen J. Dependency tree kernels for relation extraction[C]//Proceedings of the 42nd Annual Meeting on Association for Computational Linguistics. Association for Computational Linguistics, 2004: 423.

[13] 王娟, 慈林林, 姚康泽. 特征选择方法综述[J]. 计算机工程与科学, 2005( 12).

猜你喜欢
知识图谱
国内酒店品牌管理研究进展的可视化分析
从《ET&S》与《电化教育研究》对比分析中管窥教育技术发展