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

基于時間卷積網絡改進的自動數學應用題解算器

2021-10-25 04:26:54羅琨杰孫華志
關鍵詞:數學方法模型

楊 波,張 瓏,羅琨杰,孫華志

(天津師范大學 計算機與信息工程學院,天津300387)

數學應用題(math word problem)是指一種用自然語言描述的簡短問題,問題中包含一些數字和變量信息以及它們之間的數量關系,自動解算器需要理解問題中涉及的邏輯和規則,利用數學知識進行定量推理,計算得到一些未知量,從而得到問題的答案.解決數學應用題涉及自然語言理解和人類問題解決的關鍵問題,數學應用題常被用作研究自然語言理解的理想對象.

目前,構建自動數學應用題解算器主要有4種方法:①基于模板匹配的方法[1-3];②基于統計分類的方法[4-7];③基于樹或圖的圖形方法[8];④基于深度學習框架的方法[9-11].基于統計機器學習[4-6]和模板匹配[1-2]的方法在小規模數據集上獲得了比較滿意的結果,但這些方法需要大量的人工操作進行特征提取和模板注釋,并且在處理大型或多樣化的數據集時,解算器的性能會急劇下降.隨著深度學習的興起,Wang等[9]于2017年首次提出使用seq2seq模型[10]設計解算器,該方法避免了繁雜的特征提取和數據注釋工作,同時增強了解算器的泛化性能,對數學應用題解算器的發展做出了里程碑式的貢獻.受到文獻[9]的啟發,文獻[12]提出的Ensemble Model模型將解算器建立在seq2seq模型上,通過添加表達式生成規則和規范化策略,提升了解算器的性能.但是,現有工作大多忽略了輸入數據的質量這一重要因素,數學應用題復雜多樣,解算器對于應用題語義的理解與人的理解存在很大差異,且數學應用題的解決具有較強的時序性,因此,提高輸入數據的質量和增強處理應用題的時序性也是提升解算器性能的關鍵.

算數應用題是以單詞序列形式展現的數學問題描述,包含若干已知數量及相應的數學問題.本文針對只需進行簡單計算的算數應用題,基于seq2seq模型和時間卷積網絡[13](temporal convolutional network,TCN)提出一種seq2seq+TCN模型構建解算器.該模型選取長短期記憶網絡[14](long short term memory,LSTM)和門限循環單元(gated recurrent unit,GRU)2種循環神經網絡[15](recurrent neural network,RNN)分別作為seq2seq模型的編碼器(Encoder)和解碼器(Decoder),構成4種不同的seq2seq模型,分別為BiLSTM-LSTM、BiLSTM-GRU、BiGRU-GRU和BiGRU-LSTM,將其應用于構建自動解算器.在數據預處理部分,使用FoolNLTK分詞工具[16]和ELMo詞嵌入方法[17],對數據集中的數學應用題進行加工處理,以獲得較高質量的輸入數據.將TCN加入解碼器中,以擴大解碼器的感受野,解決一定的時序性問題.在公開數據集Math23K[9]和AI2[8]上進行實驗,結果表明,由BiLSTMLSTM構成的seq2seq+TCN模型性能最優,準確率高于現有模型.

1 seq2seq+TCN模型

將數學應用題的解決看作一種映射過程,其中問題文本P作為源序列,其對應的數學表達式模板TP作為目標序列.seq2seq+TCN模型的結構如圖1所示,主要包含2個階段:①數據預處理階段,將問題文本中出現的數字按照其自然順序映射到數字標簽列表{n1,n2,…,nm}中,經由分詞與詞嵌入后,獲得相應的詞向量,用于訓練解算器;②訓練階段,每輸入一個問題,通過Encoder層獲取上下文語義,Decoder層則根據上下文語義從表達式詞典中選擇相應的數字標簽,并重新排列組合,生成正確且可解釋的數學表達式,從而得到數學問題與數學表達式的一一映射關系.

圖1 seq2seq+TCN模型Fig.1 Model diagram of seq2seq+TCN

1.1 數據預處理

1.1.1 分詞工具

中文分詞是將連續的字序列按照一定的規范重新組合成詞序列的過程,其目的是輔助機器對自然語言的理解.本文模型處理的數據集既有中文問題,也有英文問題,因此需要選擇合適的分詞方法.本文使用的FoolNLTK分詞工具是一種基于BiLSTM模型訓練的分詞方法,包括分詞、詞性標注、實體識別等功能.FoolNLTK對于數學問題這類較為專業性的文本,傾向于將其分為更為離散的詞匯,這樣有利于組合成更多樣的數學問題.對于數學領域涉及的計量單位、運算符號等一些專用詞匯,可以將其加入到用戶自定義詞典中,根據需求設置不同的權重,以使分詞結果更加適用于數學運算.

1.1.2 詞嵌入方法

由于文本數據的語言類型不同,也需要選擇合適的詞嵌入方法以獲得高質量的詞向量.中文文本數據最常用的詞嵌入方法是Word2vec,它是一種淺層神經網絡,可以較好地表達不同詞之間的相似和類比關系,但其訓練方式一般是上下文無關的,即同一個詞的詞向量是固定的,與語境無關,這種方法在處理多義詞時會發生錯誤.本文采用ELMo作為詞嵌入方法,該方法以雙向語言模型為基礎,用各層之間的線性組合來表示詞向量.ELMo模型的結構如圖2所示,模型的整體結構是BiLSTMs兩層激活的串聯,不同層的BiLSTM對單詞不同類型的信息進行編碼,然后連接所有層組合成各種文字表示.ELMo產生的詞向量與上下文相關,很大程度上避免了歧義的發生.

圖2 ELMo的結構Fig.2 Structure of ELMo

對于詞向量的構建,本文使用已經訓練好的128維的ELMo詞向量文件來做映射,并將映射后的問題文本P表示為P∈R|P|×128,其中|P|為問題文本的長度.

1.2 訓練層

1.2.1 編碼器

解算器的編碼器需要完成語義捕獲,雙向RNN不僅能獲得當前信息和歷史信息,也會捕獲到當前位置之后的相關信息,可以全面捕獲語義信息.因此,本文將編碼器的RNN全部設置為雙向RNN,目前最為常用的RNN是LSTM和GRU.

LSTM是一種特殊的RNN,它使用門控機制以更好地建立數據中的長期依賴關系.LSTM的基本操作為:

其中:σ為sigmoid函數;⊙表示元素點乘;輸入x t由當前單詞wt與之前生成的狀態r t-1構成.LSTM通過門控機制決定信息的保留或舍棄,解決了RNN的數據長期依賴問題.

GRU是LSTM的簡化版本,它保留了LSTM模型的長期記憶能力,主要變動是將LSTM中細胞的輸入門、遺忘門、輸出門替換為更新門和重置門,并將細胞狀態和輸出2個向量合二為一.GRU的的基本操作為:

編碼器將經過數據預處理后的問題文本P輸入到兩層雙向RNN,并將兩層雙向RNN的輸出拼接起來,獲得編碼器輸出EP[max_length,batch_size,seq_len],以及最后一個時間步的隱藏層狀態HP[n_layers×2,batch_size,hidden_size],這個隱藏狀態包含了整個序列的信息編碼,即語義編碼,其中:max_length為文本序列最大長度;batch_size為批處理大小;seq_len為問題文本長度;hidden_size為隱藏單元數;n_layers為RNN層數,本文使用雙向RNN,因此對n_layers做乘2操作.

1.2.2 注意力層

為提高模型運行效率,在編碼器與解碼器之間加入注意力(Attention)機制.通過計算源序列和目標序列的加權和,從大量信息中有選擇地篩選出重要信息.Attention機制的具體操作為:

其中:aji定義了注意力在輸入詞上的概率分布,由未標準化的注意力得分eji計算得到;c j為上下文向量,是編碼器隱藏狀態的加權和.

1.2.3 解碼器

解碼器根據編碼器傳遞的上下文向量預測并生成數學表達式.在解算器生成的數學表達式中,數字標簽應盡量按照其在源文本中的順序排列,以減少生成表達式的數量,這要求表達式中元素的出現具有一定的時序性.解決時序性問題有2個關鍵要求:①輸出時序數據(y)和輸入時序數據(x)大小要一致;②時刻t的預測輸出y t只能由時刻t之前的輸入x1,…,x t-1確定.TCN網絡中的空洞卷積可以使每個隱層的序列都與輸入序列的大小一樣,同時降低計算量,擴大感受野,另外,TCN網絡的殘差卷積可以將下層特征拿到高層增強生成當前信息y t的準確率.因此,本文在解碼器中加入TCN網絡,其結構如圖3所示.TCN網絡由因果卷積和空洞卷積組成.對于輸入序列x∈Rn和濾波器f(i),空洞卷積對序列中的元素s進行如下操作:

圖3 TCN的結構Fig.3 Structure of TCN

其中:d為膨脹系數;k為過濾器尺寸(取k=3);s-d·i代表過去的方向.當d=1時,擴張卷積減小為規則卷積.使用較大的擴展可以使頂層的輸出表示更廣泛的輸入范圍,從而有效地擴展上下文向量的接收字段.

本文模型將TCN和RNN結合使用,在預測表達式序列y1,y2,…,y t時,對每個時間步t,解碼器基于y1,y2,…,y t-1和語義編碼HP得到y t的條件概率;解碼器的前饋網絡中的RNN使用前一步的輸出與隱藏狀態HD′作為當前時間步的輸入ID[batch_size,1,hidden_size],計算當前時間步的輸出以及隱藏狀態HD.本文模型將每個時間步的輸入ID首先經過一層TCN網絡,雖然其維度構成沒有發生變化,但其擴大了對輸入內容的感受野,并補充了注意力機制中所缺失的時序性,將處理后的數據再經過RNN網絡來預測每一時間步的輸出.

在數字映射階段,表達式模板TP已經獲得.表達式可能出現冗余項或者括號匹配等問題,本文采用文獻[12]的規范化策略進行處理:①將2個長度不等的重復表達式模板規范化為較短的模板;②表達式模板中出現數字標簽的順序要盡量與問題文本P一致;③利用表達式樹的唯一性[9]解決括號匹配問題.

2 實驗結果與分析

2.1 數據集

本文使用Math23K和AI2數據集進行實驗.

Math23K包含23 161個中文數學應用題,它們是從在線教育網站上超過60 000個應用題中利用一種基于規則的提取方法得到的.該數據集中的所有問題都具有完整標簽,且僅涉及線性單變量數學問題與加、減、乘、除4種基本運算,題目類型豐富,規模大,是驗證深度學習方法的首選.

AI2數據集來源于math-aids.com和ixl.com 2個網站,包含395個三、四、五年級的單步或多步英文數學應用題,問題類型只涉及加法和減法,每個數學問題都包含多個數量,并有可能包含與解決方案無關的量.

2.2 實驗設計與參數配置

首先,采用FoolNLTK+ELMo技術進行數據預處理.然后,選擇GRU和LSTM組合成4種不同的seq2seq模型建立數學應用題解算器.最后,在seq2seq中添加TCN網絡,依次記為seq2seq+TCN(BiLSTM-LSTM)、seq2seq+TCN(BiLSTM-GRU)、seq2seq+TCN(BiGRUGRU)和seq2seq+TCN(BiGRU-LSTM).

對于Math23K,分別隨機抽取1 000個問題作為驗證集和測試集,其余作為訓練集.AI2規模較小,將其以6∶2∶2的比例劃分為訓練集、驗證集和測試集,驗證集用于調試超參數.模型的參數配置見表1.

表1 參數配置Tab.1 Parameter configuration

2.3 實驗結果與分析

為了對模型效果進行評估,將本文模型與2個具有代表性的集成seq2seq的自動數學應用題解算器[9,12]進行比較.文獻[9]的DNS+Retrieval算法,通過設置一個超參數θ作為相似度閾值,將檢索模型和seq2seq模型結合,當測試問題PT與檢索問題Q的Jaccard相似度大于θ時,利用Retrieval算法直接選擇Q的表達式模板作為PT的表達式模板,否則利用seq2seq模型自動生成表達式模板,省去了繁瑣的人工特征提取.文獻[12]提出的Ensemble Model算法選擇RNN、ConS2S和Transformer 3種常用于機器翻譯的seq2seq模型,根據概率公式計算選擇最優的seq2seq模型生成表達式,并添加了一些對于表達式的規范化策略.以答案準確率衡量模型的性能,以上2種方法和本文模型在數據集Math23K和AI2上的答案準確率見表2.由表2可見,在大型中文數據集Math23K和小型英文數據集AI2上,基于BiLSTM-LSTM的seq2seq+TCN模型的答案準確率均為最高,分別達到70.3%和87.5%.

表2 不同模型在Math23K和AI2數據集上的準確率Tab.2 Accuracies of different models on Math23K and AI2 datasets

為驗證數據預處理的重要性,對Math23K驗證集的數據進行手工分詞,并比較了Jieba與FoolNLTK 2種分詞工具的準確率、召回率和F1 3個性能指標,結果見表3.由表3可見,FoolNLTK的分詞質量明顯優于Jieba,F1從66%提升至90%.

表3 2種分詞工具的性能比較Tab.3 Performance comparison of two word segmentation tools

為評價數據預處理方法在解算器中的作用,分別在2個數據集上比較了Jieba+Word2vec和FoolNLTK+ELMo方法對seq2seq+TCN模型性能的影響,結果見表4.由表4可見,在Math23K和AI2上,FoolNLTK+ELMo方法的性能均優于Jieba+Word2vec.在小型數據集AI2上,由于英文具有天然的分隔符,分詞工具的作用不大,所以模型性能的提升主要源于詞向量嵌入方法ELMo,ELMo得到的詞向量的質量明顯優于Word2vec方法.本文采用的FoolNLTK分詞工具和ELMo詞嵌入方法均對模型性能的提升有所幫助.

表4 不同數據預處理方法對模型性能的影響Tab.4 Impacts of different data preprocessing methods on the performances of models

另外,本文分別在2個數據集上比較了加入和不加入TCN網絡對seq2seq+TCN模型性能的影響,結果見表5.由表5可見,在Math23K和AI2上,TCN網絡的加入使模型準確率分別提升約1.225%和1.875%.在解碼器中加入TCN網絡,解決了注意力機制中欠缺時序性的問題,并擴大了解碼器的感受野,起到一定的特征增強的作用.

表5 TCN網絡對模型性能的影響Tab.5 Impacts of TCN on the performances of models

3 結語

本文提出seq2seq+TCN模型設計自動數學應用題解算器,采用FoolNLTK分詞工具和ELMo詞嵌入方法優化數據預處理操作,以獲得高質量的輸入數據,將TCN與RNN結合使用,擴大了解碼器的感受野,解決了一定的時序性問題.在大型中文數據集Math23K和小型英文數據集AI2上進行實驗,對比了選用不同RNN組合的seq2seq+TCN模型的性能,結果表明,基于BiLSTM-LSTM的seq2seq+TCN模型性能最優,其答案準確率高于現有的2個具有代表性的集成seq2seq的解算器.在未來的研究中,希望在模型中加入更適合于數學文本解析的相關特征以輔助解算器理解數學問題,從而進一步提高解算器性能.

猜你喜歡
數學方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
我為什么怕數學
新民周刊(2016年15期)2016-04-19 18:12:04
數學到底有什么用?
新民周刊(2016年15期)2016-04-19 15:47:52
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
數學也瘋狂
主站蜘蛛池模板: 国产91色| 日韩精品无码免费专网站| 国产精品久久久久无码网站| 国产精选自拍| 亚洲男人天堂2020| 国产91熟女高潮一区二区| 欧美日韩免费在线视频| 狠狠亚洲五月天| 丝袜久久剧情精品国产| av午夜福利一片免费看| 青草视频在线观看国产| 操国产美女| 国模沟沟一区二区三区| 国产精品女在线观看| 欧美精品xx| 欧美成人在线免费| 一区二区三区成人| 香蕉伊思人视频| 国产精品第一区| 亚洲精品卡2卡3卡4卡5卡区| 国产97公开成人免费视频| 手机看片1024久久精品你懂的| 91色综合综合热五月激情| 国产地址二永久伊甸园| 精品国产免费观看| 2021国产精品自产拍在线观看| 国产对白刺激真实精品91| 青青草国产在线视频| 亚洲中文无码av永久伊人| 亚洲永久精品ww47国产| 农村乱人伦一区二区| 国产高清在线观看91精品| 亚洲视频二| 国产噜噜噜| 最新国产网站| 三级毛片在线播放| 午夜啪啪网| 一区二区理伦视频| 欧美在线天堂| 久久无码免费束人妻| 欧美成人综合视频| 欧美日韩在线成人| 丰满少妇αⅴ无码区| 国产区91| 内射人妻无码色AV天堂| 亚洲婷婷在线视频| 久无码久无码av无码| 国产好痛疼轻点好爽的视频| 午夜在线不卡| 中文字幕66页| 国内精品一区二区在线观看| 免费无码网站| 欧美国产综合视频| 99热这里只有精品免费国产| 女人一级毛片| 波多野结衣爽到高潮漏水大喷| 国产精品亚洲欧美日韩久久| 天天摸夜夜操| 国产美女一级毛片| 午夜无码一区二区三区| 女人18一级毛片免费观看| 国产真实二区一区在线亚洲| 日韩精品中文字幕一区三区| 国产中文一区二区苍井空| 国产午夜不卡| a毛片免费在线观看| 2021国产在线视频| 亚洲无码在线午夜电影| 国产精品久久久久久久久久98| 午夜国产精品视频| 欧美一区二区三区国产精品| 99久久婷婷国产综合精| 中文字幕av无码不卡免费| 丝袜国产一区| 国产乱子精品一区二区在线观看| 中文字幕在线一区二区在线| 成·人免费午夜无码视频在线观看| 日韩视频精品在线| 免费可以看的无遮挡av无码| 中文字幕第1页在线播| 欧美日韩国产成人高清视频| 亚洲欧美一区在线|