__author__ = 'ding'
'''
qa问答
'''
from ModelProcess import ModelProcess
from dish_graph import dishGraph
graph = dishGraph()
# 构建知识图谱
graph.delete(pattern='all')
graph.handle_excel('./dish.xlsx', ['Sheet1'])
# 获取回复
def get_response(index, sentence):
# self.graph.run("MATCH(n:" + type + ") Where n.{} n")
if index < 5:
label = 'Movie'
else:
label = 'person'
# 类别
value = ['rating', 'time', 'genres', 'content', 'actors']
node = graph.selector.match(label).where(name=sentence.split(' ')[0]).first()
return node[value[index]]
# question = '肖申克的救赎的评分是多少'
qa = ModelProcess()
# qa.queryAbstract(question)
while 1:
question = input('>')
m = qa.analyQuery(question)
a = get_response(qa.modelIndex, m)
print(a)
这个项目只完成了与电影相关的知识图谱,人物相关的还未补充
与前三篇文章相结合能直接运行
链接在此:
一、获取电影信息数据
二、知识图谱搭建
三、贝叶斯模型
不明白的地方欢迎留言提问
不足的地方请不吝指教
谢谢大家