1. 引言
随着大数据的高速发展,文本数据呈指数暴增,对于某种特定领域两篇文章内容的关系及关系归属确定,一直是一个值得关注的话题。关系归属需要进行实体抽取[1]、关系抽取[2]、关系划分等步骤去完成。在关系归属问题上通常采用的方式是通过机器学习、深度学习等进行训练样本得到抽取好的实体,从而进行实体关系抽取并划分,如成[3]等人根据互联网医疗健康平台用户生成的大量复杂信息内容实现语义发现与关系揭示,研究构建了基于改进Casrel实体关系抽取模型的在线健康信息语义发现模型,并在文本编码层引入更适用于医疗健康领域的ERNIE-Health预训练模型,有效提高了模型对在线健康信息语义发现的实体识别和实体关系抽取任务的F1值,但还需要数据集的扩充及疾病类型的健康信息的实证;王[4]等人针对金融文本语义特征难以准确提取的问题,提出使用预训练模型FinBERT对输入金融文本进行字、词粒度特征提取得到句子表示的方法;刘[5]等人发现土家民族器乐文本中实体位置、类型与实体关系具有强相关性特征,提出融合实体位置与类型特征的实体关系抽取模型,在完成命名实体识别任务后,通过特征拼接进行特征学习,最后进行关系分类学习。通过上述几个领域的文本实体抽取和关系划分得出,都是需要实体抽取和关系划分融合在一起直接放入模型进行训练得出关系,考虑到特定领域中的数据集样本数较少及不公开使用等特点,本文提出一种基于相似度计算的实体数据关系归属方法,将关系划分问题进行分而治之,即将实体抽取和关系划分进行模块化处理,并融入特殊领域的数据集的特点,根据少数样本建立一个特定领域的术语树,将待匹配的数据与术语树数据进行相似度计算[6]得出术语树中最匹配的节点关系划分,从而解决因为少样本导致错误归属问题,显著减少人工管理成本,能够有效提升系统的可用性。
本文主要贡献如下:
1) 在特定领域实体数据中缺乏大量样本的情况下构建少样本关系的术语树索引结构。旨在不依赖于大量数据进行样本训练的问题,对特定领域保密性及特殊性具有重要意义。
2) 在关系待划分实体数据中进行术语树节点相似度计算得到带划分实体数据在术语树中的位置,从而进行准确关系归属划分。为如何不依赖于大量实体数据关系进行有效划分的课题中提供了新视角。
3) 在通用数据上进行验证研究所提技术可以对关系待划分实体数据进行及时有效的分析处理,从而将提高准确率,同时减少人工成本。
2. 方法流程
实体关系归属方法明确核心模块,即实现对领域数据中实体的精准识别与归属判定。为实现这一目标,设计多个相互独立又紧密协作的模块,每个模块负责处理特定的任务,如数据处理、数据关系确立、数据关系显示等。
在数据处理模块中,利用了预训练模型等进行文章数据的实体抽取并用MySQL [7]数据库进行存储。此外在实体中进行术语树的建立,通过额外的术语树进行关系归属。
在数据关系确立模块中,由于提前建立了额外的术语树,因此只需要考虑已经抽取好的实体与术语树中的术语的匹配程度。在该方法中使用了多种计算相似度方法进行融合充分表达两者之间的相似程度进行关系确立。
在数据关系显示模块中,将两个实体进行关系组成存储成JSON格式并发送至前端界面,并通过关系名词进行连线组成小型文章网络图谱。具体方法流程如图1所示。
Figure 1. Framework flowchart
图1. 框架流程图
3. 实体处理
3.1. 实体抽取
实体抽取结果的好坏直接决定之后进行实体关系归属确立操作效果的准确率。首先采用基于规则的方法进行一系列规则来识别文章中的实体成分,但考虑到基于规则的方法需要基于领域知识和数据特性进行系统确认,才能够准确地将文章中实体进行抽取出。随着数据的不断扩充,该方法的缺点逐渐显示,因此引入了机器学习算法来优化实体抽取的性能。通过训练模型,可以让系统自动学习并抽取实体。但考虑领域数据的不透明性与特殊性,文章将用最简单方法进行实体抽取。
3.2. 术语树建立
由于实体众多,但基于特定领域,如果是基于深度学习的方法进行实体归属,没有特定的数据集不可以集中训练,因此将已知的实体分类进行术语树索引结构表示,计算之后即可知道未知实体对已知实体关系,通过已知关系进一步判别归属。术语树索引结构创建示意图如图2,步骤如下。
Figure 2. Schematic diagram for building a terminology tree
图2. 术语树建立示意图
算法1术语树索引结构算法 |
输入:两个已知实体关系归属表 输出:已知实体关系归属索引结构 |
步骤: |
1) 读取数据库存储的两张已知实体数据关系表三元组[8] (ID , Entity, ParentID) |
2) For each实体数据DO |
3) 根据四元组(ID, Entity, ParentID, GrandID)将两张表进行合并成一个实体关系归属索引结构 |
4) repeat |
5) util实体数据关系归属合并完 |
6) 将实体关系归属索引结构至内存备用 |
7) end for |
8) end |
3.3. 实体相似度计算
由于大部分实体相似度很高,难以分辨种类且没有一个具体数据集进一步提高准确性和效率。因此在关系归属确立中,我们根据该领域的实体数据特征,使用了多种计算相似度方法融合进行相似度计算从而进行关系归属。
1) 相似性度量[9]-[11]:即综合评定两个事物之间相近程度的一种度量。两个事物越接近,它们的相似性度量也就越大,而两个事物越疏远,它们的相似性度量也就越小。相似性度量的给法种类繁多,一般根据实际问题进行选用。常用的相似性度是有:相关系数(衡量变量之间接近程度),相似系数(衡量样品之间接近程度),若样品给出的是定性数据,这时衡量样品之间接近程度,可用样本的匹配系数、一致度等。用数量化方法对事物进行分类,就必须用数量化方法描述事物间的相似程度。一个事物常常需要用多个变量来刻画,如对一群用p个变量描述的样本点进行分类,则每个样本点可看成是p维空间的一个点,很自然的想到用距离来度量样本点间的相似程度。
相似性的度量方法很多,有的用于专门领域,也有的适用于特定类型的数据,如何选择相似性的度量方法是一个相当复杂的问题,考虑到该领域的特殊性:没有情感倾向和区分度不高的特点,本文利用编辑距离[6]和Jaccard [12]系数融合进行实体关系归属。
2) 编辑距离(Edit Distance),也称为Levenshtein距离,是衡量两个字符串之间相似程度的指标。它表示将一个字符串转换成另一个字符串所需的最少编辑操作次数。常见的编辑操作包括插入一个字符、删除一个字符、替换一个字符。用
来表示a, b字符串的编辑距离,其中i代表a的长度,j代表b的长度公式如下:
表示a的前i个字符串与b的前j的字符串的编辑距离。其中i和j都是从1开始的下标。
值的描述如下:
代表有一个字符串为空,编辑距离就是另一个非空字符串的长度;
当
的时候,编辑距离如下三种情况的最小值:
删除
;
插入
;
替换
。
3) Jaccard系数:杰卡德相似系数(Jaccard similarity coefficient):两个集合A和B的交集元素在A,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用
表示:
当集合A,B都为空时,
定义为1。
杰卡德距离(Jaccard Distance):与杰卡德相似系数相反,用两个集合中不同元素占所有元素的比例来衡量两个集合的区分度,杰卡德距离越大,两个样本相似度越低。
其中对参差(symmetric difference):
。
利用多种计算相似度融合算法步骤如下。
算法2 多种计算相似度融合算法 |
输入:两个未知实体 输出:两个未知实体对于已知实体的关系归属索引结构 |
步骤: |
1) For each未知实体DO |
2) For each已知实体DO |
3) 将已知实体和未知实体进行编辑距离计算相似度 |
4) 将已知实体和未知实体进行Jaccard系数计算相似度 |
5) 两者相似度进行权重相加得到综合相似度 |
6) end for |
7) 将未知实体与综合相似度最高的已知实体的关系信息进行赋值 |
8) end for |
9) end |
3.4. 实体关系归属确立
在得到未知实体与已知实体关系匹配之后,就需要将文档中所有的未知实体进行关系归属,其原理是根据现有已知的实体关系归属确定未知实体的关系归属具体算法流程如下图3所示,步骤如下表。
Figure 3. Relationship determination attribution flowchart
图3. 关系确定归属流程图
算法3 实体关系归属算法 |
输入:两个未知实体信息 输出:两个未知实体的关系归属 |
步骤: |
1) 输入所有实体信息 |
2) For each两个实体信息DO |
3) 两个实体的ParentID,GrandID进行对比: |
4) IF ParentID1= ParentID2: |
5) 实体关系:同义 |
6) ELSE IF GrandID1= ParentID2 OR ParentID1 =GrandID2: |
7) 实体关系:组成 |
8) 以JSON格式存储关系信息 |
9) end for |
10) end |
4. 关系归属显示
将实体关系归属完成之后存入JSON格式,并通过Restful接口进行实现前后端解耦,显示在界面上。前端使用的是Vue,拿到JSON数据之后进行关系显示,实体作为节点关系作为边进行连线,显示其实体关系归属图。
5. 案例研究
根据所述方法,本文对实体关系归属方法进行系统编写代码,并利用两篇文档进行测试,测试结果准确率较高。多次测试两篇文档在该系统实体处理及关系显示的平均用时为25 s,相较于人为进行标注实体、人为进行实体关系归属及图表展现的平均时间30 min,降低至少90%以上。两篇文章的输入如下图4所示,图4高亮部分为识别到的实体,关系输出结果如下图5所示。
Figure 4. Two documents input
图4. 两篇文档输入
Figure 5. Document relationship output
图5. 文档关系输出
6. 总结
本文在实体关系归属课题中将功能具体化,综合考虑各方面成本,结合现代技术与传统方法,提出预训练模型进行实体识别、建立术语树来进行关系匹配并将匹配得出的实体关系归属实时在前端页面显示。利用多篇文档进行系统测试,验证该方法具有可行性及有效性等特点。同时该系统的实现为后续工作提供可靠的理论基础。该方法真正应用至特定领域中将有效提高实体关系归属处理速度,实现数据的快速管理、降低人工管理成本,并且该方法在解决少样本数据训练准确率低的难题时打开了一个新视角——根据少样本(原有)数据样本进行术语树结构创建,用现有关系代替未知关系,降低了关系划分问题的复杂度。
NOTES
*通讯作者。