前言
Neo4j的数据库构建完成后,现在就是要实现医疗知识的解答功能了。因为是初版,这里的问题解答不会涉及深度学习,目前只是一个条件查询的过程。而这个过程包括对问题的关键词拆解分类,然后提取词语和类型去图数据库查询,最后就是根据查询结果和问题类型组装语言完成回答,那么以下就是完成这个过程的全部代码流程了。
![](http://dingyue.ws.126.net/2023/0802/7f81884ej00ryr0l000fwd000v900j4p.jpg)
打开网易新闻 查看精彩图片
环境
这里所需的环境除了前面提到的外,还需要ahocorasick库,用于从问题中提取关键词。另一个是colorama,用于给输出面板文字美化的库。
![](http://dingyue.ws.126.net/2023/0802/162ab026j00ryr0jo001lc000sd00gmm.jpg)
打开网易新闻 查看精彩图片
编码
1. 问答面板
![](http://dingyue.ws.126.net/2023/0802/1050f7b9j00ryr0jo001cc000ic00hvm.jpg)
打开网易新闻 查看精彩图片
2. 问题归类
![](http://dingyue.ws.126.net/2023/0802/a09e769bj00ryr0jo005bc000v000mom.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/0802/7db27575j00ryr0jo001dc000h200d7m.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/0802/aabfd31cj00ryr0jo002zc000mp00pnm.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/0802/30fdede9j00ryr0jo0020c000o500gym.jpg)
打开网易新闻 查看精彩图片
3. 类型解析(查询组装)
![](http://dingyue.ws.126.net/2023/0802/b0537f52j00ryr0jo002vc000lz00p9m.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/0802/f04dcfdaj00ryr0jo003lc000r600p8m.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/0802/556711aaj00ryr0jo003jc000rk00pgm.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/0802/f8e5dd25j00ryr0jo000fc000cg005km.jpg)
打开网易新闻 查看精彩图片
4. 数据查询(回答组装)
![](http://dingyue.ws.126.net/2023/0802/ab0cc85aj00ryr0jo008mc000gp02edm.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/0802/69affda3j00ryr0jo000xc000ge00a0m.jpg)
打开网易新闻 查看精彩图片
写在最后
以上就是这个医疗知识问答机器人的全部代码了,从上面的问答里也能看出,回答得还是很生硬。因为这就只是一个程序化得思维导图,所以修改完善空间还是很大,这个就要后期用深度学习得方式对分类解析部分进行改动
热门跟贴