基于神经网络的中国企业知识图谱构建与应用

基于神经网络的中国企业知识图谱构建与应用

摘要:由于增加了创业意识和政策激励,企业的数量增长和复杂关系。如何有效地对企业进行监督,发现企业之间的隐性关系,是企业管理者和金融从业者面临的挑战。知识图谱作为知识工程的有力工具之一,在一定程度上可以解决这一问题。然而,在构建企业知识图谱的过程中,非结构化数据的利用率较低。此外,在大多数的研究工作中,只强调构建知识图的一个方面,而忽略了整个处理流程。为了解决这一问题,本文利用深度学习模型,提出了基于非结构化数据在web上构建中国企业知识图谱的过程和方法,并实现了检索和问答的应用。

介绍

如今,人们通过零散的、碎片化的网页获取自己想要的知识,但这种形式已经不能满足人们的需求。知识图技术提供了一种从大量网页或海量数据中快速、准确、智能地获取有用的结构化知识手段,具有广阔的应用前景。谷歌在2012年提出了知识图的概念。它最初是用来提高谷歌搜索引擎的搜索能力。现在,知识图不仅用于智能检索,还逐渐应用于个性化推荐、问答、文本理解等方面。知识图谱按其内容的广度和深度可分为通用知识图和垂直领域知识图谱。一般知识图谱,如DBpedia,Y AGO, Freebase等,包含常识和概念知识,而垂直领域针对性强,不能在垂直字段中使用。因此,每个垂直行业都在构建自己的知识图谱,如地理、社会、医疗、商业等。商业系统是一个巨大的系统,企业的数量在不断增加,而且不诚实和违法企业的行为也越来越多。此外,由于投资主体的多元化和企业集团管理的发展,企业之间的关系变得越来越复杂,呈现出越来越隐蔽化的趋势。这给企业信用评估、高风险企业发现、企业监管等带来了挑战。国内外学者构建了企业领域的知识图谱来解决这个问题。但在构建企业知识图谱的过程中,非结构化数据的利用率较低,缺乏统一的体系结构。提出了构建中国企业知识图谱的体系结构和过程,并利用递归神经网络模型获取非结构化数据中的三元组。在构建知识图谱的基础上,构建了一个交互式的知识展示平台。在该平台上,用户可以查询知识图中的实体,并使用自然语言进行提问。

整体框架

构建知识图的总体框架如图1所示。主要包括知识提取、知识融合、知识存储和知识应用四个部分
基于神经网络的中国企业知识图谱构建与应用_第1张图片
构建知识图谱的数据源主要基于请求框架进行抓取,包括垂直网站,如工商研究院、金融网站等。也有百科网站,如百度百科。在中国工商研究院、百度百科等网站中,公司信息多为半结构化数据,以实体-属性对的形式呈现。通过对网站的分析,可以得到结构良好的数据。建立一个上市公司的实体对齐和获取数据后的知识应用的字典。企业新闻文本等非结构化数据主要来源于金融网站,其中包含大量信息,采用深度学习方法获取企业实体、个人实体及其关系,丰富知识图谱。

知识提取

知识提取是构建知识图谱的第一步,也是关键的一步。它需要从不同来源、不同结构的数据中获取知识,包括实体、实体关系和属性信息。根据这个数据源,知识抽取分为两类:半结构化数据的抽取和非结构化新闻文本的抽取。百科全书网站和中国工商研究院的网站数据都是基于html的网络数据,可以通过查找标签符号来定位待提取的网页元素。通过手工处理,可以获得大量的实体属性信息和少量的关系信息。新闻文本的提取是我们研究的重点,新闻文本的提取分为实体提取和实体关系提取。实体提取采用命名实体识别的方法。给定一段文本,在文本中识别人物、地点和机构的名字。在本任务中,经典的模型是基于字符[13]的双向lstm和条件随机场(BLSTM-CRF)模型。然而,经典的BLSTM-CRF模型不能很好地利用单词和单词序列信息。本文采用Lattice LSTM模型[14]提取企业实体和人名。经过训练的模型可以从文本数据中自动识别公司的缩写和全名,以及人员的姓名。模型分为嵌入层、BLSTM层和CRF层。如图2所示。本文采用BIOES标签策略。
基于神经网络的中国企业知识图谱构建与应用_第2张图片

嵌入层

神经网络只能接受数值型的输入,因此第一层嵌入层需要将字词映射为相应的向量。若将句子表示成 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,cj+1] x b , e w = e w ( w b , e d ) x^{w}_{b,e}=e^{w}(w^{d}_{b,e}) xb,ew=ew(wb,ed)

BILSTM层

LSTM网络包括三个门:输入门、遗忘门和输出门。LSTM的基本计算公式如下:
基于神经网络的中国企业知识图谱构建与应用_第3张图片
i j c , f j c , o j c i^{c}_{j},f^{c}_{j},o^{c}_{j} ijc,fjc,ojc表示输入门、遗忘门和输出门, b c b^{c} bc是模型的参数。 σ \sigma σ表示激活函数,不同于基本的LSTM,Lattice LSTM每个细胞 c j c c^{c}_{j} cjc的计算需要考虑单词中的单词字符晶格 x b , e w x^{w}_{b,e} xb,ew,使用 c b , e w c^{w}_{b,e} cb,ew表示 x b , e w x^{w}_{b,e} xb,ew的状态, c b , e w c^{w}_{b,e} cb,ew可以用下面的计算公式进行计算:
基于神经网络的中国企业知识图谱构建与应用_第4张图片
i b , e w , f b , e w i^{w}_{b,e},f^{w}_{b,e} ib,ew,fb,ew表示LSTM的输入门和遗忘门的集合。通过与每个隐藏层的计算, c j c c^{c}_{j} cjc受到多个路径的的信息的影响。例如: c 4 c c^{c}_{4} c4c将被之前隐藏层 x 4 c x^{c}_{4} x4c c 3 , 4 w c^{w}_{3,4} c3,4w影响。将所有的 c b , e w c^{w}_{b,e} cb,ew c e c c^{c}_{e} cec连接起来,使用另外的一个门 i b , e c i^c_{b,e} ib,ec来控制从 c b , e w c^{w}_{b,e} cb,ew c b , e c c^{c}_{b,e} cb,ec的信息流动。
在这里插入图片描述
因此 c j c c^{c}_{j} cjc的计算公式可以表示为:
在这里插入图片描述
在上面的公式中, i b , j c i^{c}_{b,j} ib,jc i j c i^{c}_{j} ijc被正则化成了 α b , j c \alpha^{c}_{b,j} αb,jc α j c \alpha^{c}_{j} αjc,所以所有的 α b , j c \alpha^{c}_{b,j} αb,jc α j c \alpha^{c}_{j} αjc的和是1,正则化计算式如下:
基于神经网络的中国企业知识图谱构建与应用_第5张图片
根据公式得到单向网络的隐层输出。由于我们使用的是双向网络,最终的隐含层输出为:
在这里插入图片描述

CRF层

产生的隐藏层的输出 h 1 、 h 2 、 … … h t h_{1}、h_{2}、……h_{t} h1h2ht输入到CRF层,预测的标签序列概率
y = l 1 、 l 2 、 … … l t y=l_{1}、l_{2}、……l_{t} y=l1l2lt被表示成:
在这里插入图片描述
最后,利用Viterbi算法计算输出序列的最大概率。为了避免模型过拟合,采用了L2正则化的损失函数。公式如下:
在这里插入图片描述
企业关系的提取很大程度上借鉴了关系提取任务的方法,该方法旨在从自然语言文本中识别两个实体(e1, e2)之间存在的语义关系。本文将关系抽取任务视为一个多分类任务,将常见的企业关系类型作为预定义的关系类别,包括“合作”、“竞争”、“收购”、“投资”、“主管”和“未知”。门控循环网络良好的记忆力和一些参数,所以带有标签的数据被用来训双向GRU网络来自动的获取关系。将训练后的模型与实体识别模型相结合,提取未标记数据的三元组。
在实验中,我们标记了5000个实体识别数据和1500个关系数据集,按照8:2的比例分为训练集和测试集。实验采用了常用的性能评价标准:精度、召回率和F1测量。实验结果表明:本文中使用的实体识别模型可以达到91.04%的精确率和92.31%的召回率。关系提取的模型的准确率为89.6%、召回率为86.8%。

知识融合

在对来自多个数据源的异构数据进行上述知识提取后,需要对知识进行整合,并对同一事物的不同表示进行合并,从而构建出更加一致、准确、丰富的知识图。在此过程中,主要目的是对齐实体。实体对齐设计用于确定两个实体是否为同一实体。例如,“中国石油”和“中国石化”是同一个实体。百度百科全书和中国商业产业研究院的实体数据提供了属性信息。实体相似度是通过计算同一属性的属性值相似度得到的,从而判断它是否是同一实体。在计算属性的相似度之前,需要对实体的属性进行规范化,比如网站和日期的编写方法。用相同的属性,不同的表达式统一表示属性。例如:“官网”和“公司网站”是相同的属性,将其改写为“官网”属性。“外国名”和“英文名”是同一个属性,合起来写为“英文名”。具体步骤如下:
step1:清理数据,规范实体属性的写入。
step2:获取两个实体的相同属性集。
step3:设置阈值 σ \sigma σ,字符串的值与在同一个属性集中的第i个的属性分别为 s i 1 s_{i1} si1 s i 2 s_{i2} si2,计算 s i 1 s_{i1} si1 s i 2 s_{i2} si2的 Levenshtein distance(原理可参考:Levenshtein distance)得到 d i d_{i} di,如果 d i > σ d_{i}>\sigma di>σ,他将会被划为同一实体,如果 d i < σ d_{i}<\sigma di<σ,继续计算与i+1的相似度:
在这里插入图片描述
其中len( s i 1 s_{i1} si1)表示序列 s i 1 s_{i1} si1的长度,len( s i 2 s_{i2} si2)表示序列 s i 2 s_{i2} si2的长度, n o p n_{op} nop表示从字符串 s i 1 s_{i1} si1到字符串 s i 2 s_{i2} si2的编辑距离,包括插入、删除和代替。对于从新闻文本获得的三元组数据,实体没有属性信息。使用上述获得的公司全名字典来计算字符串相似度以进行对齐

知识存储

经过知识融合和三元组表示后,需要将数据存储在数据库中,以便于搜索和回答问题。知识图包含了大量的关系。与传统数据库相比,图数据库以实体和关系为基本单位,特别适合多级、多样化复杂关系的查询和分析。另外,图数据库可以方便高效地存储十亿级的数据,而关系数据库在这种规模下需要设计库和表。图数据库更适合存储知识图。我们选择Neo4j数据库[17],它提供了一种完整的图查询语言,并支持各种图挖掘算法。在Neo4j中,节点代表实体,边代表实体之间的关系。我们抓取了a股上市公司的信息和10个月的新闻文本。我们构建的知识图谱包括企业、行业、董事长、总经理、法人代表、产品、监事、董事长董事、董事长秘书等9类实体。行业内有董事长、经理、法定代表人、主营产品、监事、董事、董事长秘书、子公司、合作、投资等十余种关系。实体属性有英文名称、成立时间、办公地址、缩写、官方网站等21种类型。数量如表Ⅰ所示:
在这里插入图片描述
Neo4j已经可以可视化节点,但是它需要使用Neo4j自己的密码语言来查询,这对于非专业人员来说是很困难的。因此,基于构建的知识图构建一个用户交互平台。该平台分为企业检索和问答两个模块。它使用Flask, jquery.js, echarts.js构建,并通过友好的界面将知识图呈现给用户
检索企业:
平台的检索企业模块可以根据输入的实体返回实体的可视化信息以及实体节点的相关节点。如图3所示。
问题应答:
用户输入问题并返回问题的答案和关于其中的企业实体属性的信息。本文实现了基于模板的问答系统。基于模板的方法精度高,响应时间快。这些步骤可以分为四个步骤。
step1:使用已有的实体字典和AC自动机对输入问题中的实体进行匹配。
step2:不同意图的问题会有不同的特征词。根据预先定义的特征词集,确定问题的意图。
step3:根据获得的实体和意图,匹配预先定义的问题模板,将自然语言问题转化为结构化问题。
step4:在neo4j中查找问题的答案,同时查询句子中实体的属性信息,并以JSON数据格式返回显示界面。效果如图4所示。
基于神经网络的中国企业知识图谱构建与应用_第6张图片

总结

本文基于web上的非结构化和半结构化数据,提出了构建企业知识图谱的思路和方法,并对来自多个数据源的数据进行了集成。我们浏览了百科全书式的网站垂直站点获取不同类型的数据。对于新闻文本,引入Lattice LSTM模型来识别企业名称和个人名称,利用训练好的双向GRU模型来识别实体对之间的关系,从而得到句子中的三元组。为了更好地利用知识图中的内容,设计并搭建了一个用户交互平台,实现了知识图的智能检索和问答。下一步是进一步探索知识图谱的更新。虽然在本文中使用了各种形式的数据,但仍然只是大量数据中的一小部分,使用这种方法可以提取更多的数据,丰富知识图谱。

你可能感兴趣的:(自然语言处理,人工智能,机器学习,深度学习)