機器閱讀理解與問答主要涉及到深度學習、自然語言處理和資訊檢索。機器閱讀理解具有很高的研究價值和多樣的落地場景。它能夠讓計算機幫助人類在大量文字中快速找到準確答案,從而減輕人們對資訊的獲取的成本。
具體來講,機器閱讀理解和問答任務(qa)指的是給定乙個問題和乙個或多個文字,訓練的qa系統可以依據文字找出問題答案。一般情況下,有以下三種問題:****** (factoid) questions,即簡單的問題,可以用簡單的事實回答,答案通常只是乙個name entity;complex (narrative) questions,即稍微複雜的敘述問題,答案略長;complex (opinion) questions,即複雜的問題,通常是關於觀點/意見。對於第一類問題,標準答案一般與文字中的答案完全匹配。閱讀理解型問答主要解決第一種型別的問題。
機器閱讀理解(machine reading comprehension)是文字問答的乙個子類,旨在令機器閱讀並理解一段自然語言組成的文字,並回答相關問題。機器閱讀理解是指讓機器像人類一樣閱讀文字,提煉文字資訊並回答相關問題。通過這種任務形式,我們可以對機器的自然語言理解水平進行評估,因此該任務具有重要的研究價值。
早期的閱讀理解研究受限於資料集規模以及自然語言處理技術的發展,進展較為緩慢。直到2023年,谷歌發布首個大規模完形填空類閱讀理解資料集cnn/daily mail[1] ,引發了基於神經網路的閱讀理解研究熱潮。2023年,squad 資料集[2]被史丹福大學發布,並迅速成為了抽取式閱讀理解的基準測試集。
隨後至今,機器閱讀理解領域發展迅速,各類任務如開放域式、多選式、聊天式和多跳式等不斷湧現。下面主要介紹調研過的三種方法:
(1)演算法描述
(1)演算法描述
本演算法模型是廣州火焰資訊科技****在sogou舉辦的「事實類問答任務」比賽時提出的演算法,演算法簡稱dgcnn模型。該演算法是乙個基於cnn和簡單的attention模型的演算法。dgcnn,全名為dilate gated convolutional neural network,即「膨脹門卷積神經網路」,顧名思義,融合了兩個比較新的卷積用法:膨脹卷積、門卷積,並增加了一些人工特徵和trick,最終使得模型在輕、快的基礎上達到最佳的效果。模型框架如下圖所示:
模型的創新點主要包括三點:1)用cnn模型替代lstm模型,提公升了模型的效率;2)提取了等豐富的8個共現特徵,提供更多的特徵資料;3)去掉crf層,改為0|1標註,以此來標識答案的開始位置和終止位置,這可以看成乙個「半指標-半標註」的結構。
(2)演算法參考結果
演算法在sogou比賽的榜單上暫居第一位,準確率得分0.7583。
(1)演算法描述
以下是我們資料預處理的具體方法:
如果標題和各段內容中間插入特殊分割符號連線在一起,沒有超過預設最大長度,則將得到結果作為預處理的結果;
否則,我們計算各段落和問題的bleu-4分數,以衡量段落和問題的相關性;
在分數排名前k的段落中,選擇最早出現的段落;
選取標題,這個段落以及下乙個段落;
對於第3到第10個段落,選取每個段落的第一句話;
將所有選取的內容以特殊分隔符連線在一起,擷取最前面不超過預設最大長度的內容,將得到的結果作為預處理的結果。
模型的整體結構分為四層,其整體框架如下圖所示:
模型的第一層為特徵表示層(representation),該層的主要功能是提取給定的乙個問題的次序列中特徵,將它變成乙個特徵向量序列;編碼層(ecodeing),改層的主要功能是得到問題和篇章的向量特徵表示序列後對其進行編碼;匹配層(mating),該層屬於模型的和核心部分,利用注意力機制融合問題和篇章資訊。在的單一模型中用到的bidfa模型,在整合模型可以用match-lstm、bidaf、dca這三種整合模型不同的匹配層得到的結果進行整合;答案片段抽取(answer extraction),該層利用指標網路對答案進行抽取。模型中利用多個引數答案的公式進行計算,即計算多個答案的損失的平均值作為最終結果的損失函式。
(2)演算法參考結果
單一模型上的參考結果
整合模型上的參考結果
閱讀理解演算法實際的目的是為了鞏固前期對演算法的學習,嘗試將演算法進行復現。實踐中選擇了dgcnn模型進行復現。對模型的準確率和模型的可擴充套件性進行檢驗。
問題:社保繳納多少年可以領養老金
答案:15年
材料1:最好不辭,交夠15年到退休就可以領養老金了如果有特殊原因非要辭,可以個人接著交。
材料2:你好!養老保險繳納滿15年,達到退休年齡可以領取養老金。
實驗過程中將webqa資料以8:2的比例拆分了訓練集和測試集,在測試資料上測試結果在0.7左右。
基於閱讀理解的問答(machine reading comprehension question answering,mrcqa)是指給定文件庫,通過理解使用者的問題,從文件中找到能夠回答使用者問題的滿足需求的細粒度的片段(如段落、句子)的過程。這裡進行mrcqa處理的前提是答案在文字中可以明確找到,且最好是乙個連續的片段。不同於irqa,mrcqa檢索的是文件中的片段而不是問答對。相較於問答對,文件通常具有篇幅更大、語義更複雜等特點。問答對通常是由人工整理的高頻問題,而文件通常為普通的文字檔案,其具有更低的獲取成本,因此,基於閱讀理解的問答系統通常用來解決能從大量無結構化文字中尋找到答案的問題。
針對電子化文字管理的時代,從非結構化的文字中提取出問題的答案不僅能夠節省閱讀的時間,提公升工作的效率,更能夠簡化人類的工作量。結合公司現有的各種文字可以將閱讀理解問答應用在公司制度問答、財稅問題問答、現關文件查詢等等的各個方面,所以閱讀理解型問答是乙個非常有價值的研究專案。
為了將演算法落地也為了作為進一步的研究,我嘗試了用該演算法解決公司政策問題查詢的問題,但是效果並不理想。雖然實驗結果基本達到了文章給出的參考結果,但是該模型的泛化性並不好,在其他的資料上並不可觀。
分析其原因總體有一下幾個因素:1)webqa訓練資料中的答案依存文字有多個,這樣可以進行多次答案**,最終選擇最優的結果。2)依存文字的長度不能過長,過長的話就會導致無法準確定位答案的區間。3)pdf轉化成txt文字的過程中存在部分字元出現錯誤,以及標點符號出現錯誤的現象。總體來說,將webqa資料訓練的模型直接用作公司政策的問答是有問題的;4)閱讀理解演算法研究本身面臨的挑戰。
除此之外,國內外的機器閱讀理解的研究也面臨著許多挑戰,如:1)當前方法的模型結構和訓練方法中存在著制約效能的問題;2)當前具備頂尖效能的整合模型在實際部署時效率低下;3)傳統方法無法有效處理原文中找不到答案的情況;4)當前大部分模型是針對單段落場景設計的,無法有效擴充套件至開放域問答;5)當前大部分模型無法有效支援離散推理和多答案**等情況。
綜合以上問題,我思考了可能的解決方案。
(1)針對公司政策相關文字的閱讀理解型問大資料的整理是必要的,用於訓練自己的問答模型。
(2) 公司政策檔案最好找word或txt檔案,避免用pdf檔案。
(3)針對檔案過長的問題需要先用演算法確定答案可能存在的文字段落或句子,然後再從段落或句子中提取答案。
(4)多個依存文字對答案進行提煉,這一點在公司政策答案提取上可能不太好實現,因為不常有乙個政策在多個檔案中重複提及的現象。所以可以考慮在提取的答案基礎上再用字元匹配,統計頻率等方法提公升結果的準確度。
[1] hermann k m, kocisky t, grefenstette e, et al. teaching machines to read and comprehend. nips 2015: 1693-1701.
[2] rajpurkar p, zhang j, lopyrev k, et al. squad: 100,000+ questions for machine comprehension of text. emnlp 2016: 2383-2392.
[3] li p, li w, he z, et al. dataset and neural recurrent sequence labeling model for open-domain factoid question answering[j]. arxiv: computation and language, 2016.
問答系統調研
大型qa系統大多數是基於web資訊檢索的,各級nlp技術比如句法分析,ner,ir ie等都會涉及。還有一種是基於knowledge base的,將自然問句形式化成query,到知識庫裡檢索答案。如果想自己做乙個簡單系統的話可以先選擇乙個特定領域比如醫療qa,到網上抓取資料,用語義網rdf owl構...
閱讀理解 API
閱讀理解api 平台為每個api提供試用體驗服務,您在ai市場選擇 免費試用 規格下單後,即可開始體驗業內領先的人工智慧api服務。免費試用服務具有呼叫量 qps限制,如需更高效能的api服務,可以提交諮詢工單,聯絡京東ai擴容購買。在獲得使用許可權後,您可使用已經封裝好的sdk 參照介面鑑權規則進...
雅思 閱讀理解1 02
preserving food has not always been easy.centuries ago,people gathered ice from streams and ponds and did their best to store it year round in icehous...