APP下载

施工组织设计文档智慧辅助审查中的文本分类问题研究

2022-02-13郭潇楠王仁超毛三军彭相国

科学技术与工程 2022年36期
关键词:文档向量分类

郭潇楠, 王仁超*, 毛三军, 彭相国

(1.天津大学建筑工程学院, 天津 300354; 2.长江三峡技术经济发展有限公司, 北京100043)

21世纪以来,以深度学习、大数据为核心的人工智能技术正推动传统合同审查模式进行变革,人工智能技术已经广泛应用于合同修改与审核业务当中。1987年,首次国际人工智能法律会议(ICAIL)在美国波士顿东北大学举办,会议讨论了人工智能与法律的跨学科领域的研究和应用;1991年,国际人工智能与法律协会(IAAIL)正式成立,协会的主要议题包括法律文本自动分类、摘要自动生成等人工智能技术;2016年,IBM公司基于IBM沃森(Watson)智能电脑平台研发了世界首个人工智能律师Ross,自此以后,法律自动化合规审查、合同审核不断涌现。

施工组织设计是指导工程建设全过程活动的技术、经济和组织的综合性文件,其编制质量对于工程建设成本、质量、进度、安全具有重要的影响。工程建设不同阶段,需要编制大量不同类型的施工组织设计文件,这些施组文件编制、审查是工程技术人员主要日常工作之一,提高施组文件的编制、审查效率和质量,对于提高工程建设管理水平具有重要的作用。

传统的施组文件审查主要依靠具有一定经验的技术负责人员人工审查,审查质量一方面取决于审查人员的经验知识,另一方面,与审查人员的责任感、可利用时间以及手头已有规范资料等有关。在时间仓促、资料有限情况下,难免对施组文件存在问题出现遗漏审查的情况。

近年来,随着深度学习、大数据等人工智能技术,尤其是基于自然语言理解的文本分析、知识挖掘技术的发展,使得施工组织设计文档智慧辅助审查成为可能。基于自然语言理解的文本分析、知识挖掘技术在法律合同文本审查[1-2]、医疗文档处理[3]、新闻摘要提取[4]等方面的研究和成功应用,可为施工组织设计智慧辅助审查提供一定的借鉴。在工程建设领域,有关建筑工程管理规范条文[5]检索、有关混凝土坝施工文档知识智能识别及挖掘[6]、有关工程施工进度关键工序词提取与信息挖掘[7]、调水工程巡检文本智能分类[8]等方面的研究表明:非结构化文档知识挖掘正成为工程建设领域研究的重要方向之一。

但是,由于施工组织设计文档具有类型多样、长文本、针对对象类型多、涉及内容广等特点,要实现智慧辅助审查还存在较大的难度。为此,针对施工组织设计文档智慧辅助审查中基础性工作之一——文本分类问题开展研究。施工组织设计审查主要包括施工组织设计文本的全面性、可操作性、针对性、先进性等。其中全面性指的是施工组织设计文档依据施工组织设计编制规范编制基本内容,包括工程概况、施工部署、施工进度计划、施工准备与资源配置计划、主要施工方法等;可操作性指的是施工组织设计文本中各项作业是否符合实际,合理可行,如顶管施工中黄土土质条件不适用于偏心破碎泥水平衡掘进机;针对性主要指施工组织设计文本是否对工程重难点把握到位;先进性审查施工组织设计是否采用新技术新工艺等;施工组织设计文本分类可以对施工组织设计文本快速精准分类,划分文本主题,为施工组织设计的全面性审查提供依据;此外通过对施工组织文本的分类挖掘,对后续依据主题类别应用知识图谱挖掘其中有关地质条件、水文以及气象条件、工程重难点、施工新技术新方法等信息提供基础,是实现施工组织设计文档智慧辅助审查的重要手段之一。

基于Bi-LSTM Attention的施工组织设计文本分类方法,利用房建、隧道、公路、桥梁施工组织设计以及污水管道等常见的施工组织设计文档,利用工程概况这一部分内容训练施工组织设计文本分类模型,并进行了几种分类方法所得结果比较研究。

1 文献综述

自然语言处理中,文本分类的目的主要是通过将已经被标注的训练集通过分类模型训练,实现新的文档类别的自动判断,文本分类早起源与国外,从基于知识的方法转变为基于机器学习的方法,现在被广泛应用于中文专利[9]、影视评价[10]、医学文献[11]等各个领域。

对于文本分类的研究起源于20世纪50年代,Luhn[12]提出了利用词频统计来进行文本分类的方法;Maron等[13]提出了利用关键词给文本分类的方法,基于此方法,文本自动分类也在逐步应用;Salton等[14]基于空间密度计算的方法为文档选取最佳索引词汇,但是这需要人工的定义分类规则,无法适应于大规模的分类任务。

文本分类主要包括数据预处理、文本表示、特征降维。目前,词向量的表示有基于One-hot(独热编码),还有基于词向量(Word2vec),One-hot是一个词袋模型,它基于词与词之间相互独立的假设,不能考虑上下文的关系。Collobert等[15]提出了基于词向量训练的神经网络模型;Huang等[16]提出了运用上下文训练词向量的方法;Mikolov等[17]首次提出了Word2vec词向量模型,连续词袋模型(continuous bag-of-word model,CBOW)模型类似于神经网络模型,其目的是通过上下文相关单词去预测目标单词的出现概率,跳字模型(continuous skip-gram model, Skip-gram)模型恰恰相反,它是利用某个单词去预测其相关的上下文单词。Word2vec模型应用CBOW或Skip-gram作为词嵌入的工具,根据给定的语料库,通过训练模型将词语表达成向量形式,训练生成的词向量要比传统的One-hot(独热表示)富含更多语义信息,并且避免了词向量维度过高难以计算以及不能充分表示词与词之间的关系的问题。特征降维主要是对特征向量进行降维处理,特征向量维度过高,分类模型可能无法处理,常用的方法有文档频次法(document frequency,DF)、互信息(mutual information,MI)法、信息增益(information gain)法、卡方检验(CHI)法等[18]。

Bahdanau等[19]首次将Attention 机制运用于机器翻译任务中;Zhang等[20]基于循环神经网络(gate recurrent unit,GRU)提取上下文语义信息,结合 Attention 机制,模型的准确率和训练速度均有提升;滕金保等[10]利用多通道注意力机制对输出信息进行融合,有效提高文本分类的效果。

基于长短时记忆网络(long short-term memory,Bi-LSTM)的文本分类模型,只考虑到上文语境并提取文本特征向量。Shu等[21]提出了双向长短时记忆网络(bi-directional long short-term memory,Bi-LSTM),Bi-LSTM综合考虑文本的上下文语境,通过正向隐藏层和反向隐藏层两个方向捕捉文本特征,提取更为丰富的语义信息,提高分类模型性能。近年来,基于FastText[22]、BERT[11]、深度金字塔卷积神经网络DPCNN[23]、Transformer[24]等新型模型以及各种集成模型广泛应用于文本分类的任务中。

基于以上研究,结合当前市政施工领域工作需求,采用Bi-LSTM Attention模型,将其应用于市政施工组织设计文本分类研究当中,首先利用Word2vec训练词向量,获取具有丰富语义信息的词向量,接着利用双向LSTM提取上下文语义信息,得到更加全面的特征向量,最后加入Attention机制,在保留全面性的前提下关注关键信息,以期提升模型的分类性能。

2 文本分类流程

文本分类在自然语言处理中扮演着非常重要的角色,最早的文本分类依赖于手工构建分类数据集,耗时费力,不利于大规模投入使用。目前,基于自动文本分类通过有监督学习,将非结构化的信息处理为计算机可处理的数据结构,是文本分类任务的一大难点。文本分类的一般流程如图1所示,文本分类在输入分类器之前主要步骤有:①文本预处理;②Word2vec词向量表示;③特征降维。

图1 文本分类一般流程图Fig.1 General flowchart for text classification

2.1 文本预处理

文本预处理主要包括分词和去除停用词等操作。首先利用开源软件包jieba进行中文分词,把文本内容划分为以词为单位的序列,去除停用词主要指的是将文本中反复出现并无特殊意义的词进行去除处理,这些词的存在对于分类器的训练起不到任何作用,甚至会对文本分类的效果存在干扰,因此需要创建停用词表,对文档中含有停用词的文本进行过滤。

2.2 Word2vec词向量表示

CBOW于2013年由 Mikolov等[17]提出,主要是将高维稀疏的词向量转化为低维稠密的向量空间,CBOW模型内在思想主要是通过给文本上下文建模,将上下文词语加权平均,最后用softmax函数计算的到中心词的概率,并且得到词向量。图2展示了Word2vec词嵌入构造向量的过程。

CBOW模型的结构类似神经网络模型,目标函数可表示为

(1)

图2 Word2vec词嵌入构造向量流程Fig.2 Word2vec word embedding construction vector process

式(1)中:p为条件概率;T为训练语料库中出现词汇的数量;Context为中心词上下文窗口大小;wt-c、wt-1、wt+1、wt+c表示输入的词向量;wt为输出的词向量。

在实际计算过程中会将目标函数转换为对数似然函数L,其表达式为

(2)

CBOW采用三层前馈神经网络,结构包括输入层、映射层、输出层,w(t-2),w(t-1),…,w(t+2)为输入向量,映射层为计算过程,w(t)为输出变量,如图3所示。CBOW没有隐藏层,在整个的网络传播过程中减少很多矩阵计算,节省了计算时间。输出层通过上下文计算中心词出现的概率,模型通过softmax函数进行归一化计算,具体表达式为

(3)

sum为映射层,主要是对输入层的向量做求和累加,表示一个计算的 过程图3 CBOW 模型结构示意图Fig.3 Schematic diagram of CBOW model structure

式(3)中:T为训练语料库中出现词汇的数量;yw(i)为向量y中第i个分量值。

应用CBOW词向量训练,得到训练后的词向量可表示为

(4)

(5)

2.3 特征降维

文档频率(document frequency,DF)是指文本集中包含某个特征的文档个数。文档频率是最简单的一种无监督的特征降维方法,其时间复杂度和文本集的大小呈线性关系,不依赖类别信息,多用于文本分类。

文档频率主要就是计算训练集中每个特征词的文档频率,再将文档频率小于设定阈值的特征词移除,不作为训练的特征词向量,在文本分类任务中,一般认为出现频率较多次数的词汇更能表现文本特征,出现频率少的词汇要么是无用词汇,要么对整体性能没有影响。但实际上,小频率的特征词未必就是无用词汇,大量的删除出现次数少却对分类特征明显的词汇可能会导致特征集类别判定能力下降,影响文本分类的效果。

3 Bi-lSTM-Attention文本分类模型

在BiLSTM 的基础上,本文提出基于双向长短时记忆网络的改进注意力模型,Attention机制的加入能够进一步的优化文本特征向量,解决信息冗余的问题,提高文本分类的准确度,Bi-LSTM模型架构图4所示。

bw_hn为句子后向信息;fw_hn为句子前向信息图4 Bi-LSTM模型架构图Fig.4 Bi-LSTM model architecture

所提出的模型包含5部分,即①嵌入层:将每个词g映射成低维向量;②LSTM层:利用BLSTM从①获得高层特征;③注意层:产生一个权重向量,通过将权重向量相乘,将每个时间步长的词级特征合并成句子级特征向量;④输出层:最终使用句子级特征向量进行关系分类。

3.1 嵌入层

给定一个由n个词组成的句子S为[w0,w1,w2,…,wn],每个单词wi转换为一个200维度的实数向量,在句子中的每个单词,查询词嵌入矩阵Wwrd∈Rdw|V|,其中,V为一个固定词汇数的词典,本文模型中的词汇数是6 002,dw为词向量的维度,Wwrd通过训练词向量得到,词向量维度dw可控,输入的词通过从词典查找的方式得到相应的词向量,词典中没有的词通过随机生成的方式得到,文本通过预处理之后输入到嵌入层,完成文本的向量化表示。

3.2 双向长短时记忆网络层

BiLSTM是对LSTM进行了改进,其与LSTM结构大体相似,区别于LSTM的单向传播,BiLSTM引入了两个传播方向相反,相互独立的隐藏层,相较于LSTM,它能够得到两个关于输入信息的向量,从正向和反向得到序列的上下文语义信息,提高模型的性能,参考Shu等[21]提出的BiLSTM结构,其表达式见式(6)~式(10)。

it=σ(Wxixt+Whiht-1+Wcict-1+bi)

(6)

ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)

(7)

ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)

(8)

ot=σ(Wxoxt+Whoht-1+Wcoct+bo)

(9)

ht=ottanhct

(10)

式中:σ为sigmoid作为激活函数;it、ft、ot、ct分别为输入门、遗忘门、输出门和记忆单元,其中,遗忘门ft决定细胞需要舍弃哪些特征信息,输入门it决定给细胞状态添加哪些特征信息;tanh为激活函数;ht-1为前一个时间步的输出;xt为当前时间步的输入;Wxi、Whi、Wci为输入门it的权重;Wxf、Whf、Wcf为遗忘门ft的权重;Wxc、Whc为记忆单元ct的权重;Wxo、Who、Wco为输出门ot的权重;bi、bf、bc、bo分别为输入门偏置、遗忘门偏置、候选细胞偏置和输出门偏置。

3.3 注意力层

Attention机制被用于自然语言处理(NLP)最早是在Encoder-Decoder[25]中,多用于机器翻译和人机对话当中,将Attention机制引入文本分类模型,其优势在于使输入的数据具有不同的权重信息并侧重于权重较高的信息,提高分类效果。

M=tanhH

(11)

α=softmax(wTM)

(12)

r=HαT

(13)

式中:M为隐藏层单元;α为注意力向量;H为 BiLSTM 的输出;r为Attention机制的输出向量;w为训练好的词向量。

最终被用来分类的句子可表示为

h*=tanhr

(14)

3.4 输出层

使用softmax分类器来预测类别,将分类器注意力层的h*作为输入,可表示为

(15)

式(15)中:y为具体类别;S为输入的句子向量。

(16)

(17)

式(17)中:ti为样本的正确标签;yi为样本的预测标签;m为所有文本的数量;θ为代价函数的参数,θ越小,代价越小;λ为L2正则化超参数,将dropout和L2正则化相结合来缓解过拟合。

4 实验

4.1 实验环境

本实验是基于Tensorflow框架上实现的,Tensorflow 是一款用于深度学习的开源框架,利用节点之间的数据流传递数据并进行计算。Tensorflow最开始由Google大脑的研究院以及工程师研发,用于机器学习和神经网络的研究,2015年10月开源,其架构灵活,能够支持各种网络模型,具有良好的通用性。本实验的计算机配置情况如表1所示。

表1 计算机配置情况Table 1 Computer configuration situation

4.2 对比方法

本实验一共运用了5种文本分类的算法做对比实验,在相同的数据集上进行实验。4种对比实验分别为:基于Word2Vec词向量表示,RCNN(region-convolutional neural networks)文本分类方法、CNN文本分类方法、Transformer文本分类方法、Bi-lSTM文本分类方法、Bi-lSTM-Attention文本分类方法。

4.3 实验语料数据集

目前,文本分类大多采用已经开源的数据集,通过手机邮件语料数据集[18]、IMDB影评数据集、复旦大学中文语料库以及利用Python爬虫从专业网站上获取相关专业文本数据集,然后利用神经网络方法实现施工组织设计文本自动分类,采用通过网络下载以及调研等各种方式收集不同类型的施工组织设计文档,构建文本分类的数据集。

通过对“土木在线”网站(https://bbs.co188.com/)数据以及长江大保护相关单位所提供数据进行收集整理,本实验语料数据主要集中于市政相关的施工组织设计文档,主要涵盖了房建、污水管道、公路、隧道、桥梁5个领域。施工组织设计文档的编写应以相关编制规范为依据,内容上都必须包括涵盖整个工程项目的概况信息、施工部署、全程进度安排、施工准备工作、主要机械人员配置情况、采用的施工方法、施工现场总平面布置等,选择最具有分类特征的工程概况作为分类文本,工程概况包括工程地理位置、主要工程量等以及水文、地质、气象条件等现场施工条件信息。

鉴于收集数据的难度较大,本实验收集了房建、污水管道、公路、隧道、桥梁的数据集,总计1 720份施工组织设计文档,其中房建868份、污水管道224份、公路282份、隧道和桥梁分别为143和203份,本实验选定80%的文本作为训练数据集,20%的文本作为测试数据集。

4.4 实验细节

使用分词工具jieba和停用词表分别进行分词和去除停用词后利用Word2vec进行词向量的构造,Word2vec预训练词向量维度为200,窗口大小设置为10,利用CBOW进行训练。

(1)Bi-LSTM文本分类模型的参数设置。Bi-LSTM隐藏层神经元设置为128,单词训练样本batch size设置为128,验证集比率rate为0.8,词汇量vocab_size为6 000。所有样本共进行20轮循环训练,学习率为0.001。

(2)对比实验中的参数设置。RCNN隐藏层神经元为256,丢弃率Dropout为0.5;CNN卷积核的数目为128,卷积核的大小为2、3、4,Dropout为0.5;Transformer中内层一维卷积核的数量为64,多头注意力数目为8,transformer block的数量为1,LayerNorm中的最小除数为1×10-8,Dropout为0.5;Bi-LSTM 和Bi-lSTM-Attention文本分类模型中隐藏层神经元为128,Dropout为0.5。

4.5 评价指标

精确率(precision,记为P)、召回率(recall,记为R)、F值是评价单个类型文本分类效果的主要指标。共包含5种类别,分别用A1、A2、A3、A4、A5表示。TP(true positive)表示原本类别为Ai并且被分类到Ai的样本数;FP(false positive)表示原本类别不是Ci却被分类到Ci的样本数;FN(false negative)表示原本类别为Ci却被划分到其他类别中的样本个数;TN(true negative)表示原本不属于Ci也没有被分类到Ci的样本数。

精确率P指正确分类到某个类别的样本数量占全部被分类器划分到这个类别样本数量的百分比,其计算公式为

(18)

召回率R指正确分类到某个类别的样本数量占全部样本中实际属于这个类别的样本数量的百分比,其计算公式为

(19)

F值是一个综合指标,是精确率和召回率的倒数平均值,其计算公式为

(20)

对于评估分类器对于所有分类文本的性能时,采用准确率、微平均、宏平均、以及加权平均。

准确率(accuracy,记为Accuracy)指的是分类正确的样本数和总样本数的比值,其计算公式为

(21)

对于评估分类器对于所有分类文本的性能时,采用微平均、宏平均以及加权平均作评估。

微平均精确率(Micro_P)、微平均召回率(Micro_R)、微平均F值(Micro_F)计算公式分别为

(22)

(23)

(24)

宏平均精确率(Macro_P)、宏平均召回率(Macro_R)、宏平均F值(Macro_F)计算公式分别为

(25)

(26)

(27)

式中:Pi、Ri分别为第i类的精确率、召回率;m为总类别数。

加权平均精确率Weight_P、加权平均召回率Weight_R、加权平均F值Weight_F的计算公式分别为

(28)

(29)

(30)

4.6 结果与分析

4.6.1 各类别文档分类结果与分析

对基于Attention的Bi-LSTM特征提取与其他4种文本分类模型进行对比实验,结果如表2所示。

表2为房建、污水管道、铁路、公路、隧道数据集在5种文本分类模型上分类精确率、召回率、F值,表中依次表示为Pre、Rec、F。可以看出,基于Attention的Bi-LSTM的文本分类模型基本在每个分类上的3个评价指标均高于其他模型。在数据收集上,房建类施工组织设计文本收集数量868份,Bi-LSTM-Attention、CNN、Bi-LSTM的精确率、召回率、F值均在0.9以上;RCNN和Transformer精确率分别为0.84和0.82;公路收集数据分别为282份,其在CNN和Bi-LSTM-Attention模型的分类效果较好,精确率分别为0.64和0.75,召回率分别为0.95和0.92,F值分别为0.77和0.82,在其他3种模型的表现稍次;污水管道、桥梁、隧道等数据较少的文本中,CNN和Bi-LSTM-Attention依然优于其他模型,其中RCNN表现最差,在污水管道以及隧道的数据集上并没有得到有效的训练,Transformer在隧道数据集上训练效果较差。总体来说,在房建这个数据集较多的类别上,几种模型的分类效果约为0.9,Bi-LSTM-Attention精确率、召回率、F值均为0.97,分类性能最好。结果表明,融入Attention机制Bi-LSTM文本分类模型的精确度、召回率、F值等相比于其他模型均有明显提升。

4.6.2 整体分类结果与分析

在Sk-learn里,Micro-average平均下,多分类的Accuracy、Recall和Precision是一致的,因此只给出模型准确率(Accuracy)、宏平均(Macro-average)、以及加权平均(Weight-average)的统计结果,如表3所示。

Bi-LSTM-Attention、CNN、Bi-LSTM、Transformer、RCNN分类准确率、宏平均值及加权平均值依次降低。Bi-LSTM-Attention和CNN的模型准确率最佳,分别为0.85和0.82;Bi-LSTM-Attention在Macro_P、Macro_R、Macro_F分别为0.8、0.75、0.75,比表现稍差的CNN分别高出5%、6%、5%;Bi-LSTM-Attention在Weight_P、Weight_R、Weight_F分别为0.86、0.85、0.85,比CNN分别高出2%、3%、4%。实验表明,加入 Attention 机制的文本分类模型能够综合考虑上下文信息,其能够存储更多的语义信息,提取更多的文本特征,Attention机制加强了关键信息对分类的影响,可提升文本分类模型的精度。

表2 5种模型文本分类性能Table 2 Text classification performance of five models

表3 模型整体分类性能Table 3 Overall classification performance of the model

5 结论

(1)为实现市政相关施工组织设计文本的分类,基于Bi-LSTM加入Attention机制,利用注意力机制进一步对提取到的特征向量进行优化,BiLSTM则是对LSTM进行了改进,区别于LSTM的单向传播,BiLSTM引入了两个传播方向相反,相互独立的隐藏层,它能够得到两个关于输入信息的向量,从正向和反向得到序列的上下文语义信息,提高了模型的性能。通过设置实验,对比了5种文本分类方法,通过统计各类别文档分类结果的准确率、召回率、F值等评价指标评估模型在单个类别数据集的分类性能,通过Accuracy、Macro_F、Weighted_F评估模型在整体数据集上的分类性能。实验表明,融入 Attention 机制Bi-LSTM文本分类模型相比于其他模型均有明显提升。

(2)不足之处在于在做分类研究使用的是施工组织设计文本数据集,数据有限,导致数据少的分类模型训练效果差;后续考虑将CNN和Attention Bi-LSTM集成来提高文本分类模型性能并通过研究少样本文本分类模型提高模型应用能力;基于文本分类研究利用知识图谱进行规则推理挖掘施工组织设计文本关键信息以辅助施工组织设计文档智慧审查。

猜你喜欢

文档向量分类
浅谈Matlab与Word文档的应用接口
向量的分解
有人一声不吭向你扔了个文档
分类算一算
聚焦“向量与三角”创新题
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类
基于RI码计算的Word复制文档鉴别
向量垂直在解析几何中的应用