python构建基于知识图谱的京东商城问答系统-实验环境和实验数据准备

1、实验环境的搭建

(1)python环境

我这里用python3.9版本

本项目涉及到的依赖包打包好了,可以直接使用下面的命令来安装:

pip install -r requirements.txt

有其他需要的包可以用命令:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

来下载,只要把numpy 替换成需要的包就可以。

(2)知识图谱基本介绍

关于知识图谱,可以看这篇文章详细了解。这是一份通俗易懂的知识图谱技术与应用指南,读了这篇文章,相信你对知识图谱有了一个初步的印象,其实质就是利用三元组来表示实体的一些信息,而关于这些信息的存储,一种是基于RDF的存储;另一种是基于图数据库的存储。而本项目采用的是图数据库存储,主要是图数据库较简单,还直观,使用了图数据库neo4j,关于这个数据库的安装,请参照Neo4j的安装启动

 2、实验数据

使用了八爪鱼采集器爬取的数据,这个软件是免费的,也有收费功能,不过免费的功能已经可以满足大部分需求了。一开始自己手动爬取数据,但是效果不太理想,爬取的不是很全面,就用这个软件了,很好用。

软件的页面如下:

可以使用其中的爬虫模版,也可以自定义。

 

我这里只把电脑名称作为一个实体,其他数据都作为实体的属性。

下面是我爬取到的数据

数据的格式如下:

 电脑实体数据文件:

 价格属性数据:

价格是电脑实体的关系,只要用两个编号连接就行。

 我这里将爬取到的数据手动处理的,有一些空的数据需要填充上内容,因为导入数据库的时候不能为空。然后把数据csv文件放入neo4j安装目录下的import目录下即可

我的路径是:

D:\Neo4j\neo4j-community-3.5.31\import

3.Neo4j的启动和停止

通过控制台启动Neo4j程序

cmd输入neo4j.bat console

 出现上图信息则表示启动成功,网页访问http://localhost:7474,输入用户名和密码,用户名默认为neo4j,第一次进入时会让修改密码。

放进去后打开图数据库,在图数据库中依次执行下面的代码,

在上面白色输入框输入,点击右侧的蓝色按钮即可。 

//导入节点 商品名称  == 注意类型转换
LOAD CSV WITH HEADERS  FROM "file:///genre_jd.csv" AS line
MERGE (p:Genre_jd{gid:toInteger(line.gid),name:line.name
,title:line.title,href:line.href})


//导入节点 电脑信息
LOAD CSV WITH HEADERS FROM 'file:///computer_jd.csv' AS line
MERGE (p:Computer_jd{ cid:toInteger(line.cid),type:line.type,
color:line.color,
weight:line.weight,
Screen_color:line.Screen_color,
system:line.system,origin:line.origin,thickness:line.thickness
})


// 导入节点 电脑购买信息
LOAD CSV WITH HEADERS  FROM "file:///price_jd.csv" AS line
MERGE (p:Price_jd{pid:toInteger(line.pid),sid:line.sid,
sell:line.sell,
courier:line.courier,
goods:line.goods,
postage:line.postage,
price:line.price
})


LOAD CSV WITH HEADERS  FROM "file:///comments_jd.csv" AS line
MERGE (p:Comments_jd{comid:toInteger(line.comid),evaluate:line.evaluate,
Good_reviews:line.Good_reviews,
acclaim:line.acclaim
})


LOAD CSV WITH HEADERS  FROM "file:///disposition_jd.csv" AS line
MERGE (p:Disposition_jd{did:toInteger(line.did),cpu:line.cpu,
gpu:line.gpu,
ssd:line.ssd,
refresh:line.refresh
})

// 导入关系 compters  电脑多少钱 1对1
LOAD CSV WITH HEADERS FROM "file:///computer_to_g_jd.csv" AS line
match (from:Computer_jds {cid:toInteger(line.cid)}),(to:Genre_jd {gid:toInteger(line.gid)})
merge (from)-[r:computers{cid:toInteger(line.cid),gid:toInteger(line.gid)}]->(to)


LOAD CSV WITH HEADERS FROM "file:///price_to_genre_jd.csv" AS line
match (from:Price_jd {pid:toInteger(line.pid)}),(to:Genre_jd {gid:toInteger(line.gid)})
merge (from)-[r:computers{pid:toInteger(line.pid),gid:toInteger(line.gid)}]->(to)


LOAD CSV WITH HEADERS FROM "file:///comments_to_genre_jd.csv" AS line
match (from:Comments_jd {comid:toInteger(line.comid)}),(to:Genre_jd {gid:toInteger(line.gid)})
merge (from)-[r:computers{comid:toInteger(line.comid),gid:toInteger(line.gid)}]->(to)


LOAD CSV WITH HEADERS FROM "file:///disposition_to_genre_jd.csv" AS line
match (from:Disposition_jd {did:toInteger(line.did)}),(to:Genre_jd {gid:toInteger(line.gid)})
merge (from)-[r:computers{did:toInteger(line.did),gid:toInteger(line.gid)}]->(to)

上一篇中提到了问题分类的训练集怎么构造的,也提到了问题模板,其中A是问题分类的训练数据,B是问题模板。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值