基于自然语言理解的软件产业政策关联性分析技术*

2021-12-22 07:08薛强张金言刘巍隋国宾曹扬李响
电子技术应用 2021年12期
关键词:类别解析卷积

孙 璐 ,薛强 ,张金言 ,刘巍 ,隋国宾 ,曹扬 ,李响

(1.国家工业信息安全发展研究中心,北京 100040;2.中电科大数据研究院有限公司,贵州 贵阳 550022;3.中译语通科技股份有限公司,北京 100040)

0 引言

随着互联网、人工智能和大数据等发展成为国家战略,以及软件技术应用在各行各业、各领域快速扩展,国家颁布了软件和信息技术服务领域的政策,来规范和促进相关产业发展。目前全国各地市出台了数百个大数据等软件和信息技术服务产业政策,分析政策之间的关联关系有利于帮助政策制定者把握方向、确保政策承接性,有利于政策研究者科学的分析政策发展脉络变化,有利于政策应用者更好的学习政策。

以往针对政策的研究分析政策的情感倾向、应用领域等更多地关注在单篇政策文本上,忽略了政策之间的关系。但是政策在制定上存在着继承、补充等特点,因而本文提出了针对政策之间关系的关联分析。考虑到人工研究费时费力,本文借助自然语言处理相关的技术手段实现自动分析,结合政策关联关系的定义,对政策之间的关联关系进行分析。

1 政策关联性分析方法

为了实现软件和信息技术服务业政策关联分析,需要采取集多种方法优势于一体的综合分析方案。首先需要对软件及信息技术产业政策进行分类,识别出大数据、人工智能等细分类别,确保基于同类政策进行自动化关联分析;然后采用合理的分析模型提取语言,确保关联性分析整体方案的可靠性及优越性。本文制定了政策关联分析方案,首先采用粗粒度解析方法,分析两个政策之间的类别、发布机构是否存在关联关系;然后从句子级别和词级别进行细颗粒度分析,根据句子分析结果和知识图谱从句子级别对比分析句子之间的关系。

1.1 政策文本解析

1.1.1 粗粒度解析

通过对政策文本的研究,本文对政策类别进行定义,按照领域划分为人工智能、大数据、软件、云计算、智能制造、互联网+、数字经济、物联网和电子商务9 个类别。在此基础上,构建政策文本的分类模型,实现政策文本所属类别的自动划分;同时,对政策文本进行浅层解析,实现政策发布机构、发布时间、所属省份等信息的自动化提取,形成政策文本的元数据。

1.1.2 细粒度解析

为了对政策文本进行分析,本文通过调查研究提出政策知识图谱构建方案,分为3 个层次进行分析:(1)篇章级别的政策解析,即按照指导思想、发展原则、发展目标、重点任务、重大工程、保障措施等针对政策文本进行结构解析,从而能够从整体层面对政策文本进行分析。(2)句子级别的细粒度解析,从句子所属政策类别、句子属性两个层次对政策句子进行分析,旨在分析句子作用及焦点。其中句子所属政策类别是描述句子在政策原文中扮演的作用,如表1 所示。句子属性是对句子描述的政策方面进行总结概括,分为管理、服务、应用、主体和技术5 个类别。(3)实体关系级别的解析,对政策中的实体和关系进行识别。首先对政策文本中的句子进行解析,将其中的动词作为关系,将动词修饰的名词作为实体;通过聚合获得政策图谱中的实体和关系类型,如图1所示。通过以上3 个层次的分析,实现对政策文本的细粒度解析,构建政策结构化知识图谱,如图2 所示。

图1 政策单句句法解析

图2 政策文本知识图谱框架

表1 政策所属类别划分

1.2 政策关联分析

本文涉及方案提出基于政策文本解析结果的政策关联关系分析方法。与文本解析结果承接,政策之间的整体关系同样定义为理论指导、规范管理、体系培育和支撑服务4 种关系类别。如图3 所示,从句子属性作为政策分析的切入点,如果两个政策句子的属性相同,并且通过对比两个句子中的实体和计算句子之间的相似性,判断两个句子是否存在关联关系,然后分析两个句子所属的政策类别。同时,考虑到政策发布机构级别高低,通过逐句分析最终通过整体概率得出政策之间关联。

图3 政策关联分析示例

2 关键技术解决途径

2.1 政策文本粗粒度解析

政策文本粗粒度分析任务可以看作是给定特定领域的政策文本,从政策文本中识别出政策所属的领域、政策发表时间、政策发表机构,并且按照章节对政策文本进行结构化解析。

技术层面采用了正则对政策文本进行解析,结构化提取时间、发表机构等信息,并识别出政策相关子章节。针对互联网、大数据、软件等9 个领域对政策文本进行识别有利于后续对政策文本的分析。采用基于卷积神经网络的文本分类模型对政策所属领域进行划分,通过分析发现政策名称中基本包含了对政策所属领域类别的描述,因此将政策名作为模型的输入,对其所属领域类别进行分类。具体流程如图4 所示。

图4 政策所属领域分类流程图

2.1.1 数据获取

为了保证获取数据的真实性与权威性,数据获取源主要是国家及各省市政府部门官网上公开的政策文件。首先人工收集小批量政策数据集进行分析并以此来设计具体的任务与目标。数据格式主要有word和pdf 两种格式,为了能够更好地方便后续的解析,将所有政策文本存储为txt 文本格式便于后续的分析与处理。最终获取近400 篇软件和信息技术服务业政策。

2.1.2 数据标注

为了将已有的政策文件转化为模型能够进行有监督训练的数据,该方案需首先对部分数据进行人工标注,即根据政策名按照人工智能、大数据、软件、云计算等9 大类对政策所属领域类别进行标注。

2.1.3 数据预处理

分两步对政策文本进行预处理,即分词和获得单词的词向量。分词主要使用Jieba 中文分词工具。为了获得更精准的分词结果,除使用分词工具自带的分词词典外,本研究搜集了一部分国家政策以及法规方面的特定领域词汇用于构建特定领域内词典来提高最终的分词效果。对分完词的文本,使用Word2vec[1-2]词向量训练方法预训练词向量,词向量可以看作词汇特征从而用于下游模型的输入。

2.1.4 模型搭建

采用基于TextCnn 模型来对政策所属领域进行划分,模型整体结构如图5 所示。

图5 基于TextCnn 的领域识别模型

(1)稀疏连接

在传统神经网络中,每一层的节点是一个一维的向量,层与层之间的所有节点都存在连接关系,称之为全连接层。而在卷积神经网络中,每一层节点与下一层节点之间不存在全部连接的关系,每一层的节点只与上一层节点的若干个局部节点连接,称为局部连接。其模型结构如图6 所示。

图6 稀疏连接与权值共享

假设第m-1 层是输入层,有n 个节点,第m 层每个节点接收上一层宽度为k 的感受野,那么第m 层有n-k+1 个节点。每个节点对感受野之外的节点无关,因而能够学习到最小的局部输入模式。

(2)权值共享

在卷积神经网络中,每个卷积层使用相同的卷积核重复的作用于每个感受野,对输入数据进行卷积并形成下一层节点的值。这些卷积核共享相同的参数。如图6中,第m-1 层共6 个节点,以3为窗口作为局部感受野,每个感受野经过共享参数的卷积核形成第m 层节点。颜色相同的线参数是共享的。在训练时,仍然可以使用梯度下降算法,只不过改动在于卷积核参数的梯度是共享连接的参数梯度值之和。这样可以使神经网络的训练参数数量降低若干个数量级。

(3)池化

卷积神经网络中的另一个重要操作是池化,它是一种非线性下采样操作的一种。如果直接使用卷积之后得到的特征进行计算,计算量仍然巨大。因此,需要进一步降低特征的维度。

作为国表艺术跨界营销的引领者,依波曾与女子十二乐坊、魏松等著名艺术团体、艺术家合作,2018年,“依波艺术时光”再启,携手超人气多媒体艺术展《印象莫奈:时光映迹艺术展》推出莫奈定制款腕表引爆全网,让更多人领略精艺腕表与艺术名家的魅力。这不仅标志着国表艺术跨界营销的新突破,更让艺术跨越时间长河,让时间沉淀艺术之美。

对于卷积之后的特征,可以将它分为若干个不同的子区域,每个子区域取其最大值(也可以取平均值)作为输出,输出到下一层。这样计算得到的特征维度要降低许多,有效降低了计算复杂度,并且可以一定程度上防止过拟合。池化产生的输出结果具有平移不变性,可以提供额外的鲁棒效果。

将前述的卷积层、池化层组合起来就能够组成卷积神经网络和核心部分。一般而言,通常会使用一个全连接层将最后一个输出层的结果作为Softmax 分类器的输入数据进行分类。

(4)Softmax

Softmax 回归模型可以看成是logistic 回归模型在多分类问题上的推广,可以被用于解决多分类问题。它是有监督的机器学习模型,常常与神经网络模型组合起来一起使用。

假设类别标记为Y,Y 所有可能的取值为{1,2,3,4,…,K}。因此对于训练样本x,模型的目标就是要根据x 求出属于第k 个类别的概率值P(Y=k|x),然后判断x应该被划分到哪个类别。

其中,w1,w2,w3,…,wK是模型的参数。给定训练 集T={(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)},仍然可以通过极大似然估计来求解模型中的各个参数,其对数似然函数为:

其中,1{·}是示性函数,当大括号中的表达式成立时,其结果等于1,否则其结果等于0。

2.2 政策文本细粒度解析

通过对政策文本进行分析,本文提出了政策文本细粒度解析方案。首先通过政策文本进行分析,对政策结构进行解析,提取政策各个章节标题,进而抽取政策文本中的关系和实体,构建政策知识图谱。其次,对政策文本进行句子级解析,将政策文本按照句子进行划分,对每个政策句子,判断其所属的政策类别、句子属性。主要涉及三部分的内容:(1)政策句子中所属类别识别技术;(2)政策句子属性识别技术;(3)政策文本的实体识别和关系抽取。针对前面两部分内容,均将其看作是分类任务,采用统一的模型框架;针对第三部分内容,采用句法解析的启发式方法将关键性动词作为关系,动词后的名词作为实体,基于抽取的实体和关系构建政策知识图谱。其解析流程图如图7 所示。

图7 句子级政策文本细粒度解析流程图

2.2.1 数据获取

从我国软件及信息技术政策中挑选了10 篇政策文本数据,覆盖大数据、互联网+、人工智能等各个计算机领域的政策文本,然后对政策文本进行分句。

2.2.2 数据标注

为了将已有的政策文件转化为模型能够进行有监督训练的数据,需要对部分数据进行人工标注。这里,对分好句的政策句子进行所属类别标记和句子属性标记。这些标注好的数据用于之后的所属政策类别分类、句子属性识别等任务中进行有监督训练。标注样例如图8所示。

图8 数据标注样例图

2.2.3 数据预处理

为了使政策文本数据能够输入到BERT[3]模型中进行训练,本文基于中文文本数据,训练了Bpe[4]词典,代替传统的Jieba 分词方法,使用Bpe 算法对政策文本进行分词,作为模型的输入。

2.2.4 模型搭建

基于预训练的BERT 在多项自然语言处理任务中达到了很好的效果,在此次任务中对比了传统的神经网络模型(如TextCnn[5]、Lstm[6]等)的效果,基于BERT 的语言模型能够更好地从深层次提取文本的语义内涵,对于政策文本内容的理解有着重要作用,其模型结构如图9所示。因此,这部分重点采用了基于预训练BERT 模型的分类模型、句子属性识别模型。

图9 BERT 语言模型框架

BERT 借鉴了Transformer[7]的网络模型结构,采用Transformer 的编码器(Encoder 端)作为模型结构,摈弃了循环神经网络的循环式网络架构,完全基于全连接神经网络和注意力机制对文本进行建模。BERT 模型采用循环的模型块构成,每个块的结构相同,块模型结构由三部分构成:多头注意力机制、前向神经网络和残差网络。其中,多头注意力机制的核心思想是计算句子中的每个词与其他所有词之间的相关关系,由于词与词之间的相互关系能够反映出句子中不同词之间的关联关系与重要程度,因此通过注意力机制可以使句子中的每个词包含上下文所有词的信息。多头注意力机制的模型结构如图10 所示。

图10 多头注意力机制结构图

相比于之前的ELMO[8]模型,BERT 模型有两种创新:(1)模型的输入是由字符嵌入、分块嵌入和位置嵌入组成的;(2)采用了Masked LM 的训练机制。

模型的输入表示如图11 所示。无论是单个文本还是文本对,输入都是一个句子序列。其中,[CLS]表示句子序列的开始,[SEP]表示两个文本的分割。输入向量是由词向量、位置向量和分割向量构成的。

图11 BERT 语言模型输入格式

其中,词项量采用WordPiece embeddings;分割向量开始是随机初始化的,是学习得到的,支持最长序列长度为512;[CLS]表示隐状态的输出,对于分类问题,可以作为整个句子序列的表示。

从理论上看,深度双向语言模型应该比浅层语言模型和单向语言模型的效果好。因为深度双向语言模型能够将多层的上下文信息进行利用,每个词不仅仅包含本身,还能包含周围词的信息。BERT 语言模型在训练过程中采用了MASK 的方式,将输入序列按照一定的概率随机地MASK 词。BERT 模型采用15%的概率进行MASK。除此之外,为了捕获句子之间的关联关系,BERT 模型采用了预测“是否为下一句”的任务。句子级别的MASK,50%情况下句子B为句子A 的下一句,50%情况下句子B 是从语料库中随机选取的一句。

BERT 模型的训练目标是:最小化“预测MASKED 词”的损失和“预测是否为下一句”的损失之和。

2.2.5 分类框架

本实验基于中文wiki 等文章数据,训练了基于中文文本的BERT 语言模型,基于训练好的中文BERT 模型进行finetune,开展预测分类任务训练。模型的整体框架如图12 所示。

图12 基于BERT 模型的分类模型

在预训练的BERT 模型的基础上,在上层搭建全连接网络和Softmax,采用交叉熵损失函数计算模型的损失。

3 实验结果

3.1 评价指标

评价指标包括:

(1)准确率(P):预测为正的样本中有多少是真正的正样本;

(2)召回率(R):样本中的正例有多少被预测正确;

(3)F 值:对精度和召回率的调和平均,其计算公式为:2×P×R/(P+R)。

3.2 政策所属领域分类

政策所属领域分类测试结果如表2 所示。

表2 政策所属领域分类测试结果

经过测试,TextCnn 模型能够满足本文政策所属领域分类所需性能,并且TextCnn 模型相比于BERT 模型来说,模型更小,占用显存更少,预测更快。因此,本方案采用TextCnn 作为最终政策所属领域分类模型。

3.3 句子所属政策类别分类

句子所属政策类别分类如表3 所示。

表3 句子所属政策类别分类

经过实验对比,BERT 模型相比Selfattention 模型和TextCnn 模型,准确率效果分别提升了42%和30%,验证了本方案BERT 模型效果。

3.4 句子属性识别

句子属性识别测试结果如表4 所示。

表4 句子属性识别测试结果

通过实验对比,BERT 模型相比Selfattention 模型和TextCnn 模型,准确率、召回率、F 值均高于前两个模型,验证了本方案采用的BERT 模型效果。

4 结论

本文通过对政策文本的分析,制定了一套基于深度学习的政策多粒度解析方案,并对政策关联关系进行定义。在有限数据量的条件下,对政策领域知识进行归纳总结,通过领域关键词典提升深度学习模型的效果,达到了现有最好效果。同时,基于该项技术,完成了政策中层级关联关系的分析和抽取,为政策制定者学习、制定新的政策做出了贡献。

猜你喜欢
类别解析卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
三角函数解析式中ω的几种求法
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
睡梦解析仪
电竞初解析
对称巧用解析妙解
服务类别
论类别股东会
一种基于卷积神经网络的性别识别方法