本文主要是介绍知识图谱构建7——基于REFO的简单知识问答(KBQA),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
知识图谱构建7——基于REFO的简单知识问答(KBQA)
实例结构:
- 利用get_dict.sh脚本将数据库电影名和演员名抽取出来,生成字典文件,用于扩展jieba分词,脚本一些命令可以参考:
shell教程:
http://www.runoob.com/linux/linux-shell-io-redirections.html
博客:命令行数据科学工具笔记
https://blog.imfing.com/2018/01/30/data-science-at-the-command-line
get_dict.sh脚本为:
#!/bin/bash
#连接MySQL数据库
Host=127.0.0.1(或者数据库服务器地址)
User=root
PW=数据库密码#本地连接
mysql -u$User -p$PW <<EOF #开始SQL语句
use kg_movie;#选择数据库(选择模式)
#show tables;#执行SQL语句
select actor_chName from actor into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/actor_Name.txt';
select movie_chName from movie into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/movie_Name.txt';
EOF #结束SQL语句# Append "nz" and "nr" tag for jieba
# nr代表演员名
# nz代表电影名称
awk '{print $0 " nr"}' actor_Name.txt > actorName.txt
awk '{print $0 " nz"}' movie_Name.txt > movieName.txt# 移动文件夹到G:\PyCharmWP\kgMovie\KBQA\patternREFO\data
mv actorName.txt G:/PyCharmWP/kgMovie/KBQA/patternREFO/data/
mv movieName.txt G:/PyCharmWP/kgMovie/KBQA/patternREFO/data/# Remove redundant file,actor_Name.txt and movieName.txt
rm *_Name.txt# 注:将get_dict.sh 放到C:/ProgramData/MySQL/MySQL Server 5.7/Uploads目录下运行
将数据库中的字段数据导出时出现如下secure-file-priv选项问题:
ERROR 1290 (HY000) at line 4: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
参考:mysql5.7导出数据提示–secure-file-priv选项问题的解决方法
https://blog.csdn.net/fdipzone/article/details/78634992
- 利用jieba分词对中文句子进行分词和词性标注
关于jieba可以参考:
结巴中文分词:
这篇关于知识图谱构建7——基于REFO的简单知识问答(KBQA)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!