基于知识图谱的问答系统入门—NLPCC2016KBQA数据集
作者丨郭雅志
學(xué)校丨北京化工大學(xué)
研究方向丨NLP、知識圖譜、對話/問答系統(tǒng)
本人認為學(xué)習(xí)一樣?xùn)|西,直接上手跑實驗是最有效提升的方法之一。看了那么多的理論介紹文章,抽象的說辭,最后還是似懂非懂。所以,直接上手數(shù)據(jù)集跑實驗,與理論結(jié)合,能有更深刻的了解。同時也記錄下學(xué)習(xí) KBQA 的過程,也希望對同入門的同學(xué)有些幫助。
引言
本人最近在做 KBQA 相關(guān)的的工作,有些大致的了解和想法后希望能夠在實驗中學(xué)習(xí)更多。?
目前研究的 KBQA 暫時專注在簡單知識庫問答上:即根據(jù)一個問題,抽出一條三元組,生成 Sparql 語句,進而進行知識圖譜查詢返回答案。?
最終選擇了 NLPCC2016KBQA 數(shù)據(jù)集,基線模型采用 BERT。
數(shù)據(jù)集介紹
NLPCC 全稱自然語言處理與中文計算會議(The Conference on Natural Language Processing and Chinese Computing),它是由中國計算機學(xué)會(CCF)主辦的 CCF 中文信息技術(shù)專業(yè)委員會年度學(xué)術(shù)會議,專注于自然語言處理及中文計算領(lǐng)域的學(xué)術(shù)和應(yīng)用創(chuàng)新。?
此次使用的數(shù)據(jù)集來自 NLPCC ICCPOL 2016 KBQA 任務(wù)集,其包含 14,609 個問答對的訓(xùn)練集和包含 9870 個問答對的測試集。并提供一個知識庫,包含 6,502,738 個實體、 587,875 個屬性以及 43,063,796 個三元組。
知識庫文件中每行存儲一個事實(fact),即三元組 ( 實體、屬性、屬性值) 。各文件統(tǒng)計如下:
知識庫樣例如下所示:
原數(shù)據(jù)中本只有問答對(question-answer),并無標注三元組(triple),本人所用問答對數(shù)據(jù)來自該比賽第一名的預(yù)處理:
http://github.com/huangxiangzhou/NLPCC2016KBQA
構(gòu)造 Triple 的方法為從知識庫中反向查找答案,根據(jù)問題過濾實體,最終篩選得到,也會存在少量噪音數(shù)據(jù)。該 Triple 之后用于構(gòu)建實體識別和屬性選擇等任務(wù)的數(shù)據(jù)集。
問答對樣例如下所示:
數(shù)據(jù)集本身存在的問題
知識庫實體間的歧義
以“貝拉克·奧巴馬”為例,涉及該實體的問答對如下:
在知識庫中查詢包含該實體的三元組,結(jié)果如下(部分):
首先,知識庫中存在“貝拉克·奧巴馬”的多條實體,有可能是多數(shù)據(jù)來源的融合或其他原因,從而并不能完全保證信息的對齊。我們查看“妻子”這一屬性,發(fā)現(xiàn)有的是“米歇爾·拉沃恩·奧巴馬”有的是“米歇爾·奧巴馬”,而我們問答對中給出的答案是“米歇爾·奧巴馬”。因此當(dāng)我們的模型檢索到正確三元組時:
雖然在實體和屬性都映射正確的情況下,最終答案仍可能被判定為錯誤。
問題中的實體歧義
以“博士來拜”為例,涉及該實體的問答對如下:
在知識庫中查詢包含該實體的三元組,結(jié)果如下(部分):
問句中的問題是:“博士來拜是什么年代的作品?“,涉及到”年代“這個屬性,而這幅作品被不同時期的很多人創(chuàng)作過,我們無法從當(dāng)前問句下得到要詢問的是哪位藝術(shù)家的創(chuàng)作年代。
因此該問題的涉及的實體具有歧義性,同樣的,當(dāng)模型檢索到我們認為的正確實體和正確屬性后,依然有可能會被判定為錯誤答案。
在知識庫中相關(guān)實體三元組數(shù)量過多的情況下,對檢索模型的效果、效率也是個挑戰(zhàn)。
在具有 4300W 條三元組的知識庫中,同一個實體會檢索出大量(幾十、幾百條)的相關(guān)三元組,而且在存在上述兩個歧義性問題的情況下,識別的效果和效率都是很大的問題。
以上的兩個問題在實體識別實驗部分和屬性抽取部分的影響較小,但在實體鏈接知識庫檢索最終答案三元組的部分會有較大的影響。
數(shù)據(jù)集預(yù)處理及實驗結(jié)果
清洗訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)、知識庫
過濾屬性,去除‘-’,‘?’,空格等噪音符號,同時把每一行 lower() 轉(zhuǎn)成小寫。
分別保存為:train_clean.csv, test_clean.csv, nlpcc-iccpol-2016-clean.kbqa.kb。
構(gòu)造開發(fā)集
原始訓(xùn)練集數(shù)量為 14,609,Shuffle 后抽出 2609 作為開發(fā)集,其余作為訓(xùn)練集,如下。
分別保存為:train_clean.csv, dev_clean.csv, test_clean.csv。
構(gòu)造實體識別的訓(xùn)練集、開發(fā)集、測試集
構(gòu)造實體識別數(shù)據(jù)集需要根據(jù)三元組-Enitity 反向標注問題,給 Question 打標簽。由于我們希望從單問題中抽取單個實體,并未采用 BIO 的標注,直接采用 0/1 標注法,即 0 表示非實體,1 表示實體。
同時需要確保其實體完整出現(xiàn)在問題中,對于未出現(xiàn)的樣例,我們直接刪除忽略。錯誤樣例如下所示:
過濾后的數(shù)據(jù)集信息如下:
過濾后的數(shù)據(jù)集樣例如下所示:
分別保存為:entity_train.csv, entity_dev.csv, entity_test.csv。
基于 BERT+BiLSTM+CRF 模型的實驗結(jié)果如下所示,其中 accuracy 是從 9556 個問句識別出完全匹配實體的準確率。
未完全匹配的實體樣例如下,部分是識別錯誤,部分是同義詞,部分是噪音問題。
構(gòu)造屬性抽取的訓(xùn)練集、開發(fā)集、測試集?
1. 構(gòu)造測試集的整體屬性集合,提取+去重,獲得 4373 個屬性 RelationList;
2. 一個 sample 由“問題+屬性+Label”構(gòu)成,原始數(shù)據(jù)中的屬性值置為 1;
3. 從 RelationList 中隨機抽取五個屬性作為 Negative Samples。
數(shù)據(jù)集大小如下:
數(shù)據(jù)集 samples 如下:
分別保存為:relation_train.csv, relation_dev.csv, relation_test.csv。
之前構(gòu)造的數(shù)據(jù)進行訓(xùn)練,在這個測試集上測試的結(jié)果?;贐ERT的訓(xùn)練結(jié)果如下所示,其中 accuracy 是真正的準確率。
模型沒有識別出的測試樣例如下,可以看出缺少深度語義匹配的能力。
結(jié)束語
之后也會把相關(guān)代碼和預(yù)處理數(shù)據(jù)開源到我的 Github 上:
https://github.com/supergyz
點擊以下標題查看更多往期內(nèi)容:?
自動機器學(xué)習(xí)(AutoML)最新綜述
圖神經(jīng)網(wǎng)絡(luò)綜述:模型與應(yīng)用
近期值得讀的10篇GAN進展論文
自然語言處理中的語言模型預(yù)訓(xùn)練方法
從傅里葉分析角度解讀深度學(xué)習(xí)的泛化能力
兩行代碼玩轉(zhuǎn)Google BERT句向量詞向量
近期知識圖譜頂會論文推薦,你都讀過哪幾篇?
TensorSpace:超酷炫3D神經(jīng)網(wǎng)絡(luò)可視化框架
深度長文:NLP的巨人肩膀(上)
NLP的巨人肩膀(下):從CoVe到BERT
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢??答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得或技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。
??來稿標準:
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標志
? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通
?
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 獲取最新論文推薦
總結(jié)
以上是生活随笔為你收集整理的基于知识图谱的问答系统入门—NLPCC2016KBQA数据集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI Challenger 2018 机
- 下一篇: 今晚直播 | 平安人寿资深算法工程师姚晓