亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Word2vec和句法規(guī)則的自動(dòng)問答系統(tǒng)問句相似度研究

        2021-03-16 13:29:06白尚旺陸望東黨偉超潘理虎
        關(guān)鍵詞:句法分類分析

        劉 杰 白尚旺 陸望東 黨偉超 潘理虎,3

        1(太原科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 山西 太原 030024)

        2(太原政通云科技有限公司 山西 太原 030000)

        3(中國科學(xué)院地理科學(xué)與資源研究所 北京 100101)

        0 引 言

        自動(dòng)問答系統(tǒng)的一般處理流程是對(duì)用戶提出的問題查詢FAQ (Frequently Asked Questions)問題庫并返回最為相似問題的答案。早期的自動(dòng)問答系統(tǒng)主要依靠專家系統(tǒng),如文獻(xiàn)[1]提到的LUNAR和文獻(xiàn)[2]提到的STUDENT專家系統(tǒng),但是專家系統(tǒng)往往有局限性,其數(shù)據(jù)結(jié)構(gòu)通常是結(jié)構(gòu)化數(shù)據(jù),問句之間相似度匹配往往是句中詞語的機(jī)械式匹配。張子憲等[3]從句子的關(guān)鍵詞相似度、關(guān)鍵詞距離以及相同關(guān)鍵詞在問題庫所占比例等方面進(jìn)行了相似度計(jì)算分析,并提出一種基于句子規(guī)則的問句相似度計(jì)算方法。該方法雖然提高了句子相似度匹配精度,但是忽略了句子結(jié)構(gòu)層面的分析。文獻(xiàn)[4]提出了一種基于改進(jìn)后的TF-IDF的句子相似度計(jì)算方法,通過同義詞典統(tǒng)計(jì)關(guān)鍵詞詞頻信息,然后計(jì)算向量之間余弦相似度。雖然該方法慮到了關(guān)鍵詞的物理特征,但忽略了詞語在問句環(huán)境中的依存關(guān)系以及語義關(guān)系。

        近年來,隨著大數(shù)據(jù)時(shí)代到來和云計(jì)算能力不斷地提高,深度學(xué)習(xí)得到了非??焖俚陌l(fā)展,其具有很好的特征學(xué)習(xí)能力,尤其是在圖像和語音領(lǐng)域,這也激勵(lì)著大批學(xué)者將其具有應(yīng)用自然語言處理的研究中[5-7]。2013年,Google公開獲取詞向量工具Word2vec[8-9],立即引起了學(xué)術(shù)界和工業(yè)界的關(guān)注,其獲取詞向量方法與One-hot[10]方法相比能夠更好地表達(dá)詞與詞之間的相似特征。2014年,Kim[11]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的文本分類方法——Text-CNN,該方法相比RNN[12]能夠取得更高的分類準(zhǔn)確率,雖然對(duì)某些特殊復(fù)雜句式的分析比RNN差一些,但是Text-CNN的分類效率總體更高。

        基于以上分析和自動(dòng)問答系統(tǒng)存在的問題,本文提出一種基于Word2vec和句法規(guī)則的自動(dòng)問答系統(tǒng)問句相似度計(jì)算方法?;赪ord2vec模型訓(xùn)練的詞向量能夠更好地分析詞與詞之間語義關(guān)系,將向量空間相似度轉(zhuǎn)換成語義相似度?;诰浞ㄒ?guī)則的問句相似度計(jì)算方法能夠更好地分析問句中特殊句型關(guān)系、詞性關(guān)系以及依存關(guān)系。

        1 自動(dòng)問答系統(tǒng)問句相似度研究

        圖1所示為本文方法主要的處理流程。首先將用戶提出的問題與FAQ庫中的問題進(jìn)行基于Word2vec和句法規(guī)則的問句相似度計(jì)算分析,判斷其是否超過閾值。若超過閾值則將FAQ中超過閾值且相似度最高的問題的答案作為用戶提出問題的答案返回給用戶,否則系統(tǒng)記錄該問題并通知管理員在FAQ庫中添加該問題和相應(yīng)的答案。

        圖1 自動(dòng)問答系統(tǒng)流程

        1.1 Word2vec詞向量研究

        在問句相似度計(jì)算過程中詞是計(jì)算的基本單位,而詞向量是詞的特征在空間結(jié)構(gòu)中的映射也是詞的數(shù)字特征形式,所以詞向量構(gòu)建是問句相似度計(jì)算的重要環(huán)節(jié)。文獻(xiàn)[8-9]提到訓(xùn)練Word2vec有兩種非常重要的模型:跳字模型和連續(xù)詞袋模型。

        1.1.1跳字模型

        跳字模型(skip-gram)是依據(jù)中心詞來生成中心詞周圍的詞。該模型以圖2為例,假設(shè)存在文本序列“學(xué)?!薄袄蠋煛薄皭邸薄懊恳粋€(gè)”“學(xué)生”,設(shè)置其生成背景的窗口為2,在 skip-gram中,給定中心詞“愛”,生成2個(gè)詞的范圍內(nèi)的背景詞“學(xué)?!薄袄蠋煛薄懊恳粋€(gè)”“同學(xué)”的條件概率為:

        P(“學(xué)?!?“老師”,“每一個(gè)”,“學(xué)生”|“愛”)

        (1)

        如果生成概率是相互獨(dú)立的,則式(1)可以改寫為:

        P(“學(xué)?!眧“愛”)·P(“老師”|“愛”)·P(“每一個(gè)”|“愛”)·P(“同學(xué)”|“愛”)

        (2)

        圖2 跳字模型

        假設(shè)存在一個(gè)索引集合為{0,1,…,n}的詞典和一個(gè)中心詞wc和背景詞wo,且wc對(duì)應(yīng)One-hot詞向量為vc,wo對(duì)應(yīng)One-hot詞向量為uo,那么,在skip-gram中,給定中心詞wc生成背景詞wo的概率為:

        (3)

        式中:i、o、c表示為詞典中索引的位置。

        假設(shè),存在一個(gè)長度為T的文本序列,那么,給定任一中心詞w(t)生成w(t+j)背景詞的概率為:

        (4)

        式中:t為時(shí)間步;m為生成背景詞的窗口大小。

        由式(4)可以得到最小化損失函數(shù):

        (5)

        在訓(xùn)練過程中,采用隨機(jī)梯度下降隨機(jī)取一個(gè)子序列來訓(xùn)練更新模型參數(shù),把式(3)代入式(5)通過微分可得到中心詞向量vc的梯度:

        (6)

        訓(xùn)練結(jié)束后得到Word2vec詞向量。

        1.1.2連續(xù)詞袋型(CBOW)

        與跳字模型相比,連續(xù)詞袋模型在生成結(jié)構(gòu)上略有不同,該模型是給定周圍背景詞去生成中心詞。以圖3為例,假設(shè)存在文本序列“學(xué)?!薄袄蠋煛薄皭邸薄懊恳粋€(gè)”“學(xué)生”,在CBOW中,給定“學(xué)?!薄袄蠋煛薄懊恳粋€(gè)”“學(xué)生”作為背景詞,生成中心詞“愛”的條件概率為:

        P(“愛”|“學(xué)?!?“老師”,“每一個(gè)”,“學(xué)生”)

        (7)

        圖3 連續(xù)詞袋模型

        假設(shè)存在一個(gè)索引集合為{0,1,…,n}的詞典和一個(gè)中心詞wc、一個(gè)背景詞集合{wo1,wo2…,wo2m},且wc對(duì)應(yīng)One-hot詞向量為uc,{wo1,wo2…,wo2m}對(duì)應(yīng)的背景One-hot詞向量集合為{vo1,vo2…,vo2m},那么,在CBOW中,給定背景詞集合{wo1,wo2…,wo2m}生成中心詞wc的概率為:

        (8)

        那么式(8)改寫為:

        (9)

        假設(shè)存在一個(gè)長度為T的文本序列,那么給定背景詞w(t-m),…,w(t-1),w(t+1),…,w(t+m),生成中心詞w(t)的概率為:

        (10)

        式中:t為時(shí)間步;m為生成背景詞的窗口大小。

        由式(10)可以得到最小化損失函數(shù):

        (11)

        在訓(xùn)練過程中,同樣采用隨機(jī)梯度下降隨機(jī)取一個(gè)子序列來訓(xùn)練更新模型參數(shù),把式(9)代入式(11)通過微分可得到任一背景詞向量vok(k=1,2,…,2m)的梯度:

        (12)

        訓(xùn)練結(jié)束后得到Word2vec詞向量。

        1.2 基于句法規(guī)則的相似度分析

        本文提出的句法規(guī)則主要分為問句分類規(guī)則、問句特殊句型規(guī)則、問句動(dòng)名詞規(guī)則、問句依存關(guān)系規(guī)則。

        1.2.1基于問句分類規(guī)則的相似度分析

        通過大量分析問句語料庫發(fā)現(xiàn),相似度較高的兩個(gè)問題可以分為一類,因此在計(jì)算兩個(gè)問句是否相似時(shí)候,可以把類的特征作為一個(gè)考量因素。如表1所示,第一組中的問句都屬于“詩詞”一類,第二組都屬于“地理”分類。文獻(xiàn)[4]方法沒有把問句分類作為相似度計(jì)算的一個(gè)特征因素,其計(jì)算結(jié)果很低。

        當(dāng)問句分類結(jié)果作為一個(gè)相似度計(jì)算因素時(shí),構(gòu)造的問句分類模型必須要有較高的分類準(zhǔn)確率。

        表1 問句相似度分析一

        卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)最先被應(yīng)用在圖像識(shí)別方面,并且取得了長足的進(jìn)步。其識(shí)別圖像過程是通過模仿人類視覺層感知圖像的過程。首先通過眼睛攝取圖像的像素;然后大腦皮層細(xì)胞找到圖像的形狀邊緣和形狀方向并且抽象地確定該圖像的形狀;最后,進(jìn)一步地抽象判定。

        文獻(xiàn)[11]提出文本數(shù)據(jù)也可以看作是一維圖像,將文本映射成一維圖像可以利用卷積神經(jīng)網(wǎng)絡(luò)提取詞與詞之間的特征 ,其網(wǎng)絡(luò)結(jié)構(gòu)為“單層卷積+池化”的簡易 CNN 模型——Text-CNN,如圖4所示。

        圖4 Text-CNN網(wǎng)絡(luò)結(jié)構(gòu)

        Text-CNN與CNN模型結(jié)構(gòu)略有不同的是 Text-CNN網(wǎng)絡(luò)模型結(jié)構(gòu)首先定義了一維卷積核,其作用是對(duì)輸入的特征進(jìn)行卷積運(yùn)算,卷積核的寬度不同則捕捉的詞與詞之間的相關(guān)性也可能不同,卷積運(yùn)算之后再執(zhí)行最大池化處理并將池化的輸出值作為向量連接,最后通過全連接層將每個(gè)類別進(jìn)行輸出。圖4中,輸入層由5×5的詞向量組成,詞向量的維度是5,總共5個(gè)詞向量,卷積層有3種尺寸不相同的卷積核,分別是2×5、3×5、4×5, 每種尺寸有兩個(gè)卷積核。卷積核分別于上一層輸入層進(jìn)行卷積運(yùn)算,其卷積后的結(jié)果再使用激活函數(shù)進(jìn)行激活。每個(gè)卷積操作都會(huì)得到一個(gè)相應(yīng)的特征圖,池化層采用最大池化操作過濾出每個(gè)特征圖最大值然后進(jìn)行鏈接,輸出層運(yùn)用Softmax對(duì)卷積層連接好的向量進(jìn)行分類。

        1.2.2基于特殊句型的相似度分析

        在帶有否定詞的問句句型中,否定詞的影響可以忽略。如表2所示,在問句環(huán)境中兩個(gè)問句描述的是一個(gè)意思,在計(jì)算問句相似度時(shí)可以去除問句中的否定詞“不”,其相似度不變。

        表2 問句相似度分析二

        1.2.3基于問句中動(dòng)詞和名詞的相似度分析

        分析發(fā)現(xiàn)相似度較高的問句中,其相似度主要取決于句中名詞與名詞以及動(dòng)詞與動(dòng)詞之間的相似性。如表3所示,如果能提高第一組名詞“計(jì)算機(jī)”與“電腦”,“屏幕”與“顯示器”及動(dòng)詞“打”和“閃”之間的語義理解,那么其計(jì)算的相似度結(jié)果會(huì)更高。而基于Word2vec訓(xùn)練的詞向量恰好解決了詞語之間語義相似度計(jì)算的問題。

        表3 問句相似度分析三

        1.2.4基于問句依存關(guān)系相似度分析

        一個(gè)詞在問句的不同位置表達(dá)出來的意思可能完全不一樣,如表4所示,問句1、2和問句3、4的包含和對(duì)比依存關(guān)系完全不一樣,文獻(xiàn)[4]并沒有分析問句的依存關(guān)系,相似度計(jì)算的結(jié)果都較高。

        表4 問句相似度分析四

        2 基于Word2vec和句法規(guī)則的問句相似度計(jì)算方法

        基于第1節(jié)的分析,本文提出一種基于Word2vec和句法規(guī)則的自動(dòng)問答系統(tǒng)問句相似度計(jì)算方法,問句示例如下:

        “杭州屬于哪個(gè)???”

        J1

        “杭州歸于哪里?”

        J2

        其相似度計(jì)算式為:

        SimJ(J1,J2)=a·SameCateSim(J1,J2)

        β·cos(sim(J1n,J2n))+r·cos(sim(J1v,J2v))+

        (13)

        (1)SimJ(J1,J2)表示為問句J1和問句J2相似度值,值越接越近1表示問句J1和問句J2越相似,值越接近0表示問句J1和問句J2越不相似。

        (2)sim(A,B)表示為詞向量A和詞向量B的余弦相似度,即:

        (14)

        為了方便比較,本文把余弦相似度都統(tǒng)一歸一化到[0,1]區(qū)間內(nèi),歸一化后的余弦相似度為:

        cos(sim(A,B))=0.5+0.5×sim(A,B)

        (15)

        (3) (J1,J2)表示J1和J2是否同類,如果是同類,SameCateSim=1;否則SameCateSim=0。

        (16)

        (4) 用LTP[13]對(duì)問句中的動(dòng)詞(v)和名詞(n)進(jìn)行詞性標(biāo)注,J1n表示為問句J1中的所有名詞Word2vec詞向量累加和,J2n同理;J1v表示為問句J1中得所有動(dòng)詞Word2vec詞向量累加和,J2v同理。

        表5 句法依存關(guān)系表

        例如,問句J1與問句J2的相同依存關(guān)系為“SBV”“HED”“VOB”“RAD”,那么集合C={“SBV”,“HED”,“VOB”,“RAD”},C的大小為4,k=4。假設(shè),問句J1中的“SBV”的Word2vec詞向量為y1,“HED”的Word2vec詞向量為y2,…,“RAD” 的Word2vec詞向量為y4。 問句J2中的“SBV”的Word2vec詞向量為x1,“HED”的Word2vec詞向量為x2,…,“RAD”的Word2vec詞向量為x4,那么:

        (16)

        (5)a、β、r、z為相似度權(quán)重因子,a+β+r+z=1,經(jīng)過200個(gè)問句相似度計(jì)算測(cè)試,將a、β、r、z分別設(shè)置為0.2、0.2、0.2、0.4。

        為了更加詳細(xì)說明本文方法計(jì)算問句相似度的過程,將問句J1和問句J2計(jì)算過程進(jìn)行分析,如表6所示。由于詞向量維數(shù)為400維,超出表格部分由省略號(hào)代替。

        表6 計(jì)算過程分析

        3 實(shí) 驗(yàn)

        3.1 實(shí)驗(yàn)環(huán)境以及流程

        本次實(shí)驗(yàn)運(yùn)行環(huán)境為Ubuntu 16.04,CPU為Intel i7 9700,編譯環(huán)境為Anconda 3,Python 3,選用jieba分詞器分詞,選用Tensorflow 1.0 訓(xùn)練Text-CNN問句分類模型,選用Gensim訓(xùn)練中文維基 Word2vec詞向量。

        實(shí)驗(yàn)具體流程如下:(1) 數(shù)據(jù)預(yù)處理;(2) 訓(xùn)練構(gòu)造Word2vec詞向量模型;(3) 訓(xùn)練構(gòu)造Text-CNN問句分類模型;(4) 用式(13)計(jì)算兩個(gè)問句相似度;(5) 計(jì)算自動(dòng)問答系統(tǒng)準(zhǔn)率(P)和召回率(R)以及F值;(6) 對(duì)比實(shí)驗(yàn)結(jié)果進(jìn)行分析。

        3.2 實(shí)驗(yàn)設(shè)計(jì)

        訓(xùn)練Text-CNN問句分類模型,設(shè)置詞向量embedding_dim為128,過濾器filter_sizes大小分別為3、4、5,每層網(wǎng)絡(luò)卷積核num_filters個(gè)數(shù)為128, DropOut概率為0.5,正則懲罰項(xiàng)為0.2,batch_size為64,epochs為100。訓(xùn)練數(shù)據(jù)采用搜狗公開問句數(shù)據(jù)集進(jìn)行訓(xùn)練,人工把問句數(shù)據(jù)集分為“人物”“地理”“醫(yī)療”“歷史”“動(dòng)物”“詩詞”“歌曲”“科學(xué)” 八種類型,共2 000個(gè)問句,其中1 500句作為訓(xùn)練集,500句作為驗(yàn)證集。

        訓(xùn)練Word2vec詞向量模型,設(shè)置詞向量維數(shù)size為400,使用CBOW模型訓(xùn)練,訓(xùn)練Window大小為5,每批單詞數(shù)量batch_words為1 000。訓(xùn)練數(shù)據(jù)采用中文維基百科數(shù)據(jù),大約91萬條,并將其xml格式的繁體數(shù)據(jù)轉(zhuǎn)換成txt格式簡體數(shù)據(jù)集,然后用jieba分詞處理。

        使用準(zhǔn)確率(P)、召回率(R)和F-measure(F)對(duì)自動(dòng)問答系統(tǒng)實(shí)驗(yàn)結(jié)果進(jìn)行分析,計(jì)算如下:

        (17)

        (18)

        (19)

        3.3 實(shí)驗(yàn)結(jié)果分析

        3.3.1Text-CNN問句分類結(jié)果

        在模型訓(xùn)練迭代到12 000步時(shí),驗(yàn)證集分類準(zhǔn)確率達(dá)到91%,在12 000到16 000步時(shí)準(zhǔn)確率趨于平穩(wěn),驗(yàn)證了Text-CNN問句分類的可行性,如圖5所示。

        圖5 Text-CNN模型問句分類準(zhǔn)確率

        3.3.2問句相似度結(jié)果分析

        選取5組不同類型的問句作為問句相似度分析,其結(jié)果如表7所示。

        表7 問句相似度實(shí)驗(yàn)結(jié)果

        可以看出,相比文獻(xiàn)[4]方法,本文方法在計(jì)算問句之間相似度有著顯著提高。

        1) 本文方法將問句分類特征作為相似度計(jì)算的一個(gè)因素,將問句共性特征轉(zhuǎn)換為問句相似的特征。表7中第一組問句都屬于“詩詞”一類,文獻(xiàn)[4]并沒有考慮問句分類的特征,所以相似度非常低。

        2) 文獻(xiàn)[4]并沒有對(duì)問句中否定詞的特殊性進(jìn)行分析,而本文方法消除了問句中無用否定詞。如表7 中 “太原不屬于山西嗎?”從問句角度的理解,去掉其中的否定詞“不”并不改變其問句的意思。顯然,文獻(xiàn)[4]將其視為一個(gè)詞處理,反而相似度不會(huì)很高,本文方法從問句的特殊句型角度出發(fā)提升了問句相似度計(jì)算結(jié)果。

        3) 本文基于Word2vec模型訓(xùn)練的詞向量更加精確地反映出了詞語之間的語義關(guān)系,從語言含義角度提升了計(jì)算的精確度。如表7第4組問句中,在 “電腦”和“計(jì)算機(jī)”以及“屏幕”和“顯示器”之間語義的理解,本文方法更為準(zhǔn)確。

        4) 本文方法加入了問句依存關(guān)系的分析,一個(gè)詞在問句的不同位置可能表達(dá)出來的意思不一樣,如表7第5組中,“質(zhì)子包括原子嗎?”與“原子包括質(zhì)子嗎?”包含的依存關(guān)系完全不一樣,相似度也不會(huì)很高,而文獻(xiàn)[4]沒有分析問句的依存關(guān)系。

        3.3.3自動(dòng)問答系統(tǒng)實(shí)驗(yàn)結(jié)果分析

        在自動(dòng)問答系統(tǒng)測(cè)試過程中,隨機(jī)從搜狗公開問答數(shù)據(jù)集中抽取200個(gè)數(shù)據(jù)進(jìn)行測(cè)試,系統(tǒng)閾值設(shè)置為0.50,加入文獻(xiàn)[4]方法對(duì)比分析,結(jié)果如表8所示。

        表8 不同方法的對(duì)比實(shí)驗(yàn)結(jié)果

        可以看出,相比文獻(xiàn)[4]方法,本文提出的方法在準(zhǔn)確率、召回率以及F值三項(xiàng)對(duì)比中有明顯的提升,召回率有顯著提升的原因主要是本文方法在問句理解的廣度上更為深刻。

        4 結(jié) 語

        本文提出的基于Word2vec和句法規(guī)則的自動(dòng)問答系統(tǒng)問句相似度計(jì)算方法,更加準(zhǔn)確地分析了問句的分類關(guān)系、特殊句型關(guān)系、依存關(guān)系以及語義關(guān)系,有效地提高了為自動(dòng)問答系統(tǒng)返回答案的準(zhǔn)確率。但是該方法對(duì)問句中一些專業(yè)詞語的深層語義辨析上存在著一定的缺陷,下一步工作將對(duì)專業(yè)詞匯的深層語義辨析做研究。

        猜你喜歡
        句法分類分析
        句法與句意(外一篇)
        中華詩詞(2021年3期)2021-12-31 08:07:22
        述謂結(jié)構(gòu)與英語句法配置
        分類算一算
        隱蔽失效適航要求符合性驗(yàn)證分析
        分類討論求坐標(biāo)
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        句法二題
        中華詩詞(2018年3期)2018-08-01 06:40:40
        數(shù)據(jù)分析中的分類討論
        詩詞聯(lián)句句法梳理
        中華詩詞(2018年11期)2018-03-26 06:41:32
        教你一招:數(shù)的分類
        97人妻人人揉人人躁九色| 麻豆成年视频在线观看| 亚洲成av人片在久久性色av| 东京热日本av在线观看| 亚洲av美国av产亚洲av图片| 欧美真人性做爰一二区| 日韩中文字幕久久久经典网| 亚洲精品成人一区二区三区| 少妇无码av无码专线区大牛影院| 亚洲熟女乱色综合亚洲图片| 91久久国产精品视频| 精品国产一区二区三广区| 亚洲最新国产av网站| 成人午夜性a级毛片免费| 久久免费国产精品| 亚洲中文字幕人妻诱惑| 亚洲va视频一区二区三区| 国产精品网站在线观看免费传媒 | 国产精品久久久久av福利动漫| 久久久久亚洲av成人网址| 亚洲av日韩av天堂久久不卡| 无码少妇丰满熟妇一区二区| 国产精品美女久久久久| 精品国产性色av网站| 成人av资源在线播放| 男女男在线精品免费观看| 就爱射视频在线视频在线| 97人人超碰国产精品最新| 最新国产午夜福利| 精品国产亚洲av久一区二区三区| 九九影院理论片私人影院| 国产乱人伦av在线无码| 国产不卡视频一区二区在线观看 | 亚洲av无码一区二区三区四区| 亚洲va在线va天堂va四虎| 日韩女优视频网站一区二区三区| 色综合av综合无码综合网站| 亚洲成a人片在线观看久| 亚洲黄片av在线免费观看| 精品无码久久久久久久久水蜜桃| 韩国精品一区二区三区无码视频 |