孫 璐 ,薛強 ,張金言 ,劉巍 ,隋國賓 ,曹揚 ,李響
(1.國家工業(yè)信息安全發(fā)展研究中心,北京 100040;2.中電科大數(shù)據(jù)研究院有限公司,貴州 貴陽 550022;3.中譯語通科技股份有限公司,北京 100040)
隨著互聯(lián)網(wǎng)、人工智能和大數(shù)據(jù)等發(fā)展成為國家戰(zhàn)略,以及軟件技術(shù)應用在各行各業(yè)、各領(lǐng)域快速擴展,國家頒布了軟件和信息技術(shù)服務(wù)領(lǐng)域的政策,來規(guī)范和促進相關(guān)產(chǎn)業(yè)發(fā)展。目前全國各地市出臺了數(shù)百個大數(shù)據(jù)等軟件和信息技術(shù)服務(wù)產(chǎn)業(yè)政策,分析政策之間的關(guān)聯(lián)關(guān)系有利于幫助政策制定者把握方向、確保政策承接性,有利于政策研究者科學的分析政策發(fā)展脈絡(luò)變化,有利于政策應用者更好的學習政策。
以往針對政策的研究分析政策的情感傾向、應用領(lǐng)域等更多地關(guān)注在單篇政策文本上,忽略了政策之間的關(guān)系。但是政策在制定上存在著繼承、補充等特點,因而本文提出了針對政策之間關(guān)系的關(guān)聯(lián)分析??紤]到人工研究費時費力,本文借助自然語言處理相關(guān)的技術(shù)手段實現(xiàn)自動分析,結(jié)合政策關(guān)聯(lián)關(guān)系的定義,對政策之間的關(guān)聯(lián)關(guān)系進行分析。
為了實現(xiàn)軟件和信息技術(shù)服務(wù)業(yè)政策關(guān)聯(lián)分析,需要采取集多種方法優(yōu)勢于一體的綜合分析方案。首先需要對軟件及信息技術(shù)產(chǎn)業(yè)政策進行分類,識別出大數(shù)據(jù)、人工智能等細分類別,確?;谕愓哌M行自動化關(guān)聯(lián)分析;然后采用合理的分析模型提取語言,確保關(guān)聯(lián)性分析整體方案的可靠性及優(yōu)越性。本文制定了政策關(guān)聯(lián)分析方案,首先采用粗粒度解析方法,分析兩個政策之間的類別、發(fā)布機構(gòu)是否存在關(guān)聯(lián)關(guān)系;然后從句子級別和詞級別進行細顆粒度分析,根據(jù)句子分析結(jié)果和知識圖譜從句子級別對比分析句子之間的關(guān)系。
1.1.1 粗粒度解析
通過對政策文本的研究,本文對政策類別進行定義,按照領(lǐng)域劃分為人工智能、大數(shù)據(jù)、軟件、云計算、智能制造、互聯(lián)網(wǎng)+、數(shù)字經(jīng)濟、物聯(lián)網(wǎng)和電子商務(wù)9 個類別。在此基礎(chǔ)上,構(gòu)建政策文本的分類模型,實現(xiàn)政策文本所屬類別的自動劃分;同時,對政策文本進行淺層解析,實現(xiàn)政策發(fā)布機構(gòu)、發(fā)布時間、所屬省份等信息的自動化提取,形成政策文本的元數(shù)據(jù)。
1.1.2 細粒度解析
為了對政策文本進行分析,本文通過調(diào)查研究提出政策知識圖譜構(gòu)建方案,分為3 個層次進行分析:(1)篇章級別的政策解析,即按照指導思想、發(fā)展原則、發(fā)展目標、重點任務(wù)、重大工程、保障措施等針對政策文本進行結(jié)構(gòu)解析,從而能夠從整體層面對政策文本進行分析。(2)句子級別的細粒度解析,從句子所屬政策類別、句子屬性兩個層次對政策句子進行分析,旨在分析句子作用及焦點。其中句子所屬政策類別是描述句子在政策原文中扮演的作用,如表1 所示。句子屬性是對句子描述的政策方面進行總結(jié)概括,分為管理、服務(wù)、應用、主體和技術(shù)5 個類別。(3)實體關(guān)系級別的解析,對政策中的實體和關(guān)系進行識別。首先對政策文本中的句子進行解析,將其中的動詞作為關(guān)系,將動詞修飾的名詞作為實體;通過聚合獲得政策圖譜中的實體和關(guān)系類型,如圖1所示。通過以上3 個層次的分析,實現(xiàn)對政策文本的細粒度解析,構(gòu)建政策結(jié)構(gòu)化知識圖譜,如圖2 所示。
圖1 政策單句句法解析
圖2 政策文本知識圖譜框架
表1 政策所屬類別劃分
本文涉及方案提出基于政策文本解析結(jié)果的政策關(guān)聯(lián)關(guān)系分析方法。與文本解析結(jié)果承接,政策之間的整體關(guān)系同樣定義為理論指導、規(guī)范管理、體系培育和支撐服務(wù)4 種關(guān)系類別。如圖3 所示,從句子屬性作為政策分析的切入點,如果兩個政策句子的屬性相同,并且通過對比兩個句子中的實體和計算句子之間的相似性,判斷兩個句子是否存在關(guān)聯(lián)關(guān)系,然后分析兩個句子所屬的政策類別。同時,考慮到政策發(fā)布機構(gòu)級別高低,通過逐句分析最終通過整體概率得出政策之間關(guān)聯(lián)。
圖3 政策關(guān)聯(lián)分析示例
政策文本粗粒度分析任務(wù)可以看作是給定特定領(lǐng)域的政策文本,從政策文本中識別出政策所屬的領(lǐng)域、政策發(fā)表時間、政策發(fā)表機構(gòu),并且按照章節(jié)對政策文本進行結(jié)構(gòu)化解析。
技術(shù)層面采用了正則對政策文本進行解析,結(jié)構(gòu)化提取時間、發(fā)表機構(gòu)等信息,并識別出政策相關(guān)子章節(jié)。針對互聯(lián)網(wǎng)、大數(shù)據(jù)、軟件等9 個領(lǐng)域?qū)φ呶谋具M行識別有利于后續(xù)對政策文本的分析。采用基于卷積神經(jīng)網(wǎng)絡(luò)的文本分類模型對政策所屬領(lǐng)域進行劃分,通過分析發(fā)現(xiàn)政策名稱中基本包含了對政策所屬領(lǐng)域類別的描述,因此將政策名作為模型的輸入,對其所屬領(lǐng)域類別進行分類。具體流程如圖4 所示。
圖4 政策所屬領(lǐng)域分類流程圖
2.1.1 數(shù)據(jù)獲取
為了保證獲取數(shù)據(jù)的真實性與權(quán)威性,數(shù)據(jù)獲取源主要是國家及各省市政府部門官網(wǎng)上公開的政策文件。首先人工收集小批量政策數(shù)據(jù)集進行分析并以此來設(shè)計具體的任務(wù)與目標。數(shù)據(jù)格式主要有word和pdf 兩種格式,為了能夠更好地方便后續(xù)的解析,將所有政策文本存儲為txt 文本格式便于后續(xù)的分析與處理。最終獲取近400 篇軟件和信息技術(shù)服務(wù)業(yè)政策。
2.1.2 數(shù)據(jù)標注
為了將已有的政策文件轉(zhuǎn)化為模型能夠進行有監(jiān)督訓練的數(shù)據(jù),該方案需首先對部分數(shù)據(jù)進行人工標注,即根據(jù)政策名按照人工智能、大數(shù)據(jù)、軟件、云計算等9 大類對政策所屬領(lǐng)域類別進行標注。
2.1.3 數(shù)據(jù)預處理
分兩步對政策文本進行預處理,即分詞和獲得單詞的詞向量。分詞主要使用Jieba 中文分詞工具。為了獲得更精準的分詞結(jié)果,除使用分詞工具自帶的分詞詞典外,本研究搜集了一部分國家政策以及法規(guī)方面的特定領(lǐng)域詞匯用于構(gòu)建特定領(lǐng)域內(nèi)詞典來提高最終的分詞效果。對分完詞的文本,使用Word2vec[1-2]詞向量訓練方法預訓練詞向量,詞向量可以看作詞匯特征從而用于下游模型的輸入。
2.1.4 模型搭建
采用基于TextCnn 模型來對政策所屬領(lǐng)域進行劃分,模型整體結(jié)構(gòu)如圖5 所示。
圖5 基于TextCnn 的領(lǐng)域識別模型
(1)稀疏連接
在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,每一層的節(jié)點是一個一維的向量,層與層之間的所有節(jié)點都存在連接關(guān)系,稱之為全連接層。而在卷積神經(jīng)網(wǎng)絡(luò)中,每一層節(jié)點與下一層節(jié)點之間不存在全部連接的關(guān)系,每一層的節(jié)點只與上一層節(jié)點的若干個局部節(jié)點連接,稱為局部連接。其模型結(jié)構(gòu)如圖6 所示。
圖6 稀疏連接與權(quán)值共享
假設(shè)第m-1 層是輸入層,有n 個節(jié)點,第m 層每個節(jié)點接收上一層寬度為k 的感受野,那么第m 層有n-k+1 個節(jié)點。每個節(jié)點對感受野之外的節(jié)點無關(guān),因而能夠?qū)W習到最小的局部輸入模式。
(2)權(quán)值共享
在卷積神經(jīng)網(wǎng)絡(luò)中,每個卷積層使用相同的卷積核重復的作用于每個感受野,對輸入數(shù)據(jù)進行卷積并形成下一層節(jié)點的值。這些卷積核共享相同的參數(shù)。如圖6中,第m-1 層共6 個節(jié)點,以3為窗口作為局部感受野,每個感受野經(jīng)過共享參數(shù)的卷積核形成第m 層節(jié)點。顏色相同的線參數(shù)是共享的。在訓練時,仍然可以使用梯度下降算法,只不過改動在于卷積核參數(shù)的梯度是共享連接的參數(shù)梯度值之和。這樣可以使神經(jīng)網(wǎng)絡(luò)的訓練參數(shù)數(shù)量降低若干個數(shù)量級。
(3)池化
卷積神經(jīng)網(wǎng)絡(luò)中的另一個重要操作是池化,它是一種非線性下采樣操作的一種。如果直接使用卷積之后得到的特征進行計算,計算量仍然巨大。因此,需要進一步降低特征的維度。
作為國表藝術(shù)跨界營銷的引領(lǐng)者,依波曾與女子十二樂坊、魏松等著名藝術(shù)團體、藝術(shù)家合作,2018年,“依波藝術(shù)時光”再啟,攜手超人氣多媒體藝術(shù)展《印象莫奈:時光映跡藝術(shù)展》推出莫奈定制款腕表引爆全網(wǎng),讓更多人領(lǐng)略精藝腕表與藝術(shù)名家的魅力。這不僅標志著國表藝術(shù)跨界營銷的新突破,更讓藝術(shù)跨越時間長河,讓時間沉淀藝術(shù)之美。
對于卷積之后的特征,可以將它分為若干個不同的子區(qū)域,每個子區(qū)域取其最大值(也可以取平均值)作為輸出,輸出到下一層。這樣計算得到的特征維度要降低許多,有效降低了計算復雜度,并且可以一定程度上防止過擬合。池化產(chǎn)生的輸出結(jié)果具有平移不變性,可以提供額外的魯棒效果。
將前述的卷積層、池化層組合起來就能夠組成卷積神經(jīng)網(wǎng)絡(luò)和核心部分。一般而言,通常會使用一個全連接層將最后一個輸出層的結(jié)果作為Softmax 分類器的輸入數(shù)據(jù)進行分類。
(4)Softmax
Softmax 回歸模型可以看成是logistic 回歸模型在多分類問題上的推廣,可以被用于解決多分類問題。它是有監(jiān)督的機器學習模型,常常與神經(jīng)網(wǎng)絡(luò)模型組合起來一起使用。
假設(shè)類別標記為Y,Y 所有可能的取值為{1,2,3,4,…,K}。因此對于訓練樣本x,模型的目標就是要根據(jù)x 求出屬于第k 個類別的概率值P(Y=k|x),然后判斷x應該被劃分到哪個類別。
其中,w1,w2,w3,…,wK是模型的參數(shù)。給定訓練 集T={(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)},仍然可以通過極大似然估計來求解模型中的各個參數(shù),其對數(shù)似然函數(shù)為:
其中,1{·}是示性函數(shù),當大括號中的表達式成立時,其結(jié)果等于1,否則其結(jié)果等于0。
通過對政策文本進行分析,本文提出了政策文本細粒度解析方案。首先通過政策文本進行分析,對政策結(jié)構(gòu)進行解析,提取政策各個章節(jié)標題,進而抽取政策文本中的關(guān)系和實體,構(gòu)建政策知識圖譜。其次,對政策文本進行句子級解析,將政策文本按照句子進行劃分,對每個政策句子,判斷其所屬的政策類別、句子屬性。主要涉及三部分的內(nèi)容:(1)政策句子中所屬類別識別技術(shù);(2)政策句子屬性識別技術(shù);(3)政策文本的實體識別和關(guān)系抽取。針對前面兩部分內(nèi)容,均將其看作是分類任務(wù),采用統(tǒng)一的模型框架;針對第三部分內(nèi)容,采用句法解析的啟發(fā)式方法將關(guān)鍵性動詞作為關(guān)系,動詞后的名詞作為實體,基于抽取的實體和關(guān)系構(gòu)建政策知識圖譜。其解析流程圖如圖7 所示。
圖7 句子級政策文本細粒度解析流程圖
2.2.1 數(shù)據(jù)獲取
從我國軟件及信息技術(shù)政策中挑選了10 篇政策文本數(shù)據(jù),覆蓋大數(shù)據(jù)、互聯(lián)網(wǎng)+、人工智能等各個計算機領(lǐng)域的政策文本,然后對政策文本進行分句。
2.2.2 數(shù)據(jù)標注
為了將已有的政策文件轉(zhuǎn)化為模型能夠進行有監(jiān)督訓練的數(shù)據(jù),需要對部分數(shù)據(jù)進行人工標注。這里,對分好句的政策句子進行所屬類別標記和句子屬性標記。這些標注好的數(shù)據(jù)用于之后的所屬政策類別分類、句子屬性識別等任務(wù)中進行有監(jiān)督訓練。標注樣例如圖8所示。
圖8 數(shù)據(jù)標注樣例圖
2.2.3 數(shù)據(jù)預處理
為了使政策文本數(shù)據(jù)能夠輸入到BERT[3]模型中進行訓練,本文基于中文文本數(shù)據(jù),訓練了Bpe[4]詞典,代替?zhèn)鹘y(tǒng)的Jieba 分詞方法,使用Bpe 算法對政策文本進行分詞,作為模型的輸入。
2.2.4 模型搭建
基于預訓練的BERT 在多項自然語言處理任務(wù)中達到了很好的效果,在此次任務(wù)中對比了傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型(如TextCnn[5]、Lstm[6]等)的效果,基于BERT 的語言模型能夠更好地從深層次提取文本的語義內(nèi)涵,對于政策文本內(nèi)容的理解有著重要作用,其模型結(jié)構(gòu)如圖9所示。因此,這部分重點采用了基于預訓練BERT 模型的分類模型、句子屬性識別模型。
圖9 BERT 語言模型框架
BERT 借鑒了Transformer[7]的網(wǎng)絡(luò)模型結(jié)構(gòu),采用Transformer 的編碼器(Encoder 端)作為模型結(jié)構(gòu),擯棄了循環(huán)神經(jīng)網(wǎng)絡(luò)的循環(huán)式網(wǎng)絡(luò)架構(gòu),完全基于全連接神經(jīng)網(wǎng)絡(luò)和注意力機制對文本進行建模。BERT 模型采用循環(huán)的模型塊構(gòu)成,每個塊的結(jié)構(gòu)相同,塊模型結(jié)構(gòu)由三部分構(gòu)成:多頭注意力機制、前向神經(jīng)網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)。其中,多頭注意力機制的核心思想是計算句子中的每個詞與其他所有詞之間的相關(guān)關(guān)系,由于詞與詞之間的相互關(guān)系能夠反映出句子中不同詞之間的關(guān)聯(lián)關(guān)系與重要程度,因此通過注意力機制可以使句子中的每個詞包含上下文所有詞的信息。多頭注意力機制的模型結(jié)構(gòu)如圖10 所示。
圖10 多頭注意力機制結(jié)構(gòu)圖
相比于之前的ELMO[8]模型,BERT 模型有兩種創(chuàng)新:(1)模型的輸入是由字符嵌入、分塊嵌入和位置嵌入組成的;(2)采用了Masked LM 的訓練機制。
模型的輸入表示如圖11 所示。無論是單個文本還是文本對,輸入都是一個句子序列。其中,[CLS]表示句子序列的開始,[SEP]表示兩個文本的分割。輸入向量是由詞向量、位置向量和分割向量構(gòu)成的。
圖11 BERT 語言模型輸入格式
其中,詞項量采用WordPiece embeddings;分割向量開始是隨機初始化的,是學習得到的,支持最長序列長度為512;[CLS]表示隱狀態(tài)的輸出,對于分類問題,可以作為整個句子序列的表示。
從理論上看,深度雙向語言模型應該比淺層語言模型和單向語言模型的效果好。因為深度雙向語言模型能夠?qū)⒍鄬拥纳舷挛男畔⑦M行利用,每個詞不僅僅包含本身,還能包含周圍詞的信息。BERT 語言模型在訓練過程中采用了MASK 的方式,將輸入序列按照一定的概率隨機地MASK 詞。BERT 模型采用15%的概率進行MASK。除此之外,為了捕獲句子之間的關(guān)聯(lián)關(guān)系,BERT 模型采用了預測“是否為下一句”的任務(wù)。句子級別的MASK,50%情況下句子B為句子A 的下一句,50%情況下句子B 是從語料庫中隨機選取的一句。
BERT 模型的訓練目標是:最小化“預測MASKED 詞”的損失和“預測是否為下一句”的損失之和。
2.2.5 分類框架
本實驗基于中文wiki 等文章數(shù)據(jù),訓練了基于中文文本的BERT 語言模型,基于訓練好的中文BERT 模型進行finetune,開展預測分類任務(wù)訓練。模型的整體框架如圖12 所示。
圖12 基于BERT 模型的分類模型
在預訓練的BERT 模型的基礎(chǔ)上,在上層搭建全連接網(wǎng)絡(luò)和Softmax,采用交叉熵損失函數(shù)計算模型的損失。
評價指標包括:
(1)準確率(P):預測為正的樣本中有多少是真正的正樣本;
(2)召回率(R):樣本中的正例有多少被預測正確;
(3)F 值:對精度和召回率的調(diào)和平均,其計算公式為:2×P×R/(P+R)。
政策所屬領(lǐng)域分類測試結(jié)果如表2 所示。
表2 政策所屬領(lǐng)域分類測試結(jié)果
經(jīng)過測試,TextCnn 模型能夠滿足本文政策所屬領(lǐng)域分類所需性能,并且TextCnn 模型相比于BERT 模型來說,模型更小,占用顯存更少,預測更快。因此,本方案采用TextCnn 作為最終政策所屬領(lǐng)域分類模型。
句子所屬政策類別分類如表3 所示。
表3 句子所屬政策類別分類
經(jīng)過實驗對比,BERT 模型相比Selfattention 模型和TextCnn 模型,準確率效果分別提升了42%和30%,驗證了本方案BERT 模型效果。
句子屬性識別測試結(jié)果如表4 所示。
表4 句子屬性識別測試結(jié)果
通過實驗對比,BERT 模型相比Selfattention 模型和TextCnn 模型,準確率、召回率、F 值均高于前兩個模型,驗證了本方案采用的BERT 模型效果。
本文通過對政策文本的分析,制定了一套基于深度學習的政策多粒度解析方案,并對政策關(guān)聯(lián)關(guān)系進行定義。在有限數(shù)據(jù)量的條件下,對政策領(lǐng)域知識進行歸納總結(jié),通過領(lǐng)域關(guān)鍵詞典提升深度學習模型的效果,達到了現(xiàn)有最好效果。同時,基于該項技術(shù),完成了政策中層級關(guān)聯(lián)關(guān)系的分析和抽取,為政策制定者學習、制定新的政策做出了貢獻。