999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于多特征融合的羊養殖問句相似度評價方法

2021-03-01 08:44:36李茂勝王天一
智能計算機與應用 2021年12期
關鍵詞:特征方法模型

李茂勝,王天一

(貴州大學 大數據與信息工程學院,貴陽 550025)

0 引 言

進入互聯網時代以來,各行各業的數據呈指數級增長,面對這些海量的數據,以往的搜索引擎[1]已逐漸不能滿足用戶準確、快速獲取信息的需求。傳統搜索引擎主要存在以下幾點不足:

(1)通過關鍵字匹配進行搜索,導致返回的信息多且雜亂,有太多無關的信息被搜索引擎獲取。

(2)沒有對用戶輸入的句子進行句法、語法、語義方面的分析,只是簡單地模糊搜索(同義詞搜索),考慮的因素太少,影響搜索的準確率。

(3)由于用戶界面的目錄一般是按照類別進行分類,用戶需要逐級進行搜索才能找到最終的類別和結果,導致速度較慢,耗費了大量時間。

面對以上傳統搜索引擎的不足,問答系統[2]應運而生。問答系統是一種高效、智能的信息檢索系統。用戶可以使用自然語言來進行輸入,系統通過相關的自然語言處理技術,對用戶的輸入進行分析,通過對數據庫中的問句進行匹配,最終返還給用戶一個簡潔、準確的答案。問句相似度計算方法是FAQ 問答系統的核心,很大程度上決定問答系統的好壞。問句相似度計算方法主要分為以下3 種[3],分別是基于字符串的方法、基于知識庫的方法和基于統計的方法。

基于字符串的方法主要是對輸入的句子或組成句子詞語的重復度、長度、詞序等直接進行比較[4-5]。主要方法有編輯距離、最長公共子序列算法、N-Gram模型、Jaccard 系數等。基于知識庫的方法主要分為兩類:一是基于結構化詞典來衡量詞語間的相似度,從而計算句子的相似度。常見的詞典有《知網》(HowNet)、《同義詞詞林》、《WordNet》等,另一類則是通過網絡知識的方法。該方法主要是利用維基百科、百度、搜狗等網絡知識庫資源,通過網頁鏈接、內容進行相似度計算。基于統計的方法在近年來取得了重要進展,該方法假設一個文本的語義只與其組成的詞語有關,與上下文、詞序、語法及句子結構無關。通過把詞語映射為向量,把句子用向量來表示,計算兩個句子向量間的距離來表示句子的相似度。基于統計的方法主要分為向量空間模型(如VSM[6])和主題模型(如LSA[7]、PLSA[8]、LDA[9])。近年來,隨著深度學習的高速發展,通過神經網絡訓練詞向量成為一種主流方法。一些詞向量生成工具,如word2vec[10]、Glove[11]、FastText[12]等,逐漸成為詞向量預訓練手段。基于神經網絡的詞向量相比于傳統的啞編(one-hot)有以下優點:

(1)詞向量維度明顯降低。把詞語用固定長度的向量來表示,大大減少了內存和計算量。

(2)基于神經網絡的詞向量能夠很好地表示詞語之間的語義。

由于單一的相似度計算方法主要是針對某一方向進行優化,均存在一定缺點。許多學者融合多個相似度計算方法,對算法進行改良,取得了不錯的效果[13-14]。本文通過對多種自然語言處理(Natural Language Processing,NLP)常見特征以及3 種改良的深度學習模塊提取的特征進行融合,設計了一種問句相似度模塊,并運用在羊養殖FAQ 問答系統中。該問答系統將為養羊戶提供簡潔、具體的答案,相信通過該問答系統,能夠解決養羊戶在養殖過程中的常見問題。

1 構建數據集及訓練詞向量

1.1 問句對數據集構建

本文實驗所使用的問句對來源于《山區肉羊高效養殖問答》、《農區科學養羊技術問答》、《現代羊病防制實戰技術問答》等羊養殖相關問答書籍。經過整理,得到2 500 個養羊基礎問句對。在這2 500個問句對的基礎上,用Python 語言編寫對應“百度問答”網站的爬蟲代碼,對這2 500 個養羊基礎問句分詞后的句子進行爬蟲。每個養羊基礎問句爬蟲了10 個相似的問句,經過人工篩選并剔除語義無關的語句后,形成包含2 500 組、11 000 個問句的數據集,每組相似句子2~8 個不等。數據集實現步驟如下:

Step 1根據羊養殖相關問答書籍整理得到2 500個養羊基礎問句。

Step 2對2 500 個養羊基礎問句分詞后進行爬蟲后,人工篩選并剔除與語義無關的語句,得到2 500組共11 000 個問句,每組相似的句子2~8 個不等。

Step 3在2 500 組問句中,每次選取1 組問句Qi={qi1,qi2,…,qik}。

Step 4由步驟2 可知,Qi中qi1,qi2,…,qik都相似,因此任取2 個問句qi1、qi2就可構成一個相似問句對。只需取盡Qi中2 個句子的組合就得到了Qi全部的相似問答對。對于不相似問句對,由于各組句子都不相似,所以只須從Qi中任取一個句子和其他組句子任意組合就可構成。最后,把得到的全部問答對存入數據集中。

Step 5重復上述步驟,對2 500 組進行處理,則可得到全部的數據集。

通過以上處理可以得到72 260 個問句對。其中相似問句對和不相似問句對的比例為1∶1,數目均為36 130,避免在深度學習訓練中造成數據平衡性對相似和不相似的權重的影響。生成的數據示例樣本見表1:其中index 為句子對的編號,s1 和s2 分別代表句子對的句子1 和句子2,label 則表示句子對的相似度,1 表示相似,0 表示不相似。

表1 數據集樣本Tab.1 Dataset sample

1.2 問句對數據集的詞向量生成

在NLP 任務中,需要將人類語言建模為向量的形式,這一過程首先需要對句子進行分詞處理,再把詞語嵌入到向量空間中,即詞嵌入。本文使用jieba作為分詞工具,并把養羊相關領域詞語加入自定義詞典,這樣可以正確切分“農膜暖棚式”、“青綠飼料”等羊養殖專業詞匯。經過jieba 分詞前后的樣本見表2。

表2 問句分詞結果Tab.2 Question partition results

分詞后的句子向量化,使用谷歌開源的訓練詞向量工具word2vec 完成,將jieba 切分后的句子向量化,作為深度學習特征提取模塊的輸入。本文采用連續詞袋模型,通過對上下文單詞,來預測當前單詞出現的概率。詞向量維度設置為300,窗口大小設置為5,通過養羊相關的領域知識庫進行詞向量訓練。

2 特征提取及最終特征融合模型

2.1 多特征融合模型結構

本文提出了一種基于多特征融合的相似度計算方法。該方法的實現過程是輸入問句對,轉化為詞向量矩陣,然后進行特征提取,最后通過stacking 用來訓練一個分類器,對問句對進行分類。多特征融合模型結構總體框架如圖1 所示。其中,特征提取是其中的核心部分,主要分為兩個方向:一是直接對數據集提取一些常見的NLP 特征,如編輯距離、ngram 相似性等。二是通過神經網絡模型計算問句對的相似度作為特征。主要通過3 個深度學習模塊(曼哈頓相似度、注意力機制相似度、比較-聚合相似度)分別提取特征。

圖1 多特征融合模型結構Fig.1 General structure of multi feature fusion model

2.2 NLP 數據特征

NLP 數據特征主要是通過編寫相對應的代碼,提取問句對常見特征。本文提取了10 個NLP 特征,并把提取的特征用列的形式保存,構成10 維向量,作為多特征融合模型輸入數據的一部分。本文提取的常見特征如下:

(1)長度上的不同:計算兩個句子長度的差。

(2)編輯距離:指兩個字符串A、B,A 編輯為B所需的最少編輯次數。如果其編輯距離越小,則其越相似。反之,亦然。

(3)N-Gram 相似性:將文本里面的內容按照字節進行大小為N的滑動窗口操作,形成長度是N的字節片段序列。每一個字節片段稱為gram,對所有的gram 的出現頻度進行統計,并且按照事先設定好的閾值進行過濾,形成關鍵gram 列表,也就是這個文本的向量特征空間。

(4)句子中詞語個數的特征:將提取6 種與詞語個數相關的特征。如,兩個句子中相同詞的個數分別除句子的最大及最小以及平均個數作為特征;兩個句子不同詞的個數分別除以對應句子詞語總個數;計算兩個句子的交集除以并集得到杰卡德(Jaccard)相似度等等。

(5)兩個語句詞向量組合的相似度:主要利用經word2vec 訓練的詞向量對兩個句子進行向量表示,再計算兩個語句詞向量組合的余弦相似度。

2.3 神經網絡特征

在介紹深度學習相似度模塊之前,先對后面用到的孿生神經網絡(Siamese network)和長短時神經網絡(Long Short-Term Memory,LSTM)進行簡單介紹。

孿生神經網絡也叫做“連體的神經網絡”。神經網絡的“連體”是通過共享權值來實現孿生神經網絡。首先將兩個輸入分別輸入兩個神經網絡中,再通過這兩個神經網絡分別將輸入映射到新的空間,形成輸入在新的空間中的表示,最后計算Loss,評價兩個輸入的相似度。

循環神經網絡(RNN),具有記憶的功能,能夠很好地處理和預測時間序列,適用于文本處理。但伴隨著序列輸入越長,越可能導致梯度消失和梯度爆炸問題。而RNN 網絡的變種LSTM,通過特別構建的門結構,對細胞狀態進行刪除或添加信息,就能較好地解決這兩個問題。

2.3.1 曼哈頓距離相似度模型(siamese-lstmmandist,SLM)

曼哈頓距離相似度模型是以孿生神經網絡和LSTM 為基礎構建的相似度模型[13]。由輸入層、嵌入層、LSTM 層、自定義的曼哈頓層和輸出層5 部分組成,模型結構如圖2 所示。輸入層把每個詞語在詞典中得到一個詞語編號序列傳遞給嵌入層;嵌入層則將各個詞語編號映射為word2vec 詞向量后,作為LSTM層的輸入。兩個LSTM 開始對句子1、2 的詞向量進行學習,兩個LSTM 層彼此共享權重;將LSTM 學習后的向量輸入曼哈頓層,計算曼哈頓距離;再通過dropout 來防止過擬合,以及歸一化來提高計算速度;最后在輸出層通過softmax函數輸出結果。

圖2 曼哈頓距離相似度模型結構圖Fig.2 Manhattan distance similarity model structure

2.3.2 注意力機制相似度模型(Siamese-lstmattention,SLA)

注意力機制相似度模型是以LSTM 和注意力機制(Attention)為基礎構建的相似度模型[17]。由輸人層、嵌入層、LSTM 層、注意力層和輸出層5 部分組成,模型結構如圖3 所示。輸入層、嵌入層、LSTM層的功能同上個模型。其不同之處在于,LSTM 學習到的向量加上注意力層,對LSTM 輸入的向量分配不同的權重,進行選擇性輸入,更好地表示句子的語義。再通過全連接層降低維度,dropout 來防止過擬合,歸一化來加速收斂速度;最后在輸出層輸出問句對的相似結果。

圖3 注意力機制相似度模型結構圖Fig.3 Structure of attention mechanism similarity model

2.3.3 改進的比較-聚合相似度模型

(Approve-Compare-Aggregate-Model,ACAM)

該模型基于Compare-Aggregate-Model[15]進行了改進,模型結構如圖4 所示。該模型主要做了3部分改進。

圖4 改進的比較-聚合相似度模型結構圖Fig.4 Structure of improved comparison-aggregation similarity model

第一部分:在左邊詞向量輸入的情況下,右邊添加了字符向量作為輸入。主要是為了提取詞語內字間的信息,以及對超出詞典的詞進行表示。

第二部分:對embedding 層分別用注意力機制和bi-lstm 對向量分別表示,然后把這兩個向量進行拼接。加入注意力機制后使得語句向量在詞上有了重心,分配的權重不同。

第三部分:對前面處理過的句子向量進行更多的交互處理,對輸入的兩個句子向量進行相乘、相減、取最大值等操作。通過對句子向量進行這幾種交互處理能夠更好地比較句子之間的語義,提高模型準確率。

最后,模型把交互處理后的向量和前面LSTM和CNN 網絡提取的向量進行拼接,并通過全連接層進行降維,最后通過輸出層進行輸出。

2.4 stacking 建立分類模型

2.4.1 構建多個特征組成的數據集

通過代碼提取了NLP 數據特征,以及通過3 個不同深度的學習網絡提取了SLM 特征、SLA 特征、ACAM 相似度特征。把提取的12 個特征組合在一起構建一個12 維的向量數據集,用來訓練一個機器學習的分類模型。

2.4.2 構建分類模型

構建的分類模型主要是基于Sklearn 庫的常見分類方法,通過stacking 算法進行融合得到。主要把分類器分為了兩級:第一級別的分類器(初級學習器)有隨機森林、樸素貝葉斯、支持向量機、邏輯回歸,第二級分類器(次級學習器)為決策樹。前面多個模型提取的特征所組成的數據集輸入初級學習器分別進行訓練,并將訓練后所得到的結果作為次級學習器的輸入,最后通過次級學習器進行分類以后,輸出最終結果。總體Stacking 計算過程如圖5 所示。

圖5 Stacking 計算結構圖Fig.5 Stacking calculation structure

3 實例驗證

實驗環境設置為:Intel(R)Core(TM)i5-10200H CPU 8 核處理器;GPU 為RTX 2060,運行內存16 G。

實驗通過對72 106 個問句對劃分為訓練集、驗證集,比例為8∶2。

3.1 評測標準

本次實驗通過精確度(Accuracy)、查準率(Precise)、查全率(Recall)、F1 分數這4 個評測標準來衡量模型的性能,評測標準的具體公式見表3。

表3 評測標準公式Tab.3 Evaluation metrics

其中,精確度(Accuracy)表示預測符合標準的樣本與總樣本的比例;查準率(Precise)表示正確預測正樣本占實際預測為正樣本的比例;查全率(Recall)表示正確預測正樣本占正樣本的比例。F1分數是分類問題的一個衡量指標,其是Accuracy和Recall的調和平均數,能更好地衡量分類的好壞。所以在機器學習競賽中,F1 常常作為最終測評的方法。

表3 中TP、FN、FP、TN的含義見表4。TP表示正確地把正樣本預測為正;FN表示錯誤地把正樣本預測為負;FP表示錯誤地把負樣本預測為正;TN表示正確地把負樣本預測為負。在機器學習中尤其是統計分類中,通過混淆矩陣能夠很容易地看到機器學習是否混淆了樣本的類別。矩陣的每一列表達了分類器對于樣本的類別預測,矩陣的每一行表達了樣本所屬真實類別。

表4 混淆矩陣Tab.4 Confusion matrix

3.2 實驗結果分析

4 種方法在養羊驗證集上訓練的結果見表5。可以看出,本文方法是把前面提取的NLP 特征及幾種深度學習提取的特征作為集成學習stacking 的輸入,通過訓練一個分類器,得到結果。相較前面3 個方法,本文方法的各項評價指標都接近99%,在4 個評價指標上具有最優的綜合性能,表明該方法能夠很好地計算問句相似度,改善羊養殖問答系統的性能。但是,由于stacking 方法需要計算前面多種模型的特征作為輸入的數據,在時間效率上的對比,本文方法效率較低,還有值得改善的地方。在后續設計羊養殖問答系統時,可以結合問句分類模型,減少問答系統在相似度計算模塊的匹配數量,以彌補本方法效率較低的問題。

表5 多種相似度計算方法結果及時間效率Tab.5 Results of multiple similarity calculation methods

4 結束語

本研究通過對常用的NLP 特征和3 種深度學習方法進行特征提取分類,能夠很好地考慮多種特征的情況,相比于提取單一特征的方法,該方法通過對多種方法提取的特征進一步分類,明顯提升了4種評價指標,且在驗證集上各評價指標都接近99%。因此,本文提出的方法明顯優于前2 種方法,對比第3 種方法也有了一定提升。

基于該相似度計算方法的羊養殖問答系統,能夠準確匹配用戶的問題,提供對應答案。相信這個羊養殖問答系統能夠幫助養殖戶解決許多養殖問題,能夠促進養羊業更好的發展。

但本文的工作還有些不足,主要是在創建養羊數據集時,對于爬蟲得到的相似問句需要人工進行判斷,費時費力,且具有一定的主觀性。下一步的工作會圍繞如何自動或半自動構建知識庫;或者對基于知識圖譜的問答系統進行設計。

猜你喜歡
特征方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 中文字幕第1页在线播| 色成人亚洲| 在线播放精品一区二区啪视频| 亚洲高清中文字幕在线看不卡| 无码专区国产精品第一页| 福利在线不卡一区| 国产在线八区| 午夜视频在线观看免费网站| 久久激情影院| 91精品国产91久无码网站| 亚洲第一页在线观看| 国产成人精品一区二区三区| 免费三A级毛片视频| 日韩国产黄色网站| 美女扒开下面流白浆在线试听| 日韩无码视频专区| 东京热av无码电影一区二区| 狠狠色狠狠综合久久| 无码精品一区二区久久久| 国内黄色精品| 青青草91视频| 亚国产欧美在线人成| 国产久操视频| 日本五区在线不卡精品| 亚洲日韩欧美在线观看| 欧美成一级| 一级一级特黄女人精品毛片| 成人一级免费视频| 中文纯内无码H| 日韩av电影一区二区三区四区| 中文无码精品a∨在线观看| 久久久亚洲国产美女国产盗摄| 国产99视频精品免费视频7| 国产专区综合另类日韩一区| 国产在线拍偷自揄拍精品| 波多野结衣亚洲一区| 国产91av在线| 精品久久国产综合精麻豆| 精品国产美女福到在线不卡f| 免费一级毛片在线观看| 国产一级毛片yw| 青草视频免费在线观看| 国产精品男人的天堂| www.狠狠| 日韩黄色在线| 国产成人高精品免费视频| 最新国产精品鲁鲁免费视频| 精品人妻一区二区三区蜜桃AⅤ| 怡红院美国分院一区二区| 亚洲欧洲一区二区三区| 亚洲一区二区日韩欧美gif| 国产青青草视频| 综合色亚洲| 日韩专区欧美| 国产免费久久精品99re不卡 | 99视频在线精品免费观看6| 午夜国产不卡在线观看视频| 国产一级妓女av网站| 999国产精品永久免费视频精品久久 | 久久香蕉国产线看观看亚洲片| 国产精品综合久久久| 日韩第九页| 国产浮力第一页永久地址| 高清欧美性猛交XXXX黑人猛交 | 自慰网址在线观看| 欧美成人精品一区二区| 免费国产福利| 亚洲成人黄色在线观看| 国产69囗曝护士吞精在线视频| 国产精品不卡片视频免费观看| 国产伦精品一区二区三区视频优播| 国产真实乱子伦精品视手机观看| 欧美精品啪啪一区二区三区| 久久特级毛片| 国产拍在线| 四虎精品国产永久在线观看| 国产在线视频欧美亚综合| 日韩毛片免费视频| 欧美色图第一页| аv天堂最新中文在线| 日韩精品高清自在线| 成人免费视频一区|