CN113569050B - 基于深度学习的政务领域知识图谱自动化构建方法和装置 - Google Patents

基于深度学习的政务领域知识图谱自动化构建方法和装置 Download PDF

Info

Publication number
CN113569050B
CN113569050B CN202111117993.7A CN202111117993A CN113569050B CN 113569050 B CN113569050 B CN 113569050B CN 202111117993 A CN202111117993 A CN 202111117993A CN 113569050 B CN113569050 B CN 113569050B
Authority
CN
China
Prior art keywords
text
knowledge
government
field
steps
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111117993.7A
Other languages
English (en)
Other versions
CN113569050A (zh
Inventor
胡玉鹏
李宗营
黄崇凯
叶振宇
李丹
秦拯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN202111117993.7A priority Critical patent/CN113569050B/zh
Publication of CN113569050A publication Critical patent/CN113569050A/zh
Application granted granted Critical
Publication of CN113569050B publication Critical patent/CN113569050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

本发明公开了一种基于深度学习的政务领域知识图谱自动化构建方法,包括领域数据集构建和知识图谱构建,所述领域数据集构建具体包括如下步骤:网址收集;超链接去重;网页正文抽取;领域文档分类;数据集构建;所述知识图谱构建具体包括如下步骤:知识抽取;知识修正;知识融合;知识存储以及知识图谱动态展示。本发明的有益效果如下:有效的在缺乏领域专家的情况下构建了政务领域三元组数据集;本发明提出的知识抽取法在实体关系识别中的表现较为优秀,准确率和召回率均较高;提出了知识修正的概念,分别针对实体及关系提出了修正方法,使得知识的表达更加完善。

Description

基于深度学习的政务领域知识图谱自动化构建方法和装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于深度学习的政务领域知识图谱自动化构建方法和装置。
背景技术
目前传统的政府工作方式已经慢慢的无法适应时代的发展,“互联网+政务服务”已逐渐成为政府工作的常态,而面对如此之多的电子政务信息,无论是政府工作人员,还是普通的人民群众,都很难准确、迅速的从中获取到完善的政务信息,所以有必要开发一种可以将繁杂的知识组织到一起,并直观的展示给人民大众的工具,知识图谱正是具备这样能力的一种工具。
目前国内外对于通用领域的知识图谱研究已经相当广泛,而垂直领域的知识图谱研究还比较缓慢,针对的垂直领域也大多集中于热门的影视、音乐、法律和金融等领域,针对政务领域知识图谱的研究还比较少。
然而目前电子政务知识图谱的构建还存在着诸多的困难,由于领域特殊性,电子政务实际上包含了诸多子领域,比如信访领域、邮电领域及外交领域等,传统的基于依存句法分析的方法很难获取到准确的知识,而基于机器学习的方式又由于领域特殊性,缺乏足够的领域专家来定义相关的知识特征,很难通过特征工程来优化机器学习算法的效果。
发明内容
本发明的目的在于提供一种基于深度学习的政务领域知识图谱自动化构建方法、装置及存储介质,其可以解决背景技术中涉及的技术问题。
本发明的技术方案为:
一种基于深度学习的政务领域知识图谱自动化构建方法,该方法包括如下步骤:
步骤1、领域数据集构建,具体包括如下步骤:
步骤1.1、网址收集,收集信访领域的政府网站以及带有政务领域关键词的相关网站,并形成网站列表;
步骤1.2、超链接去重,利用Bloom Filter对网站列表进行超链接去重;
步骤1.3、网页正文抽取,采用基于行块分布函数的网页正文抽取算法从经过超链接去重后的政府网址列表中的网页中抽取网页正文内容;
步骤1.4、领域文档分类,采用基于领域词典的领域文本分类算法对抽取的网页正文内容进行分类,保存政务领域文本;
步骤1.5、数据集构建,采用百度Saoke数据集对保存的政务领域文本进行数据标注,得到政务领域的三元组数据集;
步骤2、知识图谱构建,具体包括如下步骤:
步骤2.1、知识抽取,将政务领域文本进行文本内容切分,得到文本串,然后按文本串在政务领域文本中出现的顺序进行拼接,直到拼接后的文本长度与 512 个字符最为接近时,得到一个模型输入序列,直到所有文本串都完成拼接操作,然后使用Bert模型抽取拼接后的文本序列中的实体和关系,并以RDF的标准组织三元组,最后将三元组数据存取到csv文件当中;
步骤2.2、知识修正,采用基于限定词性的关键词实体修正算法对csv文件中存取的三元组数据进行实体修正,在实体修正后,使用关系修正算法进行关系修正,得到政务领域三元组;
步骤2.3、知识融合,逐个计算政务领域三元组的实体的主语与主语之间、宾语与宾语之间以及主语与宾语之间的相似度,若两个实体的相似度达到阈值则对该两个实体进行融合,得到完整的政务领域三元组;
步骤2.4、知识存储,具体包括如下步骤:
步骤2.41、读取csv文件,解析三元组数据,使用rdflib的api将三元组数据存储到petition.rdf文件中;
步骤2.42、使用gStore命令导入rdf文件,构建图数据库;
步骤2.43、开启gHttp服务,以供外部访问图数据库;
步骤2.5、知识图谱动态展示,包括:
知识图谱查看,当用户打开知识图谱展示网页时,网页自动向后台Django框架发送获取所有实体关系的HTTP请求,Django框架收到请求后,向gStore发送无条件的查询请求,并将查询请求返回给前端,交由vue框架渲染网页;
实体检索,用户在搜索框中输入要检索的实体,然后点击检索按钮发送请求;随后Django框架根据请求构建查询语句,向gStore发送有条件的查询请求,最后将查询结果交由前端渲染。
作为本发明的一种优选改进:在步骤1.3中,网页正文抽取具体包括如下步骤:开始、原始网页、去除网页标签、网页分块、找出文字骤升和骤降的块、提取骤升和骤降块间的文字、结束。
作为本发明的一种优选改进:在步骤1.4中,领域文档分类具体包括如下步骤:
步骤1.41、数据预处理,使用jieba工具对网页正文内容进行分词和过滤停用词;
步骤1.42、提取候选关键词,对数据预处理后的网页正文内容进行标注,选出具有领域特征的词汇;
步骤1.43、构建特征矩阵,选用了TF-IDF 特征、词频特征、词长特征以及位置特征;
步骤1.44、使用 lightGBM 进行分类,将领域关键词提取任务转换为分类任务。
作为本发明的一种优选改进:在步骤2.1中,文本序列输入到Bert模型的BertEmbedding 层之前,还包括如下步骤:
将标记“[CLS]”和“[SEP]”分别添加的句子首尾,具体如下式所示:
Figure 65855DEST_PATH_IMAGE001
其中x为原始文本,
Figure 8272DEST_PATH_IMAGE002
为满足 Bert 输入要求的文本序列。
作为本发明的一种优选改进:在步骤2.1中,文本序列输入到Bert模型的BertEmbedding 层之前,还需进行“token”化处理,具体包括如下两个步骤:
1) 对
Figure 538611DEST_PATH_IMAGE002
进行分词处理,对于中文来说,分词是以字为单位进行切分的,如下式所示:
Figure 88541DEST_PATH_IMAGE003
其中
Figure 969909DEST_PATH_IMAGE004
为“[CLS]”标签,
Figure 466749DEST_PATH_IMAGE005
为“[SEP]”标签,
Figure 366441DEST_PATH_IMAGE006
为原始文本中的单字;
2) 将
Figure 759376DEST_PATH_IMAGE007
映射到 Bert 的词汇表中,得到文本的“token”表示
Figure 128041DEST_PATH_IMAGE008
,即将单个字和标签映射到其在词汇表中出现的位置:
Figure 162993DEST_PATH_IMAGE009
其中position为位置映射函数,其功能为找出文字在 Bert 的词汇表中的角标;
Bert模型中包含了多个Transformer,设其数量为N,则 Bert模型嵌入层输出表示为:
Figure 730241DEST_PATH_IMAGE010
特别的,当i=0时:
Figure 808924DEST_PATH_IMAGE011
其中
Figure 664884DEST_PATH_IMAGE012
为一个嵌入向量,由Bert训练时得到,
Figure 503527DEST_PATH_IMAGE013
为一个长度和
Figure 597385DEST_PATH_IMAGE014
一致的0向量。
作为本发明的一种优选改进:在步骤2.1中,网页内容切分具体包括如下步骤:
步骤2.11、开始;
步骤2.12、网页正文;
步骤2.13、按句号分割句子;
步骤2.14、构建句子库;
步骤2.15、判断句子库是否为空,若是,则执行步骤2.16;若否,则执行步骤2.17;
步骤2.16、结束;
步骤2.17、拼接句子;
步骤2.18、判断句子长度是否大于512,若否,则执行步骤2.19;若是,则执行步骤2.20;
步骤2.19、返回执行步骤2.17;
步骤2.20、去掉最后拼接的句子,并返还去掉的句子到句子库;
步骤2.21、向句子库输出拼接的句子,并返回执行步骤2.17。
作为本发明的一种优选改进:在步骤2.2中,实体修正具体包括如下步骤:开始、原始文章、分词及词性标注、计算TextRank值、剔除不符合词性要求的词汇、输出TextRank值最大的词汇并替换“_”、结束。
作为本发明的一种优选改进:在步骤2.2中,关系修正具体包括如下步骤:
步骤2.21、开始;
步骤2.22、三元组数据;
步骤2.23、判断主语出现在关系序列中,若是,则执行步骤2.24;若否,则执行步骤2.25;
步骤2.24、替换关系序列中的主语为“X”;
步骤2.25、判断宾语是否出现在关系序列中,若是,则执行步骤2.26;若否,则执行步骤2.27;
步骤2.26、替换关系序列中的宾语为“Y”,然后执行步骤2.27;
步骤2.27、结束。
本发明还提供了一种基于深度学习的相似文本检索装置,包括:
至少一处理器;
至少一存储器,用于存储至少一程序;
当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现所述基于深度学习的政务领域知识图谱自动化构建方法。
本发明还提供了一种存储介质,存储有处理器可执行的指令,处理器执行所述处理器可执行的指令时执行所述基于深度学习的政务领域知识图谱自动化构建方法。
本发明的有益效果如下:
1、提出了一种领域知识图谱三元组数据集的构建方法,从零开始,从互联网资源中筛选领域文档,然后在Saoke数据集的基础上,构建了政务领域三元组数据集,该方法可以在缺乏领域专家的情况下有效的构建用于深度学习的数据集;
2、提出了一种结合Bert的三阶段联合抽取实体及关系的深度学习模型,将政务领域的三元组抽取问题转换为条件序列生成问题,分三个阶段分别抽取主语、宾语及两者的关系。该模型在通用的Saoke数据集及本发明构建的政务领域数据集上进行了实验测试,分别取得了0.431和0.530的F1分数,结果表明,该模型在开放领域实体关系抽取上的表现优于传统的模型;
3、针对实体及关系抽取模型的不足,提出了知识修正的概念并实现了实体和关系修正的算法,有效的解决了模型无法处理长篇文章所带来的缺陷,并提高了知识表达能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为本发明领域数据集构建流程图;
图2为本发明文本分类器结构图;
图3为本发明的三阶段联合抽取模型结构图;
图4为三阶段联合抽取模型中进行序列标记的标注器结构图;
图5为三阶段联合抽取模型中Subject层的计算流程图;
图6为三阶段联合抽取模型中Object层结构图;
图7为三阶段联合抽取模型中Relation层结构图;
图8为本发明知识修正步骤中实体修正算法流程图;
图9为本发明知识修正步骤中关系修正算法流程图。
具体实施方式
下面将结合本发明实施例对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种一种基于深度学习的政务领域知识图谱自动化构建方法,该方法包括如下步骤:
步骤1、领域数据集构建,参阅图1所示,具体包括如下步骤:
步骤1.1、网址收集,收集信访领域的政府网站以及带有政务领域关键词的相关网站,并形成网站列表;
需要进一步说明的是,本发明选择使用 Request 工具包及 Scrapy 进行互联网资源的爬取,两者均为Python工具包,其中前者负责网络资源访问,获取网页数据,后者负责利用CSS选择器技术从网页资源中发现更多的超链接,并添加到爬取的网站列表之中。
步骤1.2、超链接去重,利用Bloom Filter对网站列表进行超链接去重;
需要进一步说明的是,在Bloom Filter中,使用了位图数组形式的Hashtable来存储数据,使用Hash函数来将超链接映射到其中的某一位,如果这个二进制位等于1,那么说明该超链接已经爬取过了。但是 Hash 函数由于其设计特性,可能会存在Hash冲突的问题,即对于两个不同的超链接a和b,可能会出现:
Figure 112549DEST_PATH_IMAGE015
为了减少Hash冲突,降低误判率,Bloom Filter的解决办法是引入多个不同的Hash函数,其思想非常简单:如果使用一个 Hash 函数计算得到一个值,这个值对应的某个二进制位等于 0,那么该元素一定不在 Hashtable 中,该超链接没有被爬取过;而如果多个不同的函数计算结果都表明该元素存在于 Hashtable中,那么会认为该超链接已经使用过了。
Bloom Filter的缺点很明显,由以上分析可以得到,其会存在一定的假阳性:被判定为已经使用过的超链接不一定是被使用过的。Bloom Filter会存在错判,但判定为没有使用过的超链接是肯定没有使用过的,不会导致爬虫死循环的情况。最后经过超链接去重处理,本发明一共爬取到了 400 多万个网页。
步骤1.3、网页正文抽取,采用基于行块分布函数的网页正文抽取算法从经过超链接去重后的政府网址列表中的网页中抽取网页正文内容;
具体的,网页正文抽取包括如下步骤:开始、原始网页、去除网页标签、网页分块、找出文字骤升和骤降的块、提取骤升和骤降块间的文字、结束。
需要进一步说明的是,传统的网页正文抽取方法一般是使用正则表达式和CSS选择器结合来提取内容,该方法需要针对不同网站进行适配,对于本发明要爬取的网页数量来说,其工作量是无法接受的。因此,本发明采取了基于行块分布函数的通用网页正文抽取的算法来提取网页正文内容。该方法的主要假设为:对于网页正文区域,其内容一般文字比较密集,空白的地方很少,而噪声数据一般来说文字稀少,且空白的地方多。因此,识别并提取网页中文字密集的部分就成了该算法最关键的部分。
该算法首先去除原始网页中的网页标签,得到一个粗糙的网页正文内容;然后按照一定的数量对网页内容进行分块,研究发现,当分块大小为 5 时,网页分块效果最好,最终得到的信访领域网页正文内容最为完整、准确;接着找出分块中发生文字骤升和骤降的块,其中分块之间的字数差异大于一定字数时,认为其发生了骤升或者骤降,本发明将该字数设定为86;最后提取出骤升和骤降快间的文本内容,作为网页正文内容输出。
步骤1.4、领域文档分类,采用基于领域词典的领域文本分类算法对抽取的网页正文内容进行分类,保存政务领域文本;
具体的,领域文档分类具体包括如下步骤:
步骤1.41、数据预处理,使用jieba工具对网页正文内容进行分词和过滤停用词;
步骤1.42、提取候选关键词,对数据预处理后的网页正文内容进行标注,选出具有领域特征的词汇;
步骤1.43、构建特征矩阵,选用了TF-IDF 特征、词频特征、词长特征以及位置特征;
步骤1.44、使用 lightGBM 进行分类,将领域关键词提取任务转换为分类任务。
需要进一步说明的是,构建政务领域知识图谱,需要对文本进行领域分类,只保存政务领域文本,以信访领域为例,引入了一个高效的领域文本分类算法:基于领域词典的领域文本分类算法。
本发明基于一种基于 lightGBM 的领域词典构建方法构建了一个信访领域的领域词典,其中包含 926 个词汇。
基于此领域词典构建了“ONE-HOT”特征矩阵,即如果某个领域词汇出现在文本中,那么就在特征矩阵对应位置置为 1,否则为 0。基于该特征矩阵,使用了一个全连接神经网络实现了一个文本分类器,该文本分类器结构如图2所示。
直接使用该领域词典构建“ONE-HOT”特征矩阵是不明智的,上述提到,提取到了926个词汇,然而一般来说信访领域的文本很少会包含那么多的词汇,使用如此大的词汇表会导致构建的“ONE-HOT”矩阵非常稀疏,造成不必要的内存和计算消耗。因此,本发明在原方法的基础之上,额外考虑了词汇在数据集中出现的次数,即在一个文本中出现则计数一次,然后根据计数值对领域词汇进行排序,最后选取了128个出现频次较高的词汇来构建特征矩阵。
根据上述步骤,本发明训练了一个准确率很高的文本分类算法,其与经典深度学习文本分类算法的比较如表1所示:
表1 文本分类算法比较
Figure 190227DEST_PATH_IMAGE016
最后经过领域文本的筛选,本发明一共获得了20000多个领域文本。
步骤1.5、数据集构建,采用百度Saoke数据集对保存的政务领域文本进行数据标注,得到政务领域的三元组数据集;
需要进一步说明的是,Saoke数据集是由百度公开的数据集,该数据集一共包含了40806条句子,最大句子长度不超过350个字符,其中的实体和关系大部分是原文的表达,除了原文表达外,由于部分句子中关系的主语(Subject)或宾语(Object)并不在该句子中,如句子“持续巩固扩大教育整顿成果”中,“巩固”的主语并没有在句子中体现,因此,Saoke数据集额外添加了字符“_”作为实体的一种,表示未知实体。
本发明在信访领域文本的基础上,选取了2000个文档进行标注,其中每个文档标注20个句子,最终按照Saoke数据集的定义方式标注了40000个句子。
步骤2、知识图谱构建,具体包括如下步骤:
步骤2.1、知识抽取,将政务领域文本进行文本内容切分,得到文本串,然后按文本串在政务领域文本中出现的顺序进行拼接,直到拼接后的文本长度与 512 个字符最为接近时,得到一个模型输入序列,直到所有文本串都完成拼接操作,然后使用Bert模型抽取拼接后的文本序列中的实体和关系,并以RDF的标准组织三元组,最后将三元组数据存取到csv文件当中;
具体的,经过数据采集和处理之后,获得了网页的正文内容,然后使用面向开放领域的三阶段信息抽取模型来抽取网页正文中的实体及对应的关系,由于 Bert 模型的限制,其最大输入文本序列长度不能超过 512 个字符,因此,在输入到模型之前,需要对网页内容进行切分操作。网页内容切分具体包括如下步骤:
步骤2.11、开始;
步骤2.12、网页正文;
步骤2.13、按句号分割句子;
步骤2.14、构建句子库;
步骤2.15、判断句子库是否为空,若是,则执行步骤2.16;若否,则执行步骤2.17;
步骤2.16、结束;
步骤2.17、拼接句子;
步骤2.18、判断句子长度是否大于512,若否,则执行步骤2.19;若是,则执行步骤2.20;
步骤2.19、返回执行步骤2.17;
步骤2.20、去掉最后拼接的句子,并返还去掉的句子到句子库;
步骤2.21、向句子库输出拼接的句子,并返回执行步骤2.17。
首先,为了最大化的保全语义信息,按照中文的表达习惯,使用“。”进行分割网页内容,得到分割后的文本串,其中每个文本串的长度是不固定的;然后,对于每个文本串,将其按原文中出现的顺序进行拼接,直到拼接后的文本长度与 512 个字符最为接近时(即在512 个字符内,尽可能的拼接文本串),得到一个模型输入序列,直到所有文本串都完成拼接操作。
接着,使用信息抽取模型抽取拼接后的文本序列中的实体和关系,对于每个文本序列,本发明抽取其中所有可能的实体及关系,然后以RDF的标准组织三元组,即(主语,关系,宾语)的格式,最后,将三元组数据存取到csv文件当中,完成整个知识抽取流程。
需要进一步说明的是,本发明采用三阶段联合抽取模型进行知识抽取,该模型能够同时识别关系及关系的实体对,包括主语和宾语。模型结构请参阅图3所示。自然语言文本通过 Bert Embedding 层为整个模型剩下的部分提供句子级别的特征向量,从而解决了自然语言文本无法被深度神经网络识别的问题。从图中可以看到,Bert Embedding 层的输出编码是共享的,它的输出首先直接输入到 Subject(主语,S)层进行主语的识别,然后经过 Condition Layer Normalization 与 Subject 融合之后输入到 Object(宾语, O)层进行宾语的识别。最后Subject、Object 与Bert Embedding 层的输出融合之后输入到Relation(关系,R)层进行实体之间关系的抽取。
和 Seq2Seq 的思路类似,本模型实际上是在建模:
Figure 832561DEST_PATH_IMAGE017
通常情况下,对预训练的 Bert 进行微调即可应用在下游的自然语言处理任务中,主要原因在于 Bert 模型整合了多个 Transformer 神经网络结构,其能够学习到文本的多种特征,并且这些特征只与文本自身有关,与具体下游任务无关,而Bert 模型在进行预训练时便使用了非常大语料库,从而具备了很强的表达能力及泛化能力,并且适用于各种任务。值得注意的是,以往使用 Seq2Seq 模型进行实体关系抽取的结构中,往往没有注意到其编码器可能无法捕捉到足够的文本语义的问题,从而降低了实体关系抽取的准确率和召回率。本发明所提出的面向开放领域的三阶段联合抽取模型利用了 Bert 的强大语义表示能力,同时结合了Seq2Seq的思想。
步骤一:x传入Bert Embedding层获取表征向量
预训练语言模型 Bert 在目前自然语言处理领域的应用非常广泛,得益于其内部双向 Transformer 的应用,其能输出具有上下文关系的表征向量,在将文本表示成向量后,依然能够很好的保留语义特征。在具体应用时,将文本输入到Bert模型之前,需要对原始文本进行一些处理,针对实体识别和关系抽取的任务。
本发明的具体处理为:将标记“[CLS]”和“[SEP]”分别添加的句子首尾,具体如下式所示:
Figure 108821DEST_PATH_IMAGE018
其中x为原始文本,
Figure 545619DEST_PATH_IMAGE002
为满足 Bert 输入要求的文本序列。
文本序列输入到Bert模型的Bert Embedding 层之前,还需进行“token”化处理,具体包括如下两个步骤:
1) 对
Figure 359860DEST_PATH_IMAGE002
进行分词处理,对于中文来说,分词是以字为单位进行切分的,如下式所示:
Figure 274726DEST_PATH_IMAGE019
其中
Figure 608756DEST_PATH_IMAGE004
为“[CLS]”标签,
Figure 216454DEST_PATH_IMAGE005
为“[SEP]”标签,
Figure 65462DEST_PATH_IMAGE020
为原始文本中的单字;
2)将
Figure 33287DEST_PATH_IMAGE021
映射到 Bert 的词汇表中,得到文本的“token”表示
Figure 487402DEST_PATH_IMAGE022
,即将单个字和标签映射到其在词汇表中出现的位置:
Figure 266002DEST_PATH_IMAGE023
其中position为位置映射函数,其功能为找出文字在 Bert 的词汇表中的角标;
Bert模型中包含了多个Transformer,设其数量为N,则 Bert模型嵌入层输出表示为:
Figure 539988DEST_PATH_IMAGE024
特别的,当i=0时:
Figure 305645DEST_PATH_IMAGE025
其中
Figure 614266DEST_PATH_IMAGE026
为一个嵌入向量,由Bert训练时得到,
Figure 563768DEST_PATH_IMAGE027
为一个长度和
Figure 121788DEST_PATH_IMAGE028
一致的0向量。
步骤二:
Figure 447727DEST_PATH_IMAGE029
传入subject层提取所有subject
Subject 层的作用为提取输入句子中的所有可以作为主语的序列片段,它的输出结构和标注器的结构一致,其需要利用 Bert Embedding 层的输出获取到文本中的主语信息,并计算文本序列中的某一段序列是否文本中某一个关系的主语的概率,具体的计算流程如图5所示。
第一步首先将 Bert Embedding 层的输出结果链接到一个激活函数为
Figure 860123DEST_PATH_IMAGE030
函数的全连接神经网络 (Fully Connected Neural Network)中,负责综合BertEmbedding层输出的所有特征。
第二步则是使用函数将全连接层的输出映射到[0, 1]之中
Figure 980526DEST_PATH_IMAGE031
其中,
Figure 494684DEST_PATH_IMAGE032
Figure 93155DEST_PATH_IMAGE033
均为全连接神经网络的可训练参数,
Figure 360057DEST_PATH_IMAGE034
为BertEmbedding层的输出,
Figure 916941DEST_PATH_IMAGE035
对应着标注器的序列头部层的输出,
Figure 652815DEST_PATH_IMAGE036
对应的则为序列尾部层的输出。
步骤三:s和
Figure 320557DEST_PATH_IMAGE037
进行条件特征融合得到融合向量
Figure 441966DEST_PATH_IMAGE038
在生成 Object 和 Relation 序列时,本发明借鉴了 Seq2Seq 模型的序列生成思想,利用已经生成的序列来进行后序的序列生成,对于 Object 序列,其生成方式为:
Figure 169750DEST_PATH_IMAGE039
对于 Relation 序列,其生成方式为:
Figure 392921DEST_PATH_IMAGE040
在实际应用中,预测 Object 序列和 Relation 序列时,本发明需要将BertEmbedding 层的输出与目标条件特征进行融合,因此,本发明引入了已有的条件层标准化。
本发明使用 Bert Embedding 层的输出作为下游实体及关系抽取的输入,其
Figure 598775DEST_PATH_IMAGE041
Figure 840269DEST_PATH_IMAGE042
均为 Bert模型中大小固定的向量,为了将标准化函数中的
Figure 738955DEST_PATH_IMAGE043
Figure 183843DEST_PATH_IMAGE044
转换为关于输入的函数,引入如下两个矩阵变换,将条件序列
Figure 193387DEST_PATH_IMAGE045
分别变换大小为和
Figure 554967DEST_PATH_IMAGE046
Figure 358975DEST_PATH_IMAGE047
一致的矩阵
Figure 556738DEST_PATH_IMAGE048
Figure 901132DEST_PATH_IMAGE049
Figure 867951DEST_PATH_IMAGE050
然后,利用矩阵
Figure 92128DEST_PATH_IMAGE051
Figure 777187DEST_PATH_IMAGE052
Figure 862955DEST_PATH_IMAGE053
Figure 684280DEST_PATH_IMAGE054
转换成关于条件
Figure 344937DEST_PATH_IMAGE055
的函数:
Figure 251714DEST_PATH_IMAGE056
最终,得到条件特征融合后的输出为:
Figure 141172DEST_PATH_IMAGE057
其中,
Figure 879321DEST_PATH_IMAGE058
为Bert Embedding 层的输出,为避免影响 Bert 模型的初始权重,在训练开始时两个变换矩阵
Figure 196033DEST_PATH_IMAGE059
都应全零初始化,而不能使用随机值初始化,避免对 Bert 模型的权重造成不可预料的扰动。
所述序列标注器用于解决实体重叠的问题由苏剑林等人提出的标注器结构,该标注器结构如图4所示。
标注器是一个二维矩阵,每一层的大小和模型输入的文本长度一致。在本发明中,定义第一层为序列头部层,第二层为序列的尾部层。
在训练阶段,标注器的标注过程为:对于输入序列的所有实体,在序列头部层中,将实体头部出现的位置置为 1,其余地方为 0,实体尾部在序列尾部层中的标注方法和实体头部的标注方法一致。
在预测阶段,标注器中的值由对应的输出层进行计算,最后通过解码还原成原序列文本:
所述用于识别宾语的 Object 层和识别关系的 Relation 层的输出结构和序列标注器的结构一致,但是由于两者需要融合的特征不同,因此在实现细节有所差异,本节将详细阐述两者的结构。
Object层的结构如图6所示,其输入为来自Bert Embedding层的输出
Figure 845232DEST_PATH_IMAGE060
及来自Subject层的输出
Figure 538382DEST_PATH_IMAGE061
向量,两个输入通过Condition Layer Normalization层进行条件特征融合:
Figure 68720DEST_PATH_IMAGE062
然后条件特征向量
Figure 821912DEST_PATH_IMAGE063
输入到一个全连接神经网络中,最后通过
Figure 952548DEST_PATH_IMAGE064
函数计算输出。
Figure 980547DEST_PATH_IMAGE065
其中,
Figure 834234DEST_PATH_IMAGE066
Figure 555065DEST_PATH_IMAGE067
分别为 Object 头序列和尾序列,
Figure 923729DEST_PATH_IMAGE068
Figure 207949DEST_PATH_IMAGE069
均为可训练参数。
Relation 层的结构如图7所示,其输入除了
Figure 712880DEST_PATH_IMAGE070
之外,还额外增加了来自object层的输出与
Figure 542296DEST_PATH_IMAGE071
的条件特征融合向量:
Figure 398256DEST_PATH_IMAGE072
Figure 220587DEST_PATH_IMAGE073
Figure 845604DEST_PATH_IMAGE074
叠加后输入到激活函数
Figure 111500DEST_PATH_IMAGE075
为全连接神经网络 中输出所有的
Figure 985915DEST_PATH_IMAGE076
所述编码解码阶段,类似于 Seq2Seq 模型的编码器-解码器结构,编码阶段对应着模型的整个训练流程和预测流程中的自然文本序列转换成标注器向量序列的过程,解码阶段则是对应着由标注器向量序列还原成自然文本序列的过程。
以句子“调研组赴省某局调研信访工作”为例,在训练阶段(编码阶段),Subject层的标注器中标注了(“调”,“组”),Object层的标注器中标注了(“信”,“作”),Relation层的标注器标注了(“调”,“研”)等“头-尾”序列,即分别在对应的标注器向量中将其对应位置的数值置为1。
在实际的预测流程中,编码和解码的工作是并行进行的,为了将关系及关系的实体的主次关系区分开来,同样采取了三阶段的解码策略。对于输入的每个文本序列,在经过Subject 层编码之后,对其标注器向量进行解码,得到该文本序列中的所有主语;然后,对于每个主语,预测并解码对应的 Object 层输出向量,得到该主语对应的宾语序列;最后,对于每一对(主语,宾语)序列,预测并解码对应的关系向量,得到关系序列,完成(主语,关系,宾语)的三元组输出。
对于上述所述算法,本发明进行了谨慎的实验与分析。为了全面评估模型的性能,本发明使用了两个数据集进行实验验证:分别是本发明构建的政务领域数据集及原始的Saoke数据集,前者可以用来评估模型在政务领域三元组抽取的表现,而后者则是用来整体评估模型的泛化能力,考察模型在通用领域的表现。
本发明所提出的模型生成的序列均为原自然文本序列中已有的序列,为了更好的表达实体之间的关系及应对文本序列中主语不明的情况,数据集中额外补充了一些关系及特殊符号“_”,因此,文本序列在输入到模型之前,作了如下处理:
首先将所有额外的关系序列和符号“_”拼接到一起得到序列:“_,DEATH,BIRTH,ISA,VS,NOT,DESC,IN”。然后,随机在原始文本序列的头部或尾部添加上述序列。
应当注意,该处理仅针对本模型,在对比实验中,文本序列输入到其它对比模型之前并不进行此处理,并且,本模型仅使用政务领域数据集进行训练,而对比模型在两个数据集中分别进行了训练。
最终,数据集按照 8:1:1 的比例划分训练集、验证集和测试集,两个数据集的样本分布如表 2所示。
表2 数据集样本分布
Figure 628249DEST_PATH_IMAGE077
本发明所提出的三阶段联合信息抽取模型是在 Tensorflow 上进行实现和实验验证的。预训练语言模型 Bert 选择的是哈尔滨工业大学训练的 BERT-wwm-ext 模型,其一共具有 12 层神经网络,隐藏层的维度为 768,一共使用了12个双向Transformer结构,具有110M的参数。BERT-wwm-ext模型在包含中文维基百科、其它百科、新闻、问答的数据集上进行训练,总词数达到了 5.4B,将近谷歌初版 Bert 模型(0.4B)的 14 倍。另外,Bert模型在本发明模型的训练过程中参与梯度的反向传播,以期在政务领域中达到更好的三元组抽取效果。
本发明所提出的模型训练时的目标函数使用了AdamEMA优化算法,该算法是传统Adam 优化算法的改进版本,结合 EMA(权重滑动平均)之后,可以很好的缓解模型梯度震荡的问题,使模型训练收敛的更快。
模型训练的epoch为15,学习率为0.00001,每轮epoch结束后保存一次模型当前的权重向量,在验证集上进行模型评估,最后选取了 F1 最高的模型参与对比实验。
在验证所提出模型的有效性方面,本发明使用了多个对比模型,如SRLIE、ZORE、Logician 模型等进行实验,同时,为了更准确的评估模型的性能,引入了基于余弦相似度的计算方法来评估两个实验中的实体关系序列是否足够相似:
Figure 357040DEST_PATH_IMAGE078
其中,
Figure 793837DEST_PATH_IMAGE079
Figure 93231DEST_PATH_IMAGE080
均为要比较的序列向量,对于这两个向量,并不需要其保留上下文语义,同时,获取基于 Bert的文本嵌入向量速度较慢,因此,选择了速度较快的Word2Vec来将文本序列转换成大小相同的向量。对于上式,当两个向量的余弦相似度大于 0.7 时,便认为两者表达的是同一个意思,两个序列“一致”。
本发明所有实验均在 Google Colab上完成,基本实验环境情况如表3所示。
表3实验环境
Figure 8098DEST_PATH_IMAGE081
本发明应用于各模型对通用领域数据集 Saoke进行实验的效果如表 4所示:
表4通用领域数据集实验表现
Figure 856974DEST_PATH_IMAGE082
从表4可以看到,本发明提出的三阶段联合抽取模型取得综合最佳的表现,其中召回率达到了其它模型的 2 倍以上,除了准确率一项不如 Logician 模型以外,其它指标均大幅度领先于其它模型。传统的关系抽取模型 SRLIE 和 ZORE 的表现均不佳,三个指标中除了召回率一项和 Logician 相当之外,其余两项指标均远远不如其余两个模型。
与同样基于 Seq2Seq 思路的 Logician 相比,Logician 为了实体关系抽取的高准确率而牺牲了召回率,其召回率仅仅达到了 0.152,分析实验结果发现,Logician 倾向于抽取数量较少的三元组,在其抽取的三元组中,正确的三元组占据了大多数,因此其精确率很高,达到了 0.853,几乎是本发明所提出模型的 2 倍。相比之下,本发明提出的模型召回率达到了其 2.5 倍,同样条件下识别的三元组数量更多,在精确率和召回率上的表现十分均衡,能够保留原文更多的信息,说明本发明引入标注器及 Bert 模型是有效的。最后,值得注意的是,本发明所提出的模型并未在该数据集上进行训练,这表现了该模型架构的强大泛化能力,也体现了Bert模型获取文本特征的能力。
本发明应用于各模型在政务领域数据集的实验效果如表5所示。
表5政务领域数据集实验表现
Figure 464673DEST_PATH_IMAGE083
可以看到,政务领域数据集中各模型的表现均有所提升,分析发现,原因在于本发明标注的政务领域数据集很少存在实体重叠的情况。相比于本发明模型的大幅度提升,其它模型在政务领域的数据集中的提升幅度都较小。另外,应当注意到,本发明实验中所使用到的面向开放领域的信息抽取模型都表现出了一定的领域泛化能力,不管是否在具体的领域数据集中训练,模型的性能都得到了保证,体现了在缺乏关系定义的情况下开放领域信息抽取模型的价值。
综合两个数据集上的表现,本发明所提出的模型具有最佳的性能表现,而且在用于模型训练的政务领域数据集中,本发明模型的提升幅度最大,说明 Bert 模型在训练中捕捉到了一定的政务领域文本语义,其相比于其它的模型,本模型更具有领域特征,但同时也得益于Bert模型在预训练时所使用的大规模语料,其在通用领域数据中的表现也足够优秀。
需要进一步说明的是,本发明提出的三阶段联合抽取模型使用了Bert模型,Bert模型对于文本的长度是有限制的,本发明在构建信息抽取模型时将该参数设置成了最大值:512 字符,对于信访领域等政务领域的文本而言,其内容长度一般会远大于 512 字符。因此,在实际进行信息抽取的时候,需要对抽取的文本进行切分,为了更好的保留语义,按照句号“。”进行切分后输入模型,其中每个分段不超过 512字符。由于政务领域文章的写作特点,句子中关系的实体很有可能并没有出现在该句甚至该段中,如湖南省某局的文章《领导A主持召开省政府常务会议学习贯彻中央政治局会议精神》中的某一段所示:该段中的关系“树立”、“增强”等并没有对应的主语体现在该段中,其真正的主语“湖南”实际上出现在了文章的开头,这就导致了在文章切分之后,模型可能会出现捕捉不到主语,而使用特殊符号“_”代替的问题。
其次,对于最终构建的知识图谱,希望其关系更具有普遍性,以“保持力争上游的姿态”为例,会识别出三元组:(_, 保持力争上游的姿态,姿态),为了让其中的关系更具备普遍性,按照 Saoke 数据集定义,会将关系中包含主语和宾语的部分用特殊符号替换:“保持力争上游的 Y”,相比于原来的关系表达,修正后的关系更加普遍,可以表达的知识更多。
本发明以信访领域为例进行政务领域的知识图谱构建,对于政务领域的文档,经研究发现,当模型识别不到关系的实体时,其实际的相关实体一般就是全文的主要叙述对象,而这个叙述对象,根据政务领域文本的写作特点,其一般会出现在文章的开头或者标题处,且其一般为某一个人、某个地点或某个政府部门。
针对上述特点,本发明提出了基于限定词性的关键词实体修正算法,流程如图8所示。
步骤一:实体修正,基于对速度的考虑,使用了jieba工具进行词性标注,其使用的是基于统计模型的词性标注算法,词性标注集方面采用的是北大计算所的标注数据集。在进行词性标注的时候jieba工具首先进行分词处理,然后使用正则表达式识别切分出来的词是否是汉字,如果是汉字,则基于前缀词典构建有向图,计算其最大概率路径,同时基于前缀词典在标注数据集中查找该词的词性,选择最优的词性串输出;若没有查找到词性,则将该词的词性标注为“x”;如果分出来的词不是汉字,则将其标注为“eng”,表示英文。
获得分词及对应的词性之后,使用 TextRank 算法来选取符合词性的关键词。
其中TextRank 算法的具体实现是通过获得每个词的 TextRank 值之后,对分词进行词性筛选,仅保留人名、地名和部门名等三种词性的词,然后选取其中 TextRank 值最大的词作为三元组中特殊符号“_”的替换。为了验证本发明提出的实体修正算法的有效性,选取了 1000 个包含特殊符号“_”的三元组及其对应的全文,使用实体修正算法抽取全文主体叙述对象,最终提出的实体修正算法取得了 62.7%的精确率。应当注意的是,本发明选取的三元组均为正确的三元组,即该三元组表示的关系确实在句中存在,且其实体确实不在该句中;另外,实体修正算法抽取的实体准确与否的评判标准为:该实体是否为对应三元组的真实实体。
步骤二:关系修正,关系修正在实体修正完成后进行,只有关系中出现了该关系相应的实体时才进行修正,其流程如图9所示。
首先在关系序列中使用字符串匹配算法进行主语序列的搜寻,如果主语序列存在于关系序列中,则将关系序列中的主语替换为 X;对于出现在关系序列中的宾语序列,将其替换为 Y。具体到实际的工程实施中,首先,读取知识抽取模块输出的csv文件和原始网页正文文件,解析出其中的三元组信息及对应的正文内容;然后,对于实体为“_”的三元组,本发明使用基于限定词性的关键词实体修正算法,提取正文主体,然后使用该主体替换掉“_”;接着,对于关系中含有主语和宾语的情况,使用关系修正算法进行修正。
另外,当知识修正完成之后,将保存原始网页正文内容的文件删除,减少存储空间的消耗。
步骤三:知识融合,逐个计算政务领域三元组的实体的主语与主语之间、宾语与宾语之间以及主语与宾语之间的相似度,若两个实体的相似度达到阈值则对该两个实体进行融合,得到完整的政务领域三元组;
需要进一步说明的是,经过模型对实体和关系的抽取与知识修正,已经获得了丰富的政务领域三元组。然而,由于中文的语言表达特点,往往存在着“一词多义”或者“一义多词”的问题,因此,需要将语义相同的实体进行融合。对于知识融合问题,一般采用相似度算法判断两个“知识”是否是一致的,常用的相似度算法有余弦相似度算法、欧几里得距离算法等,其中余弦相似度算法是最为常用的算法,其计算效率比较高。
因此,知识融合的过程中本发明采取逐个计算相似度的办法,主语和主语、宾语和宾语、主语和宾语之间都会进行相似度的比较,若两个实体的相似度达到阈值(本发明中阈值设为 0.7),则对两个实体进行融合。融合的规则为“短实体优先”,即优先使用序列较短的实体代替所有相似度达到阈值的实体。
步骤四:知识存储,首先读取csv文件,解析三元组数据,使用rdflib的api将三元组数据存储到 petition.rdf文件中;其次使用gStore命令导入rdf文件,构建图数据库;最后开启gHttp服务,以供外部访问图数据库;最后本发明选择了gStore图数据库进行知识的存储。
需要进一步说明的是,知识存储是将抽取的知识,即三元组进行存储的一个过程,以供后续的知识查询与知识图谱的动态展示等。在前面的步骤中已经获取到了完整的三元组信息,这些信息都存储在csv文件中,由于gStore仅支持使用RDF文件来进行图数据库的构建,因此,首先需要转换文件格式,然后再构建图数据库。
步骤五:知识图谱动态展示,具体的,知识图谱动态展示模块选择了 B/S 模式进行开发,本发明选择了Django作为后台服务开发框架。前端页面开发方面,使用了vue进行页面开发。知识图谱动态展示模块的功能主要由前端页面体现,其主要功能有:整个知识图谱的查看及实体检索,具体包括:
知识图谱查看,当用户打开知识图谱展示网页时,网页自动向后台Django框架发送获取所有实体关系的HTTP请求,Django框架收到请求后,向gStore发送无条件的查询请求,并将查询请求返回给前端,交由vue框架渲染网页;
实体检索,用户在搜索框中输入要检索的实体,然后点击检索按钮发送请求;随后Django框架根据请求构建查询语句,向gStore发送有条件的查询请求,最后将查询结果交由前端渲染。
本发明还提供了一种基于深度学习的相似文本检索装置,包括:
至少一处理器;
至少一存储器,用于存储至少一程序;
当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现所述基于深度学习的政务领域知识图谱自动化构建方法。
在对文本进行相似度计算时本发明提出的方法明显具有更好的现实意义。考虑在一些需要提高文本匹配计算效率的场合,本发明的方法明显优于一般方法。
在一些可选择的实施例中,在本发明的步骤所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本发明所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本发明中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
本发明实施例还提供了一种存储介质,存储有处理器可执行的指令,处理器执行所述处理器可执行的指令时执行所述基于深度学习的政务领域知识图谱自动化构建方法。
同样可见,上述方法实施例中的内容均适用于本存储介质实施例中,实现的功能和有益效果与方法实施例相同。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
实施例中的步骤表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
在本说明书的描述中,参考术语“一个实施例”、“本实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.一种基于深度学习的政务领域知识图谱自动化构建方法,其特征在于,该方法包括如下步骤:
步骤1、领域数据集构建,具体包括如下步骤:
步骤1.1、网址收集,收集信访领域的政府网站以及带有政务领域关键词的相关网站,并形成网站列表;
步骤1.2、超链接去重,利用Bloom Filter对网站列表进行超链接去重;
步骤1.3、网页正文抽取,采用基于行块分布函数的网页正文抽取算法从经过超链接去重后的政府网址列表中的网页中抽取网页正文内容;
步骤1.4、领域文档分类,采用基于领域词典的领域文本分类算法对抽取的网页正文内容进行分类,保存政务领域文本;
步骤1.5、数据集构建,采用百度Saoke数据集对保存的政务领域文本进行数据标注,得到政务领域的三元组数据集;
步骤2、知识图谱构建,具体包括如下步骤:
步骤2.1、知识抽取,将政务领域文本进行文本内容切分,得到文本串,然后按文本串在政务领域文本中出现的顺序进行拼接,直到拼接后的文本长度与 512 个字符最为接近时,得到一个模型输入序列,直到所有文本串都完成拼接操作,然后使用Bert模型抽取拼接后的文本序列中的实体和关系,并以RDF的标准组织三元组,最后将三元组数据存取到csv文件当中;
文本序列输入到Bert模型的Bert Embedding 层之前,还包括如下步骤:
将标记“[CLS]”和“[SEP]”分别添加的句子首尾,具体如下式所示:
Figure 991863DEST_PATH_IMAGE001
其中x为原始文本,
Figure 846687DEST_PATH_IMAGE002
为满足 Bert 输入要求的文本序列;
进行“token”化处理,具体包括如下两个步骤:
1)对
Figure 626424DEST_PATH_IMAGE002
进行分词处理,对于中文来说,分词是以字为单位进行切分的,如下式所示:
Figure 21633DEST_PATH_IMAGE003
其中
Figure 773689DEST_PATH_IMAGE004
为“[CLS]”标签,
Figure 596151DEST_PATH_IMAGE005
为“[SEP]”标签,
Figure 863185DEST_PATH_IMAGE006
为原始文本中的单字;
2)将
Figure 430127DEST_PATH_IMAGE007
映射到 Bert 的词汇表中,得到文本的“token”表示
Figure 99005DEST_PATH_IMAGE008
,即将单个字和标签映射到其在词汇表中出现的位置:
Figure 92369DEST_PATH_IMAGE009
其中position为位置映射函数,其功能为找出文字在 Bert 的词汇表中的角标;
Bert模型中包含了多个Transformer,设其数量为N,则 Bert模型嵌入层输出表示为:
Figure 784382DEST_PATH_IMAGE010
特别的,当i=0时:
Figure 521394DEST_PATH_IMAGE011
其中
Figure 44779DEST_PATH_IMAGE012
为一个嵌入向量,由Bert训练时得到,
Figure 474623DEST_PATH_IMAGE013
为一个长度和
Figure 653932DEST_PATH_IMAGE014
一致的0向量;
步骤2.2、知识修正,采用基于限定词性的关键词实体修正算法对csv文件中存取的三元组数据进行实体修正,在实体修正后,使用关系修正算法进行关系修正,得到政务领域三元组;
步骤2.3、知识融合,逐个计算政务领域三元组的实体的主语与主语之间、宾语与宾语之间以及主语与宾语之间的相似度,若两个实体的相似度达到阈值则对该两个实体进行融合,得到完整的政务领域三元组;
步骤2.4、知识存储,具体包括如下步骤:
步骤2.41、读取csv文件,解析三元组数据,使用rdflib的api将三元组数据存储到petition.rd文件中;
步骤2.42、使用gStore命令导入rdf文件,构建图数据库;
步骤2.43、开启gHttp服务,以供外部访问图数据库;
步骤2.5、知识图谱动态展示,包括:
知识图谱查看,当用户打开知识图谱展示网页时,网页自动向后台Django框架发送获取所有实体关系的HTTP请求,Django框架收到请求后,向gStore发送无条件的查询请求,并将查询请求返回给前端,交由vue框架渲染网页;
实体检索,用户在搜索框中输入要检索的实体,然后点击检索按钮发送请求;随后Django框架根据请求构建查询语句,向gStore发送有条件的查询请求,最后将查询结果交由前端渲染。
2.根据权利要求1所述的基于深度学习的政务领域知识图谱自动化构建方法,其特征在于:在步骤1.3中,网页正文抽取具体包括如下步骤:开始、原始网页、去除网页标签、网页分块、找出文字骤升和骤降的块、提取骤升、骤降块间的文字、结束。
3.根据权利要求1所述的基于深度学习的政务领域知识图谱自动化构建方法,其特征在于:在步骤1.4中,领域文档分类具体包括如下步骤:
步骤1.41、数据预处理,使用jieba工具对网页正文内容进行分词和过滤停用词;
步骤1.42、提取候选关键词,对数据预处理后的网页正文内容进行标注,选出具有领域特征的词汇;
步骤1.43、构建特征矩阵,选用了TF-IDF 特征、词频特征、词长特征以及位置特征;
步骤1.44、使用 lightGBM 进行分类,将领域关键词提取任务转换为分类任务。
4.根据权利要求1所述的基于深度学习的政务领域知识图谱自动化构建方法,其特征在于:在步骤2.1中,网页内容切分具体包括如下步骤:
步骤2.11、开始;
步骤2.12、网页正文;
步骤2.13、按句号分割句子;
步骤2.14、构建句子库;
步骤2.15、判断句子库是否为空,若是,则执行步骤2.16;若否,则执行步骤2.17;
步骤2.16、结束;
步骤2.17、拼接句子;
步骤2.18、判断句子长度是否大于512,若否,则执行步骤2.19;若是,则执行步骤2.20;
步骤2.19、返回执行步骤2.17;
步骤2.20、去掉最后拼接的句子,并返还去掉的句子到句子库;
步骤2.21、向句子库输出拼接的句子,并返回执行步骤2.17。
5.根据权利要求1所述的基于深度学习的政务领域知识图谱自动化构建方法,其特征在于:在步骤2.2中,实体修正具体包括如下步骤:开始、原始文章、分词及词性标注、计算TextRank值、剔除不符合词性要求的词汇、输出TextRank值最大的词汇并替换“_”、结束。
6.根据权利要求1所述的基于深度学习的政务领域知识图谱自动化构建方法,其特征在于:在步骤2.2中,关系修正具体包括如下步骤:
步骤2.21、开始;
步骤2.22、三元组数据;
步骤2.23、判断主语出现在关系序列中,若是,则执行步骤2.24;若否,则执行步骤2.25;
步骤2.24、替换关系序列中的主语为“X”;
步骤2.25、判断宾语是否出现在关系序列中,若是,则执行步骤2.26;若否,则执行步骤2.27;
步骤2.26、替换关系序列中的宾语为“Y”,然后执行步骤2.27;
步骤2.27、结束。
7.一种基于深度学习的政务领域知识图谱自动化构建装置,其特征在于,包括:
至少一处理器;
至少一存储器,用于存储至少一程序;
当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现如权利要求1-6任一项所述基于深度学习的政务领域知识图谱自动化构建方法。
CN202111117993.7A 2021-09-24 2021-09-24 基于深度学习的政务领域知识图谱自动化构建方法和装置 Active CN113569050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111117993.7A CN113569050B (zh) 2021-09-24 2021-09-24 基于深度学习的政务领域知识图谱自动化构建方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111117993.7A CN113569050B (zh) 2021-09-24 2021-09-24 基于深度学习的政务领域知识图谱自动化构建方法和装置

Publications (2)

Publication Number Publication Date
CN113569050A CN113569050A (zh) 2021-10-29
CN113569050B true CN113569050B (zh) 2021-12-07

Family

ID=78174199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111117993.7A Active CN113569050B (zh) 2021-09-24 2021-09-24 基于深度学习的政务领域知识图谱自动化构建方法和装置

Country Status (1)

Country Link
CN (1) CN113569050B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114595344B (zh) * 2022-05-09 2022-07-19 北京市农林科学院信息技术研究中心 面向农作物品种管理的知识图谱构建方法及装置
CN116049148B (zh) * 2023-04-03 2023-07-18 中国科学院成都文献情报中心 一种元出版环境下领域元知识引擎的构建方法
CN116318172A (zh) * 2023-05-25 2023-06-23 山东华云三维科技有限公司 一种设计仿真软件数据自适应压缩方法
CN116628172B (zh) * 2023-07-24 2023-09-19 北京酷维在线科技有限公司 基于知识图谱的政务服务领域多策略融合的对话方法
CN117235240B (zh) * 2023-11-14 2024-02-20 神州医疗科技股份有限公司 一种基于异步消费队列的多模型结果融合问答方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992673A (zh) * 2019-04-10 2019-07-09 广东工业大学 一种知识图谱生成方法、装置、设备及可读存储介质
CN111581376A (zh) * 2020-04-17 2020-08-25 中国船舶重工集团公司第七一四研究所 一种知识图谱自动构建系统及方法
CN112364172A (zh) * 2020-10-16 2021-02-12 上海晏鼠计算机技术股份有限公司 一种政务公文领域知识图谱构建方法
CN112380868A (zh) * 2020-12-10 2021-02-19 广东泰迪智能科技股份有限公司 一种基于事件三元组的信访目的多分类装置及其方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042922B2 (en) * 2018-01-03 2021-06-22 Nec Corporation Method and system for multimodal recommendations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992673A (zh) * 2019-04-10 2019-07-09 广东工业大学 一种知识图谱生成方法、装置、设备及可读存储介质
CN111581376A (zh) * 2020-04-17 2020-08-25 中国船舶重工集团公司第七一四研究所 一种知识图谱自动构建系统及方法
CN112364172A (zh) * 2020-10-16 2021-02-12 上海晏鼠计算机技术股份有限公司 一种政务公文领域知识图谱构建方法
CN112380868A (zh) * 2020-12-10 2021-02-19 广东泰迪智能科技股份有限公司 一种基于事件三元组的信访目的多分类装置及其方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"基于Transformerd的三元组抽取和实践";Code_Monkey_Trancy;《CSDN》;20210302;第1-7页 *
"基于认知计算的大规模知识图谱修正方法";原野;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20200115;第1-46页 *
"政务服务知识图谱构建与应用研究";张雪诚等;《价值工程》;20210402;第186-189页 *

Also Published As

Publication number Publication date
CN113569050A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN113569050B (zh) 基于深度学习的政务领域知识图谱自动化构建方法和装置
CN108628828B (zh) 一种基于自注意力的观点及其持有者的联合抽取方法
CN111709243B (zh) 一种基于深度学习的知识抽取方法与装置
CN113011533A (zh) 文本分类方法、装置、计算机设备和存储介质
CN111783394B (zh) 事件抽取模型的训练方法、事件抽取方法和系统及设备
CN111160031A (zh) 一种基于词缀感知的社交媒体命名实体识别方法
CN113254574A (zh) 一种机关公文辅助生成方法、装置以及系统
Chrupała Text segmentation with character-level text embeddings
CN113961685A (zh) 信息抽取方法及装置
CN112667940B (zh) 基于深度学习的网页正文抽取方法
CN111814477B (zh) 一种基于争议焦点实体的争议焦点发现方法、装置及终端
CN114818717A (zh) 融合词汇和句法信息的中文命名实体识别方法及系统
CN112069312A (zh) 一种基于实体识别的文本分类方法及电子装置
CN114118053A (zh) 一种合同信息提取方法及装置
CN115481635A (zh) 一种地址要素解析方法和系统
CN116881425A (zh) 一种通用型文档问答实现方法、系统、设备及存储介质
CN111581964A (zh) 一种汉语古籍的主题分析方法
CN114881043A (zh) 基于深度学习模型的法律文书语义相似度评估方法及系统
CN114861082A (zh) 一种基于多维度语义表示的攻击性评论检测方法
CN110020024B (zh) 一种科技文献中链接资源的分类方法、系统、设备
CN115794998A (zh) 一种基于对比学习的专业领域术语挖掘方法
CN112765940B (zh) 一种基于主题特征和内容语义的网页去重方法
CN112685549B (zh) 融入篇章语义的涉案新闻要素实体识别方法及系统
CN110019814B (zh) 一种基于数据挖掘与深度学习的新闻信息聚合方法
CN113988057A (zh) 基于概念抽取的标题生成方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant