基于知识图谱的《红楼梦》人物关系可视化及问答系统 学习记录

基于知识图谱的《红楼梦》人物关系可视化及问答系统链接(GitHub): 项目原链接

day 1 下载文件,配环境

2023.7.16

activate py37

pip3 install -r D:\Knowledge_Graph\KGQA_HLM-master\requirement.txt

//requirement.txt
flask、py2neo、pyltp、bs4

解决问题

ERROR: HTTP error 403 while getting https://pypi.tuna.tsinghua.edu.cn/packages/16/18/9726cac3c7cb9e5a1ac4523b3e508128136b37aadb3462c857a19318900e/Flask-BasicAuth-0.2.0.tar.gz#sha256=df5ebd489dc0914c224419da059d991eb72988a01cdd4b956d52932ce7d501ff (from https://pypi.tuna.tsinghua.edu.cn/simple/flask-basicauth/)

1、在cmd里安要把VPN关掉
2、可能是清华源的问题,在pip文件里修改为阿里源

(镜像网站:把在国外服务器上的资源搬到了国内,这样下载就会很快,这些资源所在的网站就是镜像网站

day 2 了解知识图谱 图数据库Neo4j

2023.7.17

知识图谱

知识图谱就是以结构化的信息通过图结构进行关联起来的一个知识库。
而基于深度学习的知识图谱的构建是将某一领域的数据信息通过深度学习算法构建“实体——关系——实体”的三元组模型,并将其存储在图结构数据库中

知识图谱的结构是指实现构建知识图谱的技术体系,主要分为两大数据采集与处理两部分。

数据采集(Data Acquisition )是指选择构建知识图谱的“原材料”,基于深度学习的知识图谱需要大量的训练数据进行模型训练,因此数据采集是知识图谱的重要的架构之一。

数据处理是指针对采集的数据进行相关算法操作,完成相应的任务。

详细内容:https://blog.csdn.net/qq_37933128/article/details/126637369

图数据库Neo4j

所谓的图数据库一般由节点和关系构成,neo4j是其中的一种。它是用来存储数据用的,以图的节点和边的方式来存储数据。
在寻求数据的关联性中优于传统数据库mysql,且neo4j支持上亿级别的节点和关系
传统图运算一般在内存中进行,无法处理整个知识图谱,neo4j可以在磁盘中完成图运算,因此在问答系统中常常使用neo4j作为数据的载体,用于快速搜索关键词信息。

https://zhuanlan.zhihu.com/p/489047356 下载neo4j
https://blog.csdn.net/weixin_44704538/article/details/105913706

day 3 下载Java

2023.7.18

下载 JDK
看这个!超详细!!
JDK8下载安装教程
jdk8的安装教程
两个都很详细。

下载 jdk8 的时候需要登陆,不想注册的话,如下:
一个很特殊的网站(免费可使用的已注册好的账户),试了一个就登上了!
一些Java官网的账户

下载版本如下:
在这里插入图片描述

记得进行环境变量的配置!

环境变量

操作系统里一个用来搜索你的文件位置并打开你的软件,它包含了一个或者多个应用程序将使用到的信息。
Windows中的环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到电脑中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
(https://zhuanlan.zhihu.com/p/338250520)

修改环境变量
win11没有我的电脑,解决如下:
找到 配置环境变量

day 4 下载neo4j

2023.7.20

下载详见(超详细!):
neo4j下载安装流程

下载完后可能会有问题:
以管理员身份运行cmd显示neo4j.bat 不是内部或外部命令
解决方法:点击WIN+X,选择Windows终端(管理员)
进入后,再输入相关指令,可正常执行。

在这里插入图片描述
链接: 详细解决的文章 点这里

登录在cmd输入:

neo4j.bat console

day 5、6、7 建立知识图谱

2023.7.21-2023.7.22,2023.7.24(哭,前两天感冒了,光睡觉了…

修改代码
问题1:

在这里插入图片描述
解决:py2neo V3的版本有 NodeSelector 函数
py2neo V4版本改为了 NodeMatcher 函数

问题2:
在这里插入图片描述

解决:设置图数据库的账号和密码这里,新版、旧版py2neo有所不同,如下:

//旧版Connection profiles示例(3.4.0版本)
from py2neo import *
graph = Graph('http://localhost:7474/',username='neo4j',password='123456')//py2neo 2021.1版本的Connection profiles示例
from py2neo import *
graph = Graph("http://localhost:7474", auth=("neo4j", "123456"))

问题3:
报错如下:

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.1.0h  27 Mar 2018'. See: https://github.com/urllib3/urllib3/issues/2168

解决:
Terminal窗口执行:pip install urllib3==1.26.15

在这里插入图片描述
应该是成功了…

错了,缺少东西,后面pip安装上之后安装成功了。如下:
在这里插入图片描述

但是忘记是在虚拟环境里了,重新在虚拟环境里安装就不报错了!!

conda activate py37

(嗨皮,还得摸索一下虚拟环境是怎么回事)

问题4:
读文件读不出,显示未找到文件:

with open(r'./raw_data/relation.txt') as f:

在这里插入图片描述
解决:

with open("d:\\Knowledge_Graph\\KGQA_HLM-master\\raw_data\\relation.txt", 'r') as f:

采用绝对路径,搭配双斜杠,外加 ‘r’ 。

问题 5:
文本乱码:
在这里插入图片描述
解决:
读取文件时报错Unicode编码错误,一般这种情况较多是在国标码(GBK)和utf8之间选择出现了问题。

只需在代码后面添加encoding='UTF-8'

with open("d:\\Knowledge_Graph\\KGQA_HLM-master\\raw_data\\relation.txt", 'r', encoding='UTF-8') as f:

pyltp 的所有输入的分析文本和输出的结果的编码均为 UTF-8
如果您以非 UTF-8 编码的文本输入进行分析,结果可能为空。请注意源代码文件的默认编码。
由于 Windows 终端采用 GBK 编码显示,直接输出 pyltp 的分析结果会在终端显示为乱码。您可以将标准输出重定向到文件,以 UTF8 方式查看文件,就可以解决显示乱码的问题。

day 8 下载LTP模型

2023.7.24

LTP是什么

LTP提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。从应用角度来看,LTP为用户提供了下列组件:
①针对单一自然语言处理任务,生成统计机器学习模型的工具
②针对单一自然语言处理任务,调用模型进行分析的编程接口
③使用流水线方式将各个分析工具结合起来,形成一套统一的中文自然语言处理系统
④系统可调用的,用于中文语言处理的模型文件
⑤针对单一自然语言处理任务,基于云端的编程接口
如果你的公司需要一套高性能的中文语言分析工具以处理海量的文本,或者你的在研究工作建立在一系列底层中文自然语言处理任务之上,或者你想将自己的科研成果与前沿先进工作进行对比,LTP都可能是你的选择。
链接: LTP语言技术平台

pyltp

pyltp 是 LTP 的 Python 封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。

查看已安装的所有库:

pip list

按教程下载压缩包
修改 ltp.py 里的 ltp 模型文件的存放目录

修改界面
在这里插入图片描述
完成啦!!!
运行的时候,先连接 neo4j 图数据库,然后运行代码,点击进入浏览器即可。
还要学一学python和界面的设计~

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值