Bootstrap

【知识图谱可视化】实体抽取结果预处理,Neo4j数据导入(学习记录)

本篇内容:

  • 实体抽取内容的初步数据处理
    (之后会发关于导入neo4j数据库的相关内容)

初始数据:进行实体抽取之后的结果数据↓
(这里方便举例,只拿出了小部分数据。这里解释一下数据含义,最左边是每个旅游产品的ID,第二列表示的是旅游产品中包含的景点,第三列是途径城市,第四列是住宿地点。后边同理)
在这里插入图片描述
下面我们就正式开始!

1. 实体内容抽取

我们知道,图数据库的基本数据结构是“实体-关系-实体”。将这些原始数据构建成图网络,首先应该根据需要确定我们需要提取的实体和关系。

在这里,我们确定具体需求为:

  • 每个产品作为一个实体;每一列中所有出现的景点、地点等名称都是实体
  • 我们需要建立的关系是产品与Attraction、City…之间的关系,共六个。

(1)统计每个分类下总共出现的实体个数:
由于后边需要建立实体间的关系,我们在这里为每个实体都加入了编号。我们在这里借助字典完成,知识很基础,在这里就不赘述啦~

attra_e={
   }
city_e={
   }
accom_e={
   }
country_e={
   }
shop_e={
   }
trans_e={
   }
product_e={
   } #创建每个实体的字典

#字典函数
def set_dic(entity_name,dic_name,startBy):
    number = 1
    for i in df[entity_name]:
        a = pd.isnull(i)#判断单元格是否为空
        if a == False:
            i = i.split(';')
;