赞
踩
本文所有代码及数据集已上传 Retrieval-Bot
基于百度中文问答数据集WebQA构建问答机器人,共 45247 条数据。
属于检索式问答系统,采用倒排索引+TFIDF+余弦相似度。
语料地址已失效,已附带在本项目中,43.6Mb,若下载速度较慢可使用百度网盘(frph)
相关论文:Dataset and Neural Recurrent Sequence Labeling Model for Open-Domain Factoid Question Answering
文件列表
文件 | 描述 |
---|---|
me_test.ann | 一个问题一个证据 |
me_test.ir | 一个问题多个证据 |
me_train | 混合训练语料 |
me_validation.ann | 一个问题一个证据 |
me_validation.ir | 一个问题多个证据 |
解析JSON数据得到构成:
{
"问题编号": {
"question": "",
"evidences": {
"证据编号1": {
"answer": "",
"evidence": ""
},
"证据编号n": {
"answer": "",
"evidence": ""
}
}
}
}
材料中没有答案的话默认为 ‘no_answer’
存在问题编号相同但内容完全不同的情况
提取字段有:
字段 | 描述 |
---|---|
question | 问题 |
answer | 答案 |
evidence | 证据 |
answer1 | 不同的答案1 |
answern | 不同的答案n |
提取数据共 48265 条,部分结果:
{ "8284": { "question": "世界上最大的岛屿是", "answer": "格陵兰岛", "evidence": "答:世界上最大的岛屿—格陵兰岛", "answer1": "格陵兰", "evidence1": "答:世界上最大的岛屿—格陵兰岛" }, "8285": { "question": "世界上最大的岛屿在哪里?", "answer": "格陵兰岛", "evidence": "答:中国最大的岛屿是台湾岛,总陆地面积为35915平方公里,属于台湾省;其次是海南岛,总陆地面积为32198平方公里,属于海南剩世界上最大的岛格陵兰岛(greenland)是世界最大岛,面积2,166,086平方公里(836,330平方哩)。在北美洲东北,北冰洋和大..." }, "8286": { "question": "世界上最大的平原是什么", "answer": "亚马孙平原", "evidence": "亚马孙河是世界流域面积最大的河流,亚马孙河流经的亚马孙平原是世界上面积最大的平原." } }
观察数据发现:
人工过滤上述数据中有问题的 8 条数据(加粗为正确答案):
question | answer | answer1 |
---|---|---|
第一位任国际足联副主席的华人是 | 李惠 | 李惠堂 |
世界上最大的金字塔叫什么名字 | 胡夫金字塔 | 埃及金字塔 |
西游记作者是谁 | 罗贯中 | 吴承恩 |
西游记的作者是谁 | 吴承恩 | 罗贯中 |
妙应寺白塔始建于元朝至元八年(公元1271年),由当时哪国的工艺家阿尼哥奉敕主持修建 | 尼泊尔 | 尼伯尔 |
典故"负荆请罪"中的"负荆"者是向谁请罪的? | 蔺相 | 蔺相如 |
《白雪歌送武判官归京》的作者是 | 岑 | 岑参 |
台湾最大的湖是什么湖? | 日月潭 | 澎湖 |
利用 gensim
库构建问答机器人
主要步骤:
首次运行会进行分词、转向量任务,需要约25s,将保存多个文件,下一次运行仅需0.2s
文件名 | 用途 |
---|---|
dictionary | 语料处理后的gensim字典 |
splitdata.json | 原始语料的分词结果 |
tfidf.index | 文本相似度序列 |
tfidf.index.0 | 文本相似度序列缓存文件 |
tfidf.index.1 | 文本相似度序列缓存文件 |
tfidf.model | TFIDF模型 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。