基于神经网络的中国企业知识图谱构建与应用
摘要:由于增加了创业意识和政策激励,企业的数量增长和复杂关系。如何有效地对企业进行监督,发现企业之间的隐性关系,是企业管理者和金融从业者面临的挑战。知识图谱作为知识工程的有力工具之一,在一定程度上可以解决这一问题。然而,在构建企业知识图谱的过程中,非结构化数据的利用率较低。此外,在大多数的研究工作中,只强调构建知识图的一个方面,而忽略了整个处理流程。为了解决这一问题,本文利用深度学习模型,提出了基于非结构化数据在web上构建中国企业知识图谱的过程和方法,并实现了检索和问答的应用。
介绍
如今,人们通过零散的、碎片化的网页获取自己想要的知识,但这种形式已经不能满足人们的需求。知识图技术提供了一种从大量网页或海量数据中快速、准确、智能地获取有用的结构化知识手段,具有广阔的应用前景。谷歌在2012年提出了知识图的概念。它最初是用来提高谷歌搜索引擎的搜索能力。现在,知识图不仅用于智能检索,还逐渐应用于个性化推荐、问答、文本理解等方面。知识图谱按其内容的广度和深度可分为通用知识图和垂直领域知识图谱。一般知识图谱,如DBpedia,Y AGO, Freebase等,包含常识和概念知识,而垂直领域针对性强,不能在垂直字段中使用。因此,每个垂直行业都在构建自己的知识图谱,如地理、社会、医疗、商业等。商业系统是一个巨大的系统,企业的数量在不断增加,而且不诚实和违法企业的行为也越来越多。此外,由于投资主体的多元化和企业集团管理的发展,企业之间的关系变得越来越复杂,呈现出越来越隐蔽化的趋势。这给企业信用评估、高风险企业发现、企业监管等带来了挑战。国内外学者构建了企业领域的知识图谱来解决这个问题。但在构建企业知识图谱的过程中,非结构化数据的利用率较低,缺乏统一的体系结构。提出了构建中国企业知识图谱的体系结构和过程,并利用递归神经网络模型获取非结构化数据中的三元组。在构建知识图谱的基础上,构建了一个交互式的知识展示平台。在该平台上,用户可以查询知识图中的实体,并使用自然语言进行提问。
整体框架
构建知识图的总体框架如图1所示。主要包括知识提取、知识融合、知识存储和知识应用四个部分
构建知识图谱的数据源主要基于请求框架进行抓取,包括垂直网站,如工商研究院、金融网站等。也有百科网站,如百度百科。在中国工商研究院、百度百科等网站中,公司信息多为半结构化数据,以实体-属性对的形式呈现。通过对网站的分析,可以得到结构良好的数据。建立一个上市公司的实体对齐和获取数据后的知识应用的字典。企业新闻文本等非结构化数据主要来源于金融网站,其中包含大量信息,采用深度学习方法获取企业实体、个人实体及其关系,丰富知识图谱。
知识提取
知识提取是构建知识图谱的第一步,也是关键的一步。它需要从不同来源、不同结构的数据中获取知识,包括实体、实体关系和属性信息。根据这个数据源,知识抽取分为两类:半结构化数据的抽取和非结构化新闻文本的抽取。百科全书网站和中国工商研究院的网站数据都是基于html的网络数据,可以通过查找标签符号来定位待提取的网页元素。通过手工处理,可以获得大量的实体属性信息和少量的关系信息。新闻文本的提取是我们研究的重点,新闻文本的提取分为实体提取和实体关系提取。实体提取采用命名实体识别的方法。给定一段文本,在文本中识别人物、地点和机构的名字。在本任务中,经典的模型是基于字符[13]的双向lstm和条件随机场(BLSTM-CRF)模型。然而,经典的BLSTM-CRF模型不能很好地利用单词和单词序列信息。本文采用Lattice LSTM模型[14]提取企业实体和人名。经过训练的模型可以从文本数据中自动识别公司的缩写和全名,以及人员的姓名。模型分为嵌入层、BLSTM层和CRF层。如图2所示。本文采用BIOES标签策略。
嵌入层
神经网络只能接受数值型的输入,因此第一层嵌入层需要将字词映射为相应的向量。若将句子表示成 s = ( c 1 , c 2 , … … , c m ) s=({c_{1},c_{2},……,c_{m}}) s=(c1,c2,……,cm)的形式,需要将每一个字 c j c_{j} cj表示输入句子中的第j个单词。嵌入层将字映射成为向量映射为字向量,字符的bigram特征在一定程度上也可以表示分词信息。,因此将bigram特征向量和字符向量连接器俩充分表示句子信息。此外,还引入了大型语料库Giga-word通过对语料库中的句子进行匹配
来获取该词 W b , e d W^{d}_{b,e} Wb,ed,例如“根据”和“股份”。匹配的单词也被映射到一个向量 X b , e d X^{d}_{b,e} Xb,ed将被用在下一层。 e c , e b , e w e^{c},e^{b},e^{w} ec,eb,ew是在Giga-word语料库中通过word2vec模型被预训练的,输出的模型被表示为: x j c = [ e c ( c j ; e b ( c j , c j + 1 ] x^c_{j}=[e^{c}(c_{j};e^{b}(c_{j},c_{j+1}] xjc=[ec(cj;eb(cj,