0
該語(yǔ)料庫(kù)包含從網(wǎng)站Insurance Library 收集的問(wèn)題和答案。
據(jù)我們所知,這是保險(xiǎn)領(lǐng)域首個(gè)開(kāi)放的QA語(yǔ)料庫(kù):
該語(yǔ)料庫(kù)的內(nèi)容由現(xiàn)實(shí)世界的用戶提出,高質(zhì)量的答案由具有深度領(lǐng)域知識(shí)的專業(yè)人士提供。 所以這是一個(gè)具有真正價(jià)值的語(yǔ)料,而不是玩具。
在上述論文中,語(yǔ)料庫(kù)用于答復(fù)選擇任務(wù)。 另一方面,這種語(yǔ)料庫(kù)的其他用法也是可能的。 例如,通過(guò)閱讀理解答案,觀察學(xué)習(xí)等自主學(xué)習(xí),使系統(tǒng)能夠最終拿出自己的看不見(jiàn)的問(wèn)題的答案。
數(shù)據(jù)集分為兩個(gè)部分“問(wèn)答語(yǔ)料”和“問(wèn)答對(duì)語(yǔ)料”。問(wèn)答語(yǔ)料是從原始英文數(shù)據(jù)翻譯過(guò)來(lái),未經(jīng)其他處理的。問(wèn)答對(duì)語(yǔ)料是基于問(wèn)答語(yǔ)料,又做了分詞和去標(biāo)去停,添加label。所以,"問(wèn)答對(duì)語(yǔ)料"可以直接對(duì)接機(jī)器學(xué)習(xí)任務(wù)。如果對(duì)于數(shù)據(jù)格式不滿意或者對(duì)分詞效果不滿意,可以直接對(duì)"問(wèn)答語(yǔ)料"使用其他方法進(jìn)行處理,獲得可以用于訓(xùn)練模型的數(shù)據(jù)。
歡迎任何進(jìn)一步增加此數(shù)據(jù)集的想法。
語(yǔ)料地址
https://github.com/Samurais/insuranceqa-corpus-zh
在Python環(huán)境中,可以使用pip安裝
兼容py2, py3
pip install --upgrade insuranceqa_data
問(wèn)題 | 答案 | 詞匯(英語(yǔ)) | |
訓(xùn)練 | 12,889 | 21,325 | 107,889 |
驗(yàn)證 | 2,000 | 3354 | 16,931 |
測(cè)試 | 2,000 | 3308 | 16,815 |
每條數(shù)據(jù)包括問(wèn)題的中文,英文,答案的正例,答案的負(fù)例。案的正例至少1項(xiàng),基本上在1-5條,都是正確答案。答案的負(fù)例有200條,負(fù)例根據(jù)問(wèn)題使用檢索的方式建立,所以和問(wèn)題是相關(guān)的,但卻不是正確答案。
{
"INDEX": {
"zh": "中文",
"en": "英文",
"domain": "保險(xiǎn)種類",
"answers": [""] # 答案正例列表
"negatives": [""] # 答案負(fù)例列表
},
more ...
}
訓(xùn)練:corpus/pool/train.json.gz
驗(yàn)證:corpus/pool/valid.json.gz
測(cè)試:corpus/pool/test.json.gz
答案:corpus/pool/answers.json 一共有 27,413 個(gè)回答,數(shù)據(jù)格式為 json:
{
"INDEX": {
"zh": "中文",
"en": "英文"
},
more ...
}
問(wèn)答對(duì)
格式 INDEX ++$++ 保險(xiǎn)種類 ++$++ 中文 ++$++ 英文
corpus/pool/train.txt.gz, corpus/pool/valid.txt.gz, corpus/pool/test.txt.gz.
答案
格式 INDEX ++$++ 中文 ++$++ 英文
corpus/pool/answers.txt.gz
語(yǔ)料庫(kù)使用gzip進(jìn)行壓縮以減小體積,可以使用zmore, zless, zcat, zgrep等命令訪問(wèn)數(shù)據(jù)。
zmore pool/test.txt.gz
import insuranceqa_data as insuranceqa
train_data = insuranceqa.load_pool_train()
test_data = insuranceqa.load_pool_test()
valid_data = insuranceqa.load_pool_valid()# valid_data, test_data and train_data share the same propertiesfor x in train_data: print('index %s value: %s ++$++ %s ++$++ %s' % \
(x, d[x]['zh'], d[x]['en'], d[x]['answers'], d[x]['negatives']))
answers_data = insuranceqa.load_pool_answers()for x in answers_data: print('index %s: %s ++$++ %s' % (x, d[x]['zh'], d[x]['en']))
使用"問(wèn)答語(yǔ)料",還需要做很多工作才能進(jìn)入機(jī)器學(xué)習(xí)的模型,比如分詞,去停用詞,去標(biāo)點(diǎn)符號(hào),添加label標(biāo)記。所以,在"問(wèn)答語(yǔ)料"的基礎(chǔ)上,還可以繼續(xù)處理,但是在分詞等任務(wù)中,可以借助不同分詞工具,這點(diǎn)對(duì)于模型訓(xùn)練而言是有影響的。為了使數(shù)據(jù)能快速可用,insuranceqa-corpus-zh提供了一個(gè)使用HanLP分詞和去標(biāo),去停,添加label的數(shù)據(jù)集,這個(gè)數(shù)據(jù)集完全是基于"問(wèn)答語(yǔ)料"。
import insuranceqa_data as insuranceqa
train_data = insuranceqa.load_pairs_train()
test_data = insuranceqa.load_pairs_test()
valid_data = insuranceqa.load_pairs_valid()# valid_data, test_data and train_data share the same propertiesfor x in test_data: print('index %s value: %s ++$++ %s ++$++ %s' % \
(x['qid'], x['question'], x['utterance'], x['label']))
vocab_data = insuranceqa.load_pairs_vocab()
vocab_data['word2id']['UNKNOWN']
vocab_data['id2word'][0]
vocab_data['tf']
vocab_data['total']
vocab_data包含word2id(dict, 從word到id), id2word(dict, 從id到word),tf(dict, 詞頻統(tǒng)計(jì))和total(單詞總數(shù))。 其中,未登錄詞的標(biāo)識(shí)為UNKNOWN,未登錄詞的id為0。
train_data, test_data 和 valid_data 的數(shù)據(jù)格式一樣。qid 是問(wèn)題Id,question 是問(wèn)題,utterance 是回復(fù),label 如果是 [1,0] 代表回復(fù)是正確答案,[0,1] 代表回復(fù)不是正確答案,所以 utterance 包含了正例和負(fù)例的數(shù)據(jù)。每個(gè)問(wèn)題含有10個(gè)負(fù)例和1個(gè)正例。
train_data含有問(wèn)題12,889條,數(shù)據(jù) 141779條,正例:負(fù)例 = 1:10 test_data含有問(wèn)題2,000條,數(shù)據(jù) 22000條,正例:負(fù)例 = 1:10 valid_data含有問(wèn)題2,000條,數(shù)據(jù) 22000條,正例:負(fù)例 = 1:10
句子長(zhǎng)度:
max len of valid question : 31, average: 5(max)
max len of valid utterance: 878(max), average: 165(max)
max len of test question : 33, average: 5
max len of test utterance: 878, average: 161
max len of train question : 42(max), average: 5
max len of train utterance: 878, average: 162
vocab size: 24997
可將本語(yǔ)料庫(kù)和以下開(kāi)源碼配合使用
DeepQA2: https://github.com/Samurais/DeepQA2
InsuranceQA TensorFlow: https://github.com/l11x0m7/InsuranceQA
Chatbot Retrieval: https://github.com/dennybritz/chatbot-retrieval
聲明1 : insuranceqa-corpus-zh
本數(shù)據(jù)集使用翻譯 insuranceQA而生成,代碼發(fā)布證書 GPL 3.0。數(shù)據(jù)僅限于研究用途,如果在發(fā)布的任何媒體、期刊、雜志或博客等內(nèi)容時(shí),必須注明引用和地址。
InsuranceQA Corpus, Hai Liang Wang, https://github.com/Samurais/insuranceqa-corpus-zh, 07 27, 2017
任何基于insuranceqa-corpus衍生的數(shù)據(jù)也需要開(kāi)放并需要聲明和“聲明1”和“聲明2”一致的內(nèi)容。
聲明2 : insuranceQA
此數(shù)據(jù)集僅作為研究目的提供。如果您使用這些數(shù)據(jù)發(fā)表任何內(nèi)容,請(qǐng)引用我們的論文:
Applying Deep Learning to Answer Selection: A Study and An Open Task。Minwei Feng, Bing Xiang, Michael R. Glass, Lidan Wang, Bowen Zhou @ 2015
“TensorFlow & 神經(jīng)網(wǎng)絡(luò)算法高級(jí)應(yīng)用班”開(kāi)課了!
最受歡迎的谷歌TensorFlow 框架,ThoughtWorks大牛教你玩轉(zhuǎn)深度學(xué)習(xí)!
課程鏈接:http://www.mooc.ai/course/82
加入AI慕課學(xué)院人工智能學(xué)習(xí)交流QQ群:624413030,與AI同行一起交流成長(zhǎng)
相關(guān)文章:
基于 AI-DR 來(lái)談, AI 醫(yī)療影像該如何落地?
機(jī)器學(xué)習(xí)如何“著陸”醫(yī)療行業(yè)?三位行業(yè)專家談關(guān)鍵四點(diǎn)
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。