本文主要参考SimmerChan大神文章:https://zhuanlan.zhihu.com/p/33224431
Pelhans 大神的博客:http://pelhans.com/2018/09/03/kg_from_0_note3/
1 简介
基于浙江大学在openKG上提供的 基于REfO的KBQA实现及示例。代码部分浙大方面已经完成绝大部分,这里主要将其应用到自己的知识图谱上。在运行KBQA代码前,应按照前面的教程将电影类知识图谱导入到Jena的TDB数据库中,并运行fuseki服务器,这样我们才能进行访问查询。
1.1代码结构
jena_sparql_endpoint.py
query_main.py
question2sparql.py
question_temp.py
word_tagging.py
external_dict/
csv2txt.py
movie_title.csv
movie_title.txt
person_name.csv
person_name.txt
__init__.py
- "KB_query"文件夹包含的是完成整个问答demo流程所需要的脚本。
- "external_dict"包含的是人名和电影名两个外部词典。csv文件是从mysql-workbench导出的,按照jieba外部词典的格式,我们将csv转为对应的txt。
- “word_tagging”,定义Word类的结构(即我们在REfO中使用的对象);定义"Tagger"类来初始化词典,并实现自然语言到Word对象的方法。
- “jena_sparql_endpoint”,用于完成与Fuseki的交互。
- “question2sparql”,将自然语言转为对应的SPARQL查询。
- “question_temp”&#x