张 彤 ,宋明艳 ,王 俊 ,2,白 洋
(1.北京京航计算通讯研究所,北京100071;2.哈尔滨工业大学 经济与管理学院,黑龙江 哈尔滨150006)
汽车、机械等工业制造行业的产品是涉及多个技术领域的高精度、高可靠性产品,具有结构复杂,生产周期长、生产状态多等特点[1]。 随着信息化时代的发展,在生产研制过程中产生的各类质量数据日趋庞大,但由于现阶段缺乏统一的数据管理,各类质量信息散落在业务系统中,以电子或纸质文档方式存在,这些离散存储的质量信息包含各类质量问题的原因、问题部件、采取措施等关键信息。 如何从这些离散存储的质量信息中抽取出有效信息,为工业制造提供数据支撑,帮助相关人员有效监督产品生产、快速解决质量问题,构成工业制造领域质量管理的迫切需求。 本文从质量文本出发,利用关系抽取技术挖掘文本中实体间存在的语义关系,为后续构建质量知识图谱、质量问答系统奠定坚实基础。
质量文本通常为非结构化数据,信息抽取技术可以从非结构化数据中挖掘出结构化信息,关系抽取作为该技术的关键环节,一直备受关注[2]。 近年来,学者们开始采用远程监督关系抽取[3]来解决关系抽取方法标注成本高的问题,包括使用基于概率图的方法[4]、基于矩阵补全的方法[5]、基于嵌入的方法[6]。 远程监督方法可以自动地从海量无标注的数据中抽取出大量的实体对,具有较强的可移植性。文献[7]将分段卷积神经网络(Piecewise Convolutional Neural Network,PCNN)应用到关系抽取领域并在对应的数据集中取得了很好的效果。 本文在此基础上,对工业制造领域质量文本的实体关系抽取进行相关研究。
本文的主要工作主要有以下两个方面:
(1)本文针对在工业制造领域的质量知识图谱构建过程中尚无公开数据集可用的情况,收集了质量文本,在质量专家的指导下进行了相应的实体类别和关系类别标注,构建了工业制造领域质量知识图谱关系抽取专业数据集。
(2)基于PCNN,本文针对工业制造领域质量文本实体关系抽取提出利用PCNN 模型融合词本身的语义信息和位置信息,进行质量文本的关系抽取。首先根据句中的两个实体,PCNN 将句子分成三段进行卷积,然后进行分段最大池化,最后通过softmax分类器完成关系抽取。此外,本文根据中文特点,利用 LTP 对句子进行分词,从而改进 PCNN 模型,提高模型性能。 实验结果表明,改进后的模型应用于质量文本的关系抽取中,极大地减少对人工的依赖,验证了该模型的有效性,为构建该领域质量知识图谱和实现质量问答系统提供支持和帮助。
基于规则的方法[8]主要利用专家经验构造领域知识规则,通过模式匹配的方式进行关系抽取,但存在人工及时间成本高、召回率低、对跨领域的可移植性差等缺点,而工业制造领域的质量文本往往是多个技术领域的集合。 基于机器学习的方法[9]依赖人工完成特征向量的选择,需要大量的专业领域知识。 而基于深度学习的方法[10]可以不依赖于人工,通过训练大量的数据自动获取模型。
基于深度学习的方法一般分为有监督的方法、预测模型BERT 和远程监督的方法。 基于深度学习的有监督方法利用神经网络模型进行关系抽取[11],可以自动学习大量特征,避免了人工选择特征,但对大量没有标注的数据效果并不理想。 BERT 模型是一种预训练语言表示模型,通过上下文全向的方式理解整个语句的语义,将训练到的知识用于关系抽取,但是不适合用于长文本,无法较好地处理一词多义的问题[12],而工业制造领域的质量文本一般为长文本。 远程监督的方法基于如下假设:假如两个实体之间存在某种关系,那么所有这两个实体共现的句子中,至少有一句表达了这种关系[13]。 远程监督的方法可以极大地减少对人工的依赖,自动地抽取大量的实体对,有较强的可移植性。
远程监督的方法目前普遍存在两类错误标注:一类是由“至少有一句表达了实体对间关系”假设引起的错误标注,另一类是由于知识库不完全引起的错误标注[9]。 为了解决第一类问题,文献[7]提出PCNN 模型,将关系抽取问题视为多实例问题,认为一个句袋的预测值最接近于句袋中实例预测值中最大的一个。 针对第二类问题,文献[7]根据句中两个实体的位置信息,将句子分为三个部分,对卷积层输出采用分段池化策略。 基于以上两点,本文选择PCNN 算法挖掘工业制造领域的质量文本中的语义关系。
近年来,随着实体关系抽取技术的发展,出现了许多用于模型训练与预测的公开数据集,但在工业制造等专业领域却鲜有公开可用的关系抽取数据集。 在工业制造领域的质量管理中,各相关单位整理汇总的质量报告汇集了技术设计人员在产品生产研制过程中遇到问题的经验,可以为该领域的质量管控提供参考。 本文通过搜集工业制造领域中的一些质量文本,在质量专家的指导下,构建了一个工业制造领域质量文本实体关系抽取的数据集。
在质量专家的指导下,根据质量文本的内容,结合工业制造领域质量管理的特点,确定该领域的质量实体类别共有 9 类,包含产品、系统、型号、质量问题、问题部件、故障定位部件、责任单位、原因定位和异常描述。 本文提取了20 篇质量文本中的语料,然后根据质量实体类别,对提取到的语料进行人工标注,生成对应的词典。
为确定质量实体类别间的关系类别,本文首先人工地从20 篇质量文本中抽取出与问题分析及采取措施相关的章节,构建语料库。然后根据词典,识别语料库中每个句子包含的实体,对句中的实体进行的排列组合以发现其中可能存在的关系,其中n 为一个句子中的实体个数。 若语料库中一共有N 个句子,则需要进行 N 次排列组合。 根据组合输出的结果,在质量专家的指导下对实体类别间的关系进行定义,最终一共构建了6 种关系,具体如表1所示。
表1 关系类别
根据前文提到的词典、语料库和关系类别,构建数据集。数据集中的标签类别包括句子、实体、关系类别。 本文共搜集了 26 120 条语料,具体关系类别分布比例如图1 所示,可以看出因果关系占比最大,这是因为质量文本更多的描述是关于质量问题的分析。 数据集按照7:3 的比例切分为训练集与测试集。
图1 数据集中各关系比例图
参照文献[7]给出模型设计,模型结构如图2 所示,包括 Vectorzation 层、卷积层、分段最大池化层和softmax 分类层。
3.1.1 Vectorzation
图 2 PCNN 模型结构
这一层的作用是进行词向量化、位置向量化,将输入的句子转化成计算机可以理解的向量形式。不同于其他神经网络模型,PCNN 模型在考虑词的语义信息的同时,还考虑每个实体词相对于其他词的位置信息。 故 Vectorzation 层由两部分组成,一部分是词向量化,另一部分是位置向量化。
(1)词向量化
本文的实验数据为中文文本,为了将词转化成计算机可以理解的形式,利用Embedding,训练得到每个词的向量。
(2)位置向量化
本文对句子进行如下位置向量化:依次以两个实体词为基准实体,令其位置为0,分别计算其他词相对于基准实体的位置。 如“AGM-88 的主要承包商是德州仪器公司”,可以分为“AGM-88”、“的”、“主要承包商”、“是”、“德州仪器公司”5 个词,其中“AGM-88”和“德州仪器公司”为实体,那么其他词相对于“AGM-88”的位置信息为[0,1,2,3,4],相对于“德州仪器公司”的位置信息为[-4,-3,-2,-1,0]。
3.1.2 卷积层
这一层设计了三个卷积,每个卷积有100 个卷积核,大小分别为 1×3,1×5,1×7。
根据质量文本中数据的特点,卷积层的激活函数为 GELU 函数。 GELU 函数将非线性与随机正则化结合,公式为:
3.1.3 分段最大池化层
图3 分段池化
如图 3 所示,PCNN 模型根据两个实体的位置将输入的句子分成三部分:一部分是句首到第一个实体,一部分是第一个实体到第二个实体,一部分是第二个实体到句末。
为了便于计算,这三个分句进行padding,以最长句子的长度为标准,对另两个句子进行padding,记录填充的位置,即填充的部分标记1,未填充部分标记0。
每个卷积核的输出被两个实体分为三个部分,设n 为卷积核的数量,分段最大池化输出向量为:
3.1.4 softmax 分类器
为增强模型的鲁棒性,避免模型出现过拟合现象, 本文在进行分类前, 先通过线性层、ReLU 层和Dropout 层对卷积层的输出进行进一步处理,然后经过一个线性层将数据的维度降为N 维, 用于最后的分类,N 为关系类别。 最后 softmax 分类器用于做最后的预测,如式(3)所示:
尽管PCNN 网络模型是通过开源语料预训练过的,但是整个网络模型参数并没有针对工业制造领域的实体关系抽取任务进行训练,本文通过构建的工业制造领域的质量数据集对提出的网络模型进行训练微调。设N 为关系类别数;tic为指示变量,如果样本 i 属于类别 c 则为 1,否则为 0;yic为对于观测样本 i 属于类别 c 的预测概率, 训练损失函数如式(4)所示,并选择 Adam 算法计算每个参数的自适应学习率。
PCNN 在网络训练的时候随机从输入序列中掩盖(mask)掉一部分单词,然后通过上下文输入到 PCNN 网络中来预测。 PCNN 一开始是针对英文的训练方法,因此可以针对单词进行mask 而不会损失句子本身的语义。而应用到中文领域, 这个任务会将中文词语分割,从而导致损失了中文句子本身的语义。文献[14]曾针对 BERT 模型的类似问题,提出不以字为粒度切分随机掩盖(mask),而是利用哈工大LTP 分词[15]工具先对句子分词,然后再以词为粒度随机掩盖(mask),进行自监督训练,从而提高对中文语料特征的抽取效果。针对工业制造领域质量关系抽取,为更好地提高中文语义理解,首先利用LTP 对句子分词,从而提高对中文语料特征的抽取效果。
针对本次实验,本文采用准确率 P、召回率 R 和F1 值来评价提出方法的性能,具体公式如下:
其中,TP 为正例被正确预测的样本数,FP 为正例被错误预测的样本数,FN 为负例被错误预测的样本数。
在本文的实验中,为了充分对比本文提出的网络模型,在同一工业制造领域质量文本关系抽取数据集下,除了使用 PCNN、C-PCNN 模型,还选取了RNN 模型作为对比实验。
为控制实验变量,三个模型使用同一套训练好的词向量。本文提出的C-PCNN 模型训练时的超参数如表 2 所示。
表2 实验参数设置
在上述实验设置下,3 个模型对 6 种关系进行提取,具体结果如表3 所示。
从表 3 可以看出,PCNN 模型较于RNN 模型的准确率、召回率和 F1值都略有提升,说明 PCNN 可以更好地抽取出语料之间的特征信息。这是因为本文构建的数据集中的句子大多为中短长度,PCNN 模型通过分段最大池化获取更丰富的上下文信息,可以更好地发挥其优势。 与PCNN 模型相比,C-PCNN模型的准确率、召回率和F1值也有明显提升,说明在中文自然语言处理中,通过对中文的分词预处理能够提高模型的性能。
表3 不同模型的关系抽取效果
此外,本文实验还统计了3 个模型对各类关系的抽取效果,如图4 所示。
图4 各类关系抽取的 F1 值
由图 4 可以看出,PCNN 模型对各类关系的抽取,相较于RNN 模型有明显的提升,加入中文分词预处理后的C-PCNN 模型对各类关系的抽取相较于 PCNN、RNN 模型均取得了最好的抽取效果。 同时可以发现,在3 个不同模型中各类关系抽取的F1值均呈现出了类似的差异,因果关系、定位关系的抽取效果明显优于其他关系的抽取效果,而供应关系的抽取效果则最差。 这是因为训练样本中各类关系的分布不均,因果关系、定位关系的样本较多,模型在训练时可以较充分地学习到该类关系的特征,而供应关系的样本最少,模型难以充分学习其特征信息。
本文通过关系抽取技术,针对工业制造领域的质量文本的关系抽取问题,提出了针对该领域的PCNN 关系抽取实体关系抽取模型,该模型既具有PCNN 模型通过分段最大池化提取句子局部特征的优点,又充分考虑了中文的特性,从而可以提取出更有意义的中文语义关系特征。 实验结果表明,本文提出的C-PCNN 模型相较于 PCNN 模型能够更好地抽取出工业制造领域的质量文本中的实体关系,为后续构建质量知识图谱、质量问答系统奠定坚实基础。