前兩天刷到一篇有意思的paper,文中將信息檢索工具Anserini和BERT結(jié)合赠法,實(shí)現(xiàn)了一個(gè)開(kāi)放域的問(wèn)答系統(tǒng)震束。
如圖所示,論文的主要?jiǎng)?chuàng)新點(diǎn)是將BERT和Anserini整合河狐,利用外部知識(shí)庫(kù)(維基百科)輔助實(shí)現(xiàn)QA問(wèn)答米绕。原文發(fā)表在NLP頂會(huì)NAALC 2019上。
論文題目:
End-to-End Open-Domain Question Answering with BERTserini
論文鏈接:
https://arxiv.org/abs/1902.01718
一馋艺、背景
首先栅干,作者收集了5.08M的維基百科文章,拆分成段落和句子捐祠。對(duì)文章碱鳞、段落、句子分別構(gòu)建index索引崩泡。
其次,將預(yù)訓(xùn)練好的BERT在閱讀理解數(shù)據(jù)集SQuAD上微調(diào),作為文本編碼器百炬。
對(duì)于一個(gè)新的問(wèn)題,通過(guò)搜索引擎返回topK篇關(guān)聯(lián)性最強(qiáng)的候選文檔歇攻,然后輸入微調(diào)后的BERT計(jì)算得分镇辉。取分?jǐn)?shù)最高的文本片段,作為最終答案础废。
整個(gè)問(wèn)答系統(tǒng)的思路非常簡(jiǎn)單淑掌。通過(guò)引入維基百科等外部信息诈悍,自動(dòng)挖掘開(kāi)放域問(wèn)題的答案柄错。
值得注意的是给猾,文本片段的最終得分如何計(jì)算尾序?
文中方法是由搜索系統(tǒng)和BERT分?jǐn)?shù)的線性組合決定。
就是這么簡(jiǎn)單粗暴!作者也在文末表示,直接加權(quán)輸出不夠全面名秀。
二汁掠、實(shí)驗(yàn)
論文主要包含了兩方面的實(shí)驗(yàn)。
檢索粒度
在檢索時(shí)当娱,對(duì)哪一種粒度的文本進(jìn)行篩選非常關(guān)鍵捐友。因?yàn)槲恼隆⒍温涫聘妗⒕渥影男畔⒘棵黠@不同。
實(shí)驗(yàn)發(fā)現(xiàn),將段落作為索引對(duì)象谴仙,效果是最好的凌盯。
這樣的結(jié)果應(yīng)該符合我們的認(rèn)知继效。因?yàn)橐黄恼掳膬?nèi)容太寬泛,絕大多數(shù)與用戶問(wèn)題無(wú)關(guān)。而一個(gè)句子的信息量太少,缺乏上下文膏执,BERT無(wú)法準(zhǔn)確識(shí)別出答案片段毫痕。
作者統(tǒng)計(jì)發(fā)現(xiàn)一個(gè)段落平均包含2.7個(gè)句子,一篇文章平均包含5.8個(gè)段落,所以針對(duì)不同粒度文本設(shè)置了不同的K值七婴。
K值選擇
K值越大,傳輸給BERT的數(shù)據(jù)越多,直觀上看文本中包含正確答案的可能性越高。
基于段落索引硫眨,作者測(cè)試了召回率族奢、完全匹配率(EM)變化泣栈。
召回率薪缆,是檢索的K個(gè)段落中包含率正確答案的概率。顯然K越大减拭,召回率越高沧侥。
Topk完全匹配率癣朗,指BERT依次從K個(gè)段落中識(shí)別答案,最終包含正確答案的概率。
Top1完全匹配率惠遏,指BERT依次從K個(gè)段落中識(shí)別答案,分?jǐn)?shù)最高的片段是正確答案的概率。
召回率代表了模型識(shí)別準(zhǔn)確度的上界碳竟。召回率與Topk EM的間隔,表示BERT潛在的提升空間铐达。Topk EM與Top1 EM的間隔衷畦,表示需要尋找更有效的得分計(jì)算方法角寸。
三菩混、演示
作者將BERTserini模型部署成了一個(gè)聊天機(jī)器人。
第一個(gè)問(wèn)題來(lái)自SQuAD驗(yàn)證集扁藕,其余3個(gè)是作者自定義的問(wèn)題沮峡,以展示bot可以回答問(wèn)題的范圍亿柑。
BERTserini 先根據(jù)問(wèn)題,從維基百科中檢索最相關(guān)的K個(gè)段落(基于BM25)望薄,然后用微調(diào)的BERT定位答案span痕支。最后颁虐,將答案所在的句子返回前端展示。
四卧须、總結(jié)
本文用搜索引擎+預(yù)訓(xùn)練語(yǔ)言模型這種兩階段的方式另绩,實(shí)現(xiàn)了一個(gè)問(wèn)答系統(tǒng)儒陨。
搜索引擎結(jié)合外部知識(shí)庫(kù)(維基百科、百度詞條笋籽、谷歌搜索等)蹦漠,相比于垂直領(lǐng)域,信息來(lái)源更豐富了干签。因而模型可以回答一些開(kāi)放域的問(wèn)題津辩。
整體思路還是比較靈活的。當(dāng)然論文中的做法比較粗暴容劳,無(wú)論是搜索引擎還是BERT喘沿,以及score的計(jì)算方式上,都還有提升空間竭贩。
如果您覺(jué)得這篇文章對(duì)您有幫助蚜印,歡迎點(diǎn)贊,讓更多的人也能看到這篇內(nèi)容 ??
關(guān)注公眾號(hào)「NLP情報(bào)局」留量,第一時(shí)間閱讀自然語(yǔ)言處理窄赋、機(jī)器學(xué)習(xí)算法熱乎干貨~
推薦閱讀
[1] 從BERT、XLNet到MPNet楼熄,細(xì)看NLP預(yù)訓(xùn)練模型發(fā)展變遷史
[2] 文本匹配利器:從孿生網(wǎng)絡(luò)到Sentence-BERT綜述
[3] 萬(wàn)萬(wàn)沒(méi)想到忆绰,BERT學(xué)會(huì)寫(xiě)SQL了
[4] 天池NLP賽道top指南