CCKS-19-任务六-终(附思路和源码)

EA-CKGQA

基于知识图谱的中文问答系统(EA-CKGQA)

CCKS2019 评测任务六

之前的一些技术环境等搭建记录在博客中也有写到,可以进入“CCKS19”专栏中查看一些比较难搭建的环境配置方法,后面比赛有点急,所以很多内容没有放在博客上了。

源码:https://github.com/TaoXuWorkAI/EA-CKGQA

Start.py是程序入口

由于是多人合作书写的代码,且比赛时间紧凑,

代码可读性不是很强,所以特意将整体思路分割成各个部分,

并对各个部分进行了详细的阐述,提供了复现所需要的所有文件。

项目介绍

此程序是CCKS2019评测任务六——基于知识图谱的中文问答系统而做的。

总排名第九名,排除百度、平安、华为、网易等企业分数,高校排名为第四名。

代码详解

对中文问题进行数据清洗(见目录)

由于官方给的问题集包含有很多冗余信息,所以我们对这些信息进行数据清洗,

具体清洗所用的停用词为stop_words.txt,

我们对stop_words.txt中的内容进行了删改,从而更适合我们的QA场景。

对中文问题进行命名实体识别(见目录)

此文件夹内为全部进行NER实现所需要的文件,

部分文件由于大小问题没有放在这里,但均给予了下载链接,

同时提供了我们方法的训练集、运行脚本等。

NER方法来自:
https://github.com/macanv/BERT-BiLSTM-CRF-NER

训练集和训练后的模型均已提供,

放入必要的依赖后,配置一下start_ner脚本内的模型路径,

使用NER_test中的ner_on_work函数,

即可在代码中使用。

对识别后的实体进行实体消歧(见目录)

pkubase-mention2ent.txt 文件下载地址
链接:https://pan.baidu.com/s/1MaZGxDg9KQrpZWE9bSAi0Q 密码:1cok

实体消歧所需要的文件下载地址
链接:https://pan.baidu.com/s/1Oa10t3t73zO13ydv1KcBFg 密码:sssa

使用gStore工具(见目录)

对实体进行召回所有子图等操作获得准确属性(见目录)

通过NER和实体消歧获得的准确实体,

抽取该实体下的所有子图,

并从子图中抽取所有待选属性,

并比较待选属性列表与关键词列表的余弦相似度,

从而从待选属性中找到最终的准确属性。

z_inget.py用于提取实体所对应的全部属性并存放到get_type.txt中;

entity_keywords_chou.py用于根据词性筛选出关键词列表;

start_bert_vector脚本用于开启Bert服务对候选属性列表和关键词列表向量化;

cos_sim_and_delete_get_type.py用于计算余弦相似度以及清空get_type.txt文件。

Start.py中组建实体、属性查询语句,获得中文问题的最终答案。

额外的资源下载

Jieba分词使用的字典是我们通过mention2entity文件进行反向构建的

字典dict1.txt下载地址为:
链接:https://pan.baidu.com/s/1EOi-y7-dbNzKJEAjosQ3FA 密码:uhet

作者邮箱:xutaowk0@163.com

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xu_Wave

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值