基于知识图谱的医疗问答系统(Kubernetes)
目录[*]一、条件预备
[*]1、创建neo4j用户,数据目录
[*]2、修改 neo4j.conf 配置文件
[*]二、k8s 集群摆设
[*]1、步骤文档
[*]2、选择 k8s-master1 节点打标,kube-scheduler 直接将 pod 调度到该节点
[*]3、创建 neo4j 命名空间
[*]4、创建pv
[*]5、创建pvc
[*]6、创建 neo4j 的Deployment
[*]7、创建 NodePort 范例的 svc (实测本地可以正常运行neo4j但是欣赏器无法连接)
[*]8、使用 LoadBalancer 范例的 svc 服务
[*]8.1、技术选型:METAILB
[*]8.2、创建 MetalLB 命名空间
[*]8.3、下载 MetalLB 的安装文件
[*]8.4、查看 MetalLB 需要的镜像
[*]8.5、修改 metallb.yaml 文件
[*]8.6、所有节点提前下载 speaker 和 controller 镜像
[*]8.7、安装 MetalLB
[*]8.8、查看 pod 验证摆设情况
[*]8.9、配置地址池
[*]8.10、创建地址池
[*]8.11、创建 LoadBalancer 范例的 SVC
[*]8.12、应用 svc
[*]8.13、验证 svc 状态
[*]三、测试连接
[*]四、Neo4j 初始配置
[*]1、清空 Neo4j 数据库
[*]五、PyCharm 项目安装必备库
[*]1、py2neo 库
[*]2、pymongo 库
[*]3、lxml 库
[*]六、python 连接 Neo4j
[*]1、欣赏器 browser 查看Neo4j 连接状态
[*]2、修改源文件中 Graph 连接格式
[*]七、PyCharm 导入医疗知识图谱
[*]1、读取文件
[*]2、建立节点
[*]3、创建知识图谱中心疾病的节点
[*]4、创建知识图谱实体节点范例schema
[*]5、创建实体关系边
[*]6、创建实体关联边
[*]7、导出数据
[*]8、程序主入口
[*]8.1、UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 81: illegal multibyte sequence
[*]8.2、修改代码:for data in open(self.data_path):
[*]9、运行结果
[*]10、优化导入数据时间
[*]八、PyCharm 实现问答系统
[*]1、问句范例分类脚本
[*]2、问句分析脚本
[*]3、问答程序脚本
[*]4、问答系统实现
[*]4.1、模型初始化
[*]4.2、问答主函数
[*]4.3、运行主入口
[*]4.4、运行结果
一、条件预备
1、创建neo4j用户,数据目录
useradd neo4j
mkdir -pv /mnt/neo4j/{logs,data,conf,import}
chown -R neo4j:neo4j /mnt/neo4j/logs
chown -R neo4j:neo4j /mnt/neo4j/data
chmod -R 755 /mnt/neo4j/logs
chmod -R 755 /mnt/neo4j/data
[*]data——数据存放的文件夹
[*]logs——运行的日志文件夹
[*]conf——数据库配置文件夹(在配置文件neo4j.conf中配置包括开放远程连接、设置默认激活的数据库)
[*]import——为了大批量导入csv来构建数据库,需要导入的节点文件nodes.csv和关系文件rel.csv需要放到这个文件夹下)
2、修改 neo4j.conf 配置文件
cat > /mnt/neo4j/conf/neo4j.conf > /etc/hosts echo "已将 '$node' 添加到 /etc/hosts 文件中。" fidone# 验证用户输入的主机名与对应的 IP 地址是否存在于本地的 /etc/hosts 文件中ip_address=${hosts[$hostname]}host_line="${ip_address} ${hostname}"if grep -q "$host_line" /etc/hosts; then echo "主机名 '$hostname' 与对应的 IP 地址 '$ip_address' 已经存在于本地的 /etc/hosts 文件中。"else echo "主机名 '$hostname' 与对应的 IP 地址 '$ip_address' 未能在本地的 /etc/hosts 文件中找到,请检查。"fi# 设置 sysctl 参数echo "设置 sysctl 参数..."cat > /etc/sysctl.d/k8s.conf/etc/docker/daemon.json
页:
[1]