项目设计目的:
本项目旨在开发一个病情聊天机器人,利用Neo4j图数据库和Elasticsearch全文搜索引擎相结合,实现对病情相关数据的存储、查询和自动回答。通过与用户的交互,机器人可以根据用户提供的症状描述,给出初步的可能诊断和建议,并提供推荐的医生或医院信息。
功能需求:
- 用户输入症状描述,机器人根据症状查询数据库,返回可能的诊断结果。
- 根据诊断结果,机器人提供相应的建议和治疗方案。
- 提供医生和医院的推荐信息,包括专长、资质和患者评价等。
- 支持用户提问和机器人解答的对话交互。
- 支持用户对机器人回答的评价和反馈。
表结构设计:
对应的表结构设计如下:
User 表:
- id: 主键,自动生成的唯一标识符
- username: 用户名
Symptom 表:
- id: 主键,自动生成的唯一标识符
- name: 症状名称
- description: 症状描述
Disease 表:
- id: 主键,自动生成的唯一标识符
- name: 疾病名称
- description: 疾病描述
Doctor 表:
- id: 主键,自动生成的唯一标识符
- name: 医生姓名
- specialization: 专长
- qualification: 资质
Hospital 表:
- id: 主键,自动生成的唯一标识符
- name: 医院名称
- address: 医院地址
- rating: 患者评分
Chat 表:
- id: 主键,自动生成的唯一标识符
- timestamp: 对话时间戳
- input_text: 用户输入文本
- output_text: 机器人输出文本
项目结构图:
ER图: