APP下载

基于改进的TextRank算法的计算机辅助定密研究

2022-03-18李晨庚谢四江

计算机应用与软件 2022年3期
关键词:细则文档向量

李晨庚 谢四江

1(西安电子科技大学 陕西 西安 710071)2(北京电子科技学院 北京 100070)

0 引 言

保密工作是各国长久以来非常重要的国家安全基础工作。自《保密法》颁布以来,全国各单位与部门都依照保密法规定,制定相关保密细则,完善保密管理制度。不过由于各单位与部门的情况、领域各不相同,涉密事项种类繁多,定密方式单一,保密管理流程有所差异。定密大都依赖人工定密,指定专人负责文档的接收、制定定密细则、进行文档定密,以及分类管理。这样传统的定密方式造成定密工作效率低下,质量无法保证。

目前对定密工作的研究集中于定密制度、流程及管理上。高波等[1]研究对比不同国家定密制度,介绍和分析了美军的定密制度。陈翠玲等[2]总结了国内定密发展现状,结合借鉴国外先进理论,提出了改进国内定密工作的措施与方案。

在定密方式上,国内对定密工作的智能化与数字化研究并不多。张帆等[3]从基于可信度的不确定推理模型入手,提出基于可信度的不确定推理辅助定密方法,该方法通过专家打分的方式对从定密法规中抽取定密规则设定可信度,计算规则匹配后相关密级的可信度来确定涉密文档所属密级,这开启了计算机辅助定密方面的研究。吴国华等[4]提出了根据文档相似度快速查找定密依据的方法,基于VSM模型和匈牙利算法的文本相似度计算,确定最终文档密级。潘娅[5]提出一种基于中文文本分类技术的计算机辅助密级界定方法,将中文文本分类技术应用到文档定密任务上,通过对文档进行预处理,并用TF-IDF进行文档关键词权重计算,完成向量化过程,针对定密任务的特点,提出基于二叉树的多分类SVM,完成计算机辅助定密,提高了定密的准确性。在定密方式的研究上,发展趋势是从人工定密转向计算机辅助定密,在定密方法上是从基于统计的方式到基于机器学习的方式。

在实际定密工作中,目前大多数采用的是基于关键词的方式。根据定密细则中的涉密关键词与文档进行比对,文档中出现涉密关键词和词对越多,则说明文档越有可能被定为相应密级。这种方式忽略了文档中会出现与关键词相似表达的问题,虽然文档中不含有涉密关键词,但语句表示的含义仍是涉密的。

综上,为解决以上辅助定密所产生的定密不严谨、效率低下等问题,本文提出了基于改进的TextRank算法的计算机辅助定密方法,主要做了以下几个工作:

1) 利用大规模预训练网络生成的glove词向量,基于词性构造具有语义信息的加权句向量。

2) 对待定密文档解析生成句子节点,并构造图模型,将定密细则融入图节点中,利用改进的TextRank算法进行排序计算,获取关键语句权重,进行辅助密级界定。

1 相关工作

1.1 词向量发展概况

在自然语言处理领域,文本作为非结构化的数据结构,要进行相关的计算就必须经过预处理转换为数值型数据,预处理的过程主要包括分词、去停用词、文本向量化等操作。其中如何进行文本向量化是自然语言处理领域非常热门的研究热点。词向量质量的好与坏对于下游文本分类等任务也起到非常大的作用。最初的文本向量化方式比较直接,有独热编码(One-hot)、词袋模型(Bag-of-words model)、TF-IDF(term frequency-inverse document frequency)等向量化方式。One-hot将词语看作独立的存在,互相没有联系,也不包含任何语义语法信息,并且在词汇表非常大的时候造成维度灾难。Bow和TF-IDF则是考虑了词语的分布情况,利用词语的统计特征构造向量。TF-IDF不仅可以用来进行文本向量化,也可以用于关键词计算。但是,这些词向量表示方式都比较稀疏,并且忽略了语义信息。

1986年Hinton[6]提出词向量的分布式表示方式,这开启了新一次的研究热潮,其中最为经典的就是Mikolov等[7]提出的Word2vec算法。Word2vec算法假设两个具有相似上下文的词语表达的意思也相近。根据这个假设,设计出cbow模型和skip-gram模型,cbow模型通过上下文来预测中心词,skip-gram模型通过中心词预测上下文,并在其之后的研究中优化了词向量生成方式,加入负采样及子采样等方式。词向量作为副产物在模型中生成。相比于Word2vec只考虑窗口大小的信息,Pennington等[8]提出的glove词向量,除了考虑窗口大小的信息,还加入了全局信息,这使得glove词向量在质量上有所提高。

Bengio等[9]提出了一种N-gram神经概率语言模型,通过多层前馈神经网络进行学习,利用极大似然法预测在该上下文条件下的当前中心词的条件概率。Peters等[10]是神经语言模型中比较经典的模型,采用双向LSTM来进行监督学习,获取关于上下文的动态向量。

近几年词向量研究基本集中在大规模预训练网络上,以监督学习方式进行模型训练,然后通过fine-turn嫁接到任务网络之上。这个采用预训练方式进行文本向量化,不仅可以通过大规模的语料库获得词语统计信息,而且可以通过深度模型挖掘出语法语义等高级信息。Bert[11]是谷歌在2018年发布的大型预训练网络,在11项NLP任务中获得了state-of-the-arts的表现,Bert是基于多层的Transformer[12]的Encoder-Decoder模型。解决了传统神经语言模型无法长期依赖问题。并且通过Masked机制解决了“自己看到自己”的问题。本文的文本向量化考虑不同词向量质量以及不同任务下的表现,决定采用glove的预训练词向量进行句向量构造。

1.2 图排序模型

基于图模型的排序算法本质上是一种从整个图递归得出的全局信息来确定图内节点重要性的方法。比较有名的就是谷歌创始人Brin等[13]提出的PageRank算法以及Jon Kleinberg提出的HITS算法。

PageRank的基本思想是“投票”“推荐”,当一个顶点链接到另一个节点时,算作对另一个节点的投票,票数越高,该节点的重要性就越大。节点进行投票的重要性决定了投票本身的重要性。一个节点的重要性来源于为其投票的节点,以及为其投票节点的重要性。

如图1所示,A节点有三个出链分别链接到B、C、D上,那么当用户访问A节点的时候,就有可能跳转到B、C或者D节点,跳转概率均为1/3。B节点有两个出链,链接到A和D节点上,跳转概率为1/2。

图1 PageRank节点示意图

抽象来说就是一个不带权的有向图G=(V,E),V代表节点,E代表节点之间的边,大小为|V×V|。对于给定节点Vi,ln(Vi)表示所有链接至节点Vi的节点集合。Out(Vi)表示节点Vi所链接的节点集合。节点Vi的PageRank得分计算如下所示:

(1)

式中:d是范围在0~1的阻尼系数,表示一个节点链接到另一个随机节点的概率,一般被启发式的设置为0.85。然后通过迭代的方式进行计算,直至误差收敛到某一阈值以下。而对于无向图的排序来说只是令有向图中节点的入度等于出度即可。

HITS是与PageRank同一时期提出的算法,全称是Hyperlink-Induced Topic Search。在HITS算法中,每个节点被赋予两个属性:Hub属性和Authority属性。同时节点被分为Hub节点和Authority节点。Hub是中心的意思,所以Hub节点包含了许多指向Authority节点的链接。Authority节点则是指包含实质内容的节点。公式如下所示:

(2)

(3)

在Web搜索引擎的环境下,HITS算法的目的是当用户给定某个查询,返回给用户高质量的Authority页面。Mihalcea等[14]提出将HITS算法应用在文本关键句子抽取以及自动摘要任务上,达到了不错的应用效果。

2 模型设计

2.1 基于词性的加权句向量

句子作为一个完整的语义表示单元,如何进行向量化表示也是自然语言处理领域研究热点。不同于词语,语句含有的信息更丰富,拥有更精确的语义以及语法表示。Riedel等[15]提出一种简单但是有效的SIF模型,SIF模型将每个句子先表达为所含词语词嵌入的加权平均,然后把句子放在一起找最大主轴,最后从每个句子移除这个最大主轴。Conneau等[16]提出InferSent模型,类比图像领域的ImageNet,寻找出自然语言处理的“ImageNet”,在很多NLP任务中都取得了state-of-the-arts的成果。Ruckel等[17]提出一个新的句子编码方式,基本思想就是给句子向量“求平均”,获得不同维度上的特征的句向量。除此之外,近年也有很多句子向量化的方法,例如quick thought[18]等。

考虑到辅助定密任务的特殊性,文档定密的依据信息来源于定密细则,分析定密任务以及定密细则特点,本文提出了基于词性的加权句向量。通过改变名词性词向量以及非名词性词向量在句子中的表示权重,在保留语义语法信息的情况下,结合辅助定密任务特性,改变名词性的语义表达信息。在词向量的选择上,使用在百度百科语料库上训练的glove词向量,词向量维度为300维,可以在词的粒度上保留词语所含有的语义信息。在预训练词向量的基础上,本文基于词性,构建加权句向量S。

S=[α∑Wi+(1-α)∑Wj]/|Sw|

(4)

式中:α是权值;Wi是句子中的名词的向量化表示;Wj表示句子中非名词的向量化表示;|Sw|表示句子中含有词语的个数。通过设置权值α,改变名词在句子中的表达权重。

2.2 改进的TextRank算法

根据PageRank算法改进而来的TextRank算法[19]是一种用于文本的基于图的排序算法,通过把文本分割成若干组成节点(单词、句子)并建立图模型,根据节点的TextRank得分对文本中的节点进行排序,仅利用单篇文档本身的信息即可实现关键词/句提取。与LDA、HMM等模型不同,TextRank不需要事先对多篇文档进行学习训练,使用较为简洁、高效。

TextRank算法是将文本解析成单词/句子节点。这时,图上的节点之间的关系不仅是简单的指向和被指向关系,是通过一个权重ωji来表示节点之间的链接强度,因此是一个带权的无向图。此时In(Vi)=Out(Vi)=全体词语/句子集合。公式如下所示:

(5)

式中:WS(Vi)表示图节点Vi的TextRank得分;d是一个常数。TextRank算法用作文本摘要时,文本中的每一个句子Si被作为图节点Vi。ωji计算公式如下:

(6)

式中:Si表示文档中第i个句子,wk表示既属于Si也属于Sj的单词,|Si|表示句子Si的单词个数。

Pandit等[20]在研究面向查询的文档摘要时,将查询语句融入图节点中,并且在迭代计算过程中,保持查询语句所在节点的得分始终为1,以此获得在查询语句影响下的文档语句重要性排名。

本文根据定密任务特点,改进传统的TextRank算法中语句相似权值计算方式,在进行TextRank迭代时,将定密细则纳入图节点中,获取在定密细则影响下的文档句子排名。采用式(7)代替式(6)的相似度计算公式,相比于式(6),式(7)相似度计算方法更能体现语义层次的异同。具体计算公式如下:

ωji=q(Si,Sj)+cos(Si,Sj)

(7)

(8)

Dscore=max(WS(Si)×cos(Si,Z))

(9)

式中:Z表示定密细则;Si代表待定密文档的第i个句子。将Dscore值与密级关联度k进行比较。大于k的文档句子定密为相应定密细则对应密级。这里k值是通过实验启发式的选择。

2.3 模型计算过程

模型的具体计算过程如下:

1) 首先解析定密事项为细则句,对于一个待定密文档D,将定密细则纳入文档D中,然后进行分词、去停用词等预处理。以句子为单位进行分隔,得到句子列表Si。

2) 构建加权句向量Si,并根据式(7)构建ωji矩阵。

3) 迭代计算TextRank得分,并在迭代过程中,保持定密细则的得分始终为1。

4) 计算文档密级分数Dscore,并根据与密级关联度k的关系判断文档密级。

3 实 验

3.1 实验环境与数据

由于涉密数据难以获取,本文利用已有的公开政务数据,根据公开的地质材料定密细则内容,类比设计定密细则,实验数据来源于中华人民共和国中央人民政府信息公开网站。涉及民族宗教、国防、对外事务、财政金融审计等类别的政务文件。

定密细则的设定,则是根据网上已公开的地质资料定密细则进行类比设计,最终拟定实验用“机密级”以及“绝密级”细则。实验数据集选取了共73条来自不同类别的政务文件。首先,人工对实验数据集进行“密级”标注。分为普通级文件、机密级文件和绝密级文件。其中,普通级文件45条,机密级文件18条,绝密级文件10条。

3.2 实验运行环境

实验环境如表1所示。

表1 实验运行环境

实验首先用Jieba分词工具对待定密文档D进行分词,删除停用词等无意义词汇。构造句向量的词向量来源于在百度百科语料集上训练的glove词向量,词向量大小为300维。算法迭代采用Networkx库函数,并修改代码,使得定密细则的得分在迭代过程中始终为1,具体计算过程如图2所示。

图2 改进的TextRank算法流程

3.3 实验结果与分析

在改进的TextRank算法迭代计算中,将式(5)中的d设置为0.85,实验在不同加权句向量权重α以及不同密级关联度k条件下的效果。通过计算文档定密的准确率来进行评价。具体实验结果如图3所示。

图3 不同k的准确率变化曲线

图4是在相同的数据集下,将传统基于关键词的定密方法与改进的TextRank算法在准确率、精确率以及召回率上进行对比。

图4 算法效果对比

由图3可以看出,总体上在相同的权值α下,准确率随着k值的增加而不断增加,在k=0.45左右达到最大值。而在相同的k下,整体上准确率随着α增大而增大。因为随着α的增大,句向量的构造中名词词性的词汇权重越来越大。但是在α=0.95时,准确率并没有随着α增大而继续增大。本文认为当名词词汇权重过于大时,忽视了句子本身的语法信息,导致准确率下降。由图4可以看出改进的TextRank算法相比于传统基于关键词的辅助定密,在准确率和召回率有一定的提升。

4 结 语

本文提出了一种基于改进的TextRank算法的计算机辅助定密方法,该方法结合构造的加权句向量和改进TextRank算法,在对文档中的句子权重计算时,将定密细则纳入算法迭代过程中,并在迭代过程中保持定密细则权重始终为1,从而生成在定密细则影响下的文档句子权重。通过文档句子权重与定密细则相似度判断文档密级,解决了传统基于关键词辅助定密准确率不足,质量差的问题。实验结果表明所提出的改进的TextRank方法相对比传统基于关键词的定密方式在准确率上有一定的提升。

近年来,信息安全成为国家安全的重点,涉密电子政务文件的保密定密工作重要性尤为凸显。如何结合定密细则,设计更高效、速度更快的辅助定密模型,是往后工作的研究方向与重点。

猜你喜欢

细则文档向量
浅谈Matlab与Word文档的应用接口
向量的分解
有人一声不吭向你扔了个文档
轻松编辑PDF文档
《宇航计测技术》征稿细则
Word文档 高效分合有高招
新规视野下我国网约车规制探究
欺诈上市的先行赔付制度探究
城郊县生态农业旅游开发研究
向量垂直在解析几何中的应用