赞
踩
该项目是中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目
Github项目地址:mirrors / liuhuanyong / qasystemonmedicalkg · GitCode
该部分要十分注意,由于版本升级的问题,一些用法及格式已经不兼容了。
下载地址:Python Release Python 3.8.10 | Python.orghttps://www.python.org/downloads/release/python-3810/
这个博主写得好,贴下链接:(3条消息) neo4j数据库安装 - CSDNhttps://www.csdn.net/tags/NtzaQg5sNTk2My1ibG9n.html
这个博主写得好,贴下链接:(3条消息) MongoDB安装详细教程(爬坑之路)_Just Do Its的博客-CSDN博客_mongodb安装https://blog.csdn.net/liu991029/article/details/114709588 环境配置差不多了,如果项目运行失败,看看这些软件是否运行
运行neo4j数据库
在浏览器中输入 localhost:7474
开启mongodb服务
开启mongodb客户端,27017是默认端口
在该项目prepare_data目录下
该目录下的一些代码写法已经过时,报错了请自行百度。
该程序末尾添加这三行以调用
- handler = CrimeSpider()
- handler.inspect_crawl()
- handler.spider_main()
运行结果:
这里需要好好说说,在这个py文件里面,有一个神秘的first_name.txt,但是刘焕勇老师并没有在项目中给出。于是我在这里猜测它就是medical.json的前身,在刚刚运行data_spider.py之后,mongodb里面已经有东西了,所以我认为first_name.txt就是从data数据库中导出的文件。(这里需要格式转换,mongodb并不支持txt格式,需要另存为txt格式)
first_name.txt就是长这样:
函数调用
- if __name__ == '__main__':
- handler = MedicalGraph()
- handler.modify_jc()
- handler.collect_medical()
运行build_data.py结束后,medical数据库中也有东西了,继续导出,
我们得到second_name.txt,这已经非常接近medical.json了
这里我也挖个坑(其实是我不会)
从second_name.txt到medical.json需要进一步操作,如果有哪位小伙伴知道怎么做,请在评论区告诉我。
该文件中有一段写法报错,已改正
- # 加载特征词 这里encoding用的是‘utf-8’模式,不加的话,我的pycharm会报错
- self.disease_wds = [i.strip() for i in open(self.disease_path, encoding='utf-8') if i.strip()]
- self.department_wds = [i.strip() for i in open(self.department_path, encoding='utf-8') if i.strip()]
- self.check_wds = [i.strip() for i in open(self.check_path, encoding='utf-8') if i.strip()]
- self.drug_wds = [i.strip() for i in open(self.drug_path, encoding='utf-8') if i.strip()]
- self.food_wds = [i.strip() for i in open(self.food_path, encoding='utf-8') if i.strip()]
- self.producer_wds = [i.strip() for i in open(self.producer_path, encoding='utf-8') if i.strip()]
- self.symptom_wds = [i.strip() for i in open(self.symptom_path, encoding='utf-8') if i.strip()]
- self.region_words = set(
- self.department_wds + self.disease_wds + self.check_wds + self.drug_wds + self.food_wds + self.producer_wds + self.symptom_wds)
- self.deny_words = [i.strip() for i in open(self.deny_path, encoding='utf-8') if i.strip()]
运行 api.py,然后直接进入home.html
效果展示:
最后再次感谢医药领域知识图谱快速及医药问答项目和基于知识图谱的心理咨询智能问答系统这两个项目的创作者。如果有什么遗漏或者错误的话,欢迎在评论区指正。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。