graphRAG的原理及代码实战(2)基本原理介绍(中)

graphRAG-结果解读

1、简介

前文中,graphRAG项目index索引建立完成后,会生成7个parquet文件。
为什么用 Parquet 格式保存知识图谱?

  1. 高效存储:
  • 知识图谱中的数据通常是结构化的,包含大量的实体、关系、嵌入等。
  • Parquet 的列式存储能够显著减少磁盘占用,同时提高读取效率。
  1. 快速读取:
  • 查询阶段需要快速加载实体、关系、嵌入等数据到内存中。
  • Parquet 支持按需加载所需的列,避免了不必要的数据读取。
  1. 兼容性好:
  • Parquet 是一个开放的标准,广泛支持各种数据处理工具(如 Pandas、Spark、Hadoop)。
  • GraphRAG 可以在 Python 中使用 Pandas 或其他工具轻松读取这些文件。

2、解读

parquet在Python中的读取和使用与CSV类似,可以直接读取以dataframe形式展示。
下面根据流程进行一一查看

在这里插入图片描述

2.1 文档

documents = pd.read_parquet("./output/create_final_documents.parquet")

documents
idhuman_readable_idtitletexttext_unit_ids
015f30077a469a205b2919e1b476dbae05a1c156d5d8295...1sushi.txt# 苏轼:北宋文坛的璀璨巨星\n苏轼,这位北宋时期的传奇人物,于宋景祐三年十二月十九日(10...[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...

因为这里只上传的一个文档,所以这里的文档ID只有一个

2.2 文本单元

在默认的settings.yaml设置中,每个文本块的大小为1200

chunks:
  size: 1200
  overlap: 100
  group_by_columns: [id]

查看文本单元数据

text_unit = pd.read_parquet("./output/create_final_text_units.parquet")
idhuman_readable_idtextn_tokensdocument_idsentity_idsrelationship_ids
09cf74fd1963f3ea256ff5e08d48961c31a129e528543fc...1# 苏轼:北宋文坛的璀璨巨星\n苏轼,这位北宋时期的传奇人物,于宋景祐三年十二月十九日(10...1200[15f30077a469a205b2919e1b476dbae05a1c156d5d829...[613785ab-9aa9-47e0-995d-eb061edf246f, bdac09f...[0e32eb8a-015a-43c4-9b43-3602097b93ef, 35e7930...
1a6053b30c0cdc69a23d7b0e55aa2c29a4200cf69ef4b9d...2��步天下!”\n\n在欧阳修的极力称赞下,苏轼声名鹊起,一时间成为京城的焦点人物。他的每一...1200[15f30077a469a205b2919e1b476dbae05a1c156d5d829...[613785ab-9aa9-47e0-995d-eb061edf246f, 021fcec...[0e32eb8a-015a-43c4-9b43-3602097b93ef, 35e7930...
2ad032814011ec3af535e738af040ecafe3572d4b86aeaf...31077年)四月至元丰二年(1079年)三月,苏轼在徐州任知州。期间,黄河在曹村决口,洪水泛...1200[15f30077a469a205b2919e1b476dbae05a1c156d5d829...[613785ab-9aa9-47e0-995d-eb061edf246f, 0da3a33...[5f0c99ed-026d-413e-b113-d55553510893, bef28eb...
3686ba4dd7e8a80c18f7e59e21bf5d4685c8016ec34e5c2...4山游览,触景生情,写下了《赤壁赋》《后赤壁赋》和《念奴娇·赤壁怀古》等千古名作,借景抒情,寄...1200[15f30077a469a205b2919e1b476dbae05a1c156d5d829...[613785ab-9aa9-47e0-995d-eb061edf246f, 0da3a33...[5f0c99ed-026d-413e-b113-d55553510893, bb17a68...
483dd38f6b525caf8b64eb7a32627a5e614c27067736e19...5关注到杭州的水利问题。茅山有一条河专门容纳钱塘江潮水,盐桥有一条河专门容纳西湖水,但河道年久...1200[15f30077a469a205b2919e1b476dbae05a1c156d5d829...[613785ab-9aa9-47e0-995d-eb061edf246f, 021fcec...[35e7930d-c1ac-4488-b599-f229bbbb3803, bb17a68...
5ad70dd7af670a36d9182e17f7c6c4f8b9514ee09d17e8f...6�年(1093年)九月,苏轼出任定州知州。然而,这一年高太后去世,哲宗开始亲政,新党再度掌权...1200[15f30077a469a205b2919e1b476dbae05a1c156d5d829...[ee2b388d-de50-4dbf-aa48-c841b6ab5241, c174d9c...[7ef02f35-156c-4b27-8e7b-6138b87b3a23, 786cb40...
6e7ca4da204cfa950606820f22ea8e2813bb033ec8340ef...7与哲思的交融\n苏轼的诗歌题材广泛,涵盖了社会现实、人生思考、自然景观等诸多方面。他对社会现...1186[15f30077a469a205b2919e1b476dbae05a1c156d5d829...[613785ab-9aa9-47e0-995d-eb061edf246f, 6d039d0...[ba864b0d-77d1-4d37-ae0f-48ab46b990a3, 6fce400...
7a76034282881b48a0a48dfd1dbe4250763b7a86d11a7f4...8现柔情之词扩展为表现豪情之词,将表现爱情之词扩展为表现性情之词,使词像诗一样可以充分展现作者...86[15f30077a469a205b2919e1b476dbae05a1c156d5d829...NoneNone

详细介绍了每个文本块的属性信息,包括当前文本单元的内容、长度、来自的文档、提取的实体、关系等内容

text_unit["entity_ids"][0]

array(['613785ab-9aa9-47e0-995d-eb061edf246f',
       'bdac09fa-4a73-493f-af27-8905b1bcdf61',
       '021fcecb-093d-4931-a038-2a2608995acf',
       '1aa70862-6c06-4276-a91a-3f4eb0f6c452',
       '3fb34cd3-d26c-452b-998f-fbaac8b443ae',
       '024cf757-c6f1-4dd2-900a-cb5a3ddf5505',
       '73ba0e35-cf96-4dad-84de-063a57789751',
       '0740ba33-e6b1-4b61-9dd4-0fdba8abcf10',
       '6139cffc-8001-4ffb-a62c-bb2937466dc5',
       '8a0fed89-7f67-4c89-b8cd-2640431631f1',
       'a7398d0e-577b-4f69-9c62-e1072cee75a2',
       '8783c914-f61f-4165-a515-e19f6d3a22d5',
       'cd3a0ff3-ed8c-4860-ac1f-29c197ecc03f',
       '879dda40-923a-472f-aa35-aa0f627d1081'], dtype=object)
text_unit["relationship_ids"][0]

array(['0e32eb8a-015a-43c4-9b43-3602097b93ef',
       '35e7930d-c1ac-4488-b599-f229bbbb3803',
       '168ed71f-03fa-4ca3-ad92-73b1ce192775',
       '3ed64ffc-1455-4123-bb54-8df7350deca4',
       'bdb0618b-05a9-4640-be61-4667ee227d98',
       '2212455d-fe57-4d9d-92ea-c090d6376168',
       'a571abba-4265-4d00-baab-1b973d2bf383',
       '9007dbbf-ab8f-4321-a13e-57470cd86c26',
       'ff4a54f1-d6c9-4dae-aef3-ff7717da4a8d',
       'a882ce9f-4c63-4135-97ad-65c5fe8a1caf',
       '5dcbdaa0-6677-49aa-85ea-c12cc62c0465',
       '2c996a6a-a845-4d3d-8584-4aee0d99a3ea',
       '9d8a0375-2598-42fe-a239-8d4b77fb1639',
       'f50d3dba-0100-4f2f-b26a-1e88a623eebe',
       'e3512728-ca86-4606-aec1-6a1c1e8f3a7b',
       '94439c77-9de1-40b8-aad3-b831be6f9981',
       '00ff86ab-21f3-4939-8551-dffe6199b92c',
       'd62dc549-c171-484f-86f7-03f635e0f206',
       '90f4f273-f03a-4df5-ae45-c8d89538dffa'], dtype=object)

2.3 实体

在知识图谱中,每个实体都有其独特的标识符和属性(例如,姓名、类型、描述等)。这些属性和关系帮助我们理解实体在特定领域中的作用和上下文。实体识别是图谱构建的重要步骤之一。

实体在知识图谱中将被标识为节点,并且可以与其他节点(如其他姓名、著作、地点等)通过关系(如“写书”,“属于领域”)连接,形成知识图谱中的一个网络结构。同时,在知识图谱中,实体是基础组成单元,它们通过关系(relationship)连接,构成一个图的结构。实体和关系是构建知识图谱的两个基本元素。实体之间的连接关系定义了图谱中的知识和数据。

实体识别的作用实体识别(Entity Recognition)是指从文本中自动识别出这些重要的实体。在GraphRAG的索引阶段中,实体识别是构建知识图谱的第一步,目标是提取出文档中的核心实体,为后续的关系抽取、文本切分等操作打下基础。

实体识别的过程通常涉及:

  1. 命名实体识别(NER,Named Entity Recognition):这是一种自然语言处理(NLP)任务,用来识别文本中具有特定意义的实体,如人名、地点、日期等。
  2. 实体分类:在识别实体之后,还需要根据其属性对实体进行分类,例如将"苏轼"分类为"人名",将"庐山"分类为"地点"。

GraphRAG中的实体识别
在GraphRAG的索引过程中,实体识别是与文本切分和关系挖掘同时进行的。具体来说:
3. 实体识别:GraphRAG使用大语言模型(如GPT)识别文本中的实体,并根据其类型为每个实体赋予一个唯一标识符。
4. 实体嵌入:GraphRAG为每个实体生成语义嵌入,即一个高维向量,来描述该实体的语义。实体嵌入可以帮助模型理解实体在不同上下文中的意义和关系。
5. 关系挖掘:在识别实体之后,GraphRAG还会识别实体之间的关系,例如“作者是”、“属于”等。这些关系构成了知识图谱中的边,实体则是图谱中的节点。

entities = pd.read_parquet("./output/create_final_entities.parquet")
idhuman_readable_idtitletypedescriptiontext_unit_ids
0613785ab-9aa9-47e0-995d-eb061edf246f0苏轼PERSON苏轼, also known as Su Shi, was a highly esteeme...[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
1bdac09fa-4a73-493f-af27-8905b1bcdf611苏洵PERSON苏洵是苏轼的父亲,古文名家,学识渊博,他悉心传授学识和品行给苏轼和苏辙[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
2021fcecb-093d-4931-a038-2a2608995acf2苏辙PERSON苏辙是苏轼的弟弟,与苏轼一同在父亲的教育下成长。他是北宋时期的文化名人,并在元祐六年担任尚书右丞。[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
31aa70862-6c06-4276-a91a-3f4eb0f6c4523欧阳修PERSON欧阳修是中国北宋时期的文学家,他在当时担任主考官的职务,极力称赞和支持苏轼的诗文,并预言其文...[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
43fb34cd3-d26c-452b-998f-fbaac8b443ae4梅尧臣PERSON梅尧臣是当时的小试官,对苏轼的才情高度赏识,并询问苏轼文章中句子的出处[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
.....................
1106d039d02-1ea2-4692-bb85-8460e5d1f2bf110西林壁GEO《题西林壁》是苏轼的一首著名诗作,诗中通过描写庐山景色来揭示人们认识事物的局限性[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...
1113f2f715d-5bbf-42b7-80f4-626d47cbb5d9111庐山GEO庐山是中国江西省的一个著名山脉和风景区,在苏轼的《题西林壁》中提到[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...
112ae6aec9a-f4f7-47c8-8187-40416472fa72112和子由渑池怀旧GEO《和子由渑池怀旧》是苏轼的一首著名诗作,诗中通过比喻人生经历为雪泥鸿爪,表达对人生无常的感慨[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...
1133fa8cbc5-7894-43c3-b8b7-0a9ce21fc131113北宋EVENT北宋是中国历史上的一个朝代,苏轼生活并创作于此时期[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...
114ba8460aa-089e-44e1-8e60-6eea6ed3dbb7114苏诗[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...

115 rows × 6 columns

解释

  • id:我们为每个实体分配了唯一的标识符,这可以帮助在数据库中唯一地标识每个实体。
  • human_readable_id:我们使用易于理解的名称来表示实体,便于后续的引用和查询。
  • title:实体的标题或名称,如“苏轼”、“苏辙”等。
  • type:标记实体的类型,分别是 “地点” 、 “人物"和"事件”。
  • description:给出实体的简短描述,帮助我们理解这些实体是什么。
  • text_unit_ids:列出了每个实体在 TEXT_UNIT_TABLE 中涉及的文本段。

2.4 节点

实体是一个单独的名称,没有进入到知识图谱中;当实体根据关系进入到知识图谱中后就成为了节点。

nodes = pd.read_parquet("./output/create_final_nodes.parquet")
idhuman_readable_idtitlecommunityleveldegreexy
0613785ab-9aa9-47e0-995d-eb061edf246f0苏轼10770.00.0
1bdac09fa-4a73-493f-af27-8905b1bcdf611苏洵3040.00.0
2021fcecb-093d-4931-a038-2a2608995acf2苏辙3050.00.0
31aa70862-6c06-4276-a91a-3f4eb0f6c4523欧阳修0020.00.0
43fb34cd3-d26c-452b-998f-fbaac8b443ae4梅尧臣0030.00.0
...........................
1106d039d02-1ea2-4692-bb85-8460e5d1f2bf110西林壁1010.00.0
1113f2f715d-5bbf-42b7-80f4-626d47cbb5d9111庐山1010.00.0
112ae6aec9a-f4f7-47c8-8187-40416472fa72112和子由渑池怀旧1010.00.0
1133fa8cbc5-7894-43c3-b8b7-0a9ce21fc131113北宋-100NaNNaN
114ba8460aa-089e-44e1-8e60-6eea6ed3dbb7114苏诗1010.00.0

115 rows × 8 columns

在这个表中:

  • id: 每个实体的唯一标识符,可以是数字或字符串。
  • human_readable_id: 人类可读的标识符,方便理解。
  • title: 实体的标题或名称(如文本中的人物等)。
    在GraphRAG中,节点中的community、level、degree和x、y具有以下含义:
  • community:表示节点所属的社区。社区是通过层次社区检测算法在图中识别出的节点簇,社区内的节点彼此之间连接紧密,但与其他社区的节点连接稀疏。在GraphRAG中,节点可能属于不同的社区,用一个整数ID来标识其所在的社区,如果节点未被分配到任何社区,则其community ID可能为-1。
  • level:指的是社区的层次深度,即节点所在社区在整个社区层次结构中的位置。例如在具有严格层次结构的社区划分中,顶层社区的level可能为0,随着层次的细分,子社区的level值会逐渐增加。
  • degree:代表节点的度,即与该节点直接相连的边的数量。在无向图中,度就是连接该节点的边的总数;在有向图中,度可细分为入度和出度,入度是指向该节点的边的数量,出度是从该节点出发指向其他节点的边的数量。节点的度越高,说明该节点在图中的连接越广泛,通常也意味着它在网络中可能具有更重要的地位或作用。
  • x、y:用于节点的可视化布局。在对图进行可视化展示时,x和y分别表示节点在二维平面中的横坐标和纵坐标位置。如果没有启用图嵌入和UMAP等技术来确定节点位置,x和y的值通常为0。

2.5 关系

关系挖掘(Relationship Extraction)是构建知识图谱过程中的一个关键环节,它旨在识别文本中不同实体之间的关系。关系挖掘通常是实体识别之后的第二步,目的是将各个实体连接起来,形成一个有意义的图谱结构。在GraphRAG中,关系挖掘的过程涉及多种技术手段,包括自然语言处理(NLP)、机器学习、深度学习等方法。
关系挖掘的目标
  关系挖掘的目标是从文本中提取出实体之间的语义关系。这些关系可以是显式的,也可以是隐式的,通常关系的形式是“实体A和实体B之间的关系”。通过挖掘这些关系,最终构建起一个实体-关系-实体的三元组(Triple),这是知识图谱的基本构成单元。

关系挖掘不仅要识别出实体A和实体B,还要准确地抽取出它们之间的语义关系“是…的作者”。这些关系将用于构建知识图谱中的边。

示例文本中实体的关系挖掘过程
  据此,我们可以进一步计算出实体的 level 和 degree 值。这两个指标通常用于描述实体在知识图谱中的重要性和连接度。它们的计算依赖于图中的实体和关系结构,通常通过图算法(如图中心性算法)来计算。这些指标可以帮助系统理解每个实体在知识图谱中的角色,从而优化查询和推理。

relationships = pd.read_parquet("./output/create_final_relationships.parquet")
idhuman_readable_idsourcetargetdescriptionweightcombined_degreetext_unit_ids
00e32eb8a-015a-43c4-9b43-3602097b93ef0苏轼苏洵苏洵是苏轼的父亲,他教导苏轼成长。18.081[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
135e7930d-c1ac-4488-b599-f229bbbb38031苏轼苏辙苏轼和苏辙是兄弟,两人共同接受父亲的教育,并曾一起回乡为母亲奔丧。苏轼的弟弟苏辙后来担任了尚...22.082[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
2168ed71f-03fa-4ca3-ad92-73b1ce1927752苏轼欧阳修欧阳修是主考官,称赞苏轼的诗文并预言其文章必独步天下8.079[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
33ed64ffc-1455-4123-bb54-8df7350deca43苏轼梅尧臣梅尧臣是小试官,高度赏识苏轼的才情7.080[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
4bdb0618b-05a9-4640-be61-4667ee227d984苏轼长江苏洵带苏轼顺流而下前往京城参加科举考试6.079[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...
...........................
1170c760c22-a6c1-4de2-8205-b79720fbf472117SU SHISONG HUANGYOUSu Shi's literary career flourished during the...1.024[ad70dd7af670a36d9182e17f7c6c4f8b9514ee09d17e8...
118ba864b0d-77d1-4d37-ae0f-48ab46b990a3118苏轼苏诗苏轼创作了大量诗歌,反映社会现实和人生思考8.078[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...
1196fce400e-3b1f-417e-803f-ef254db60ebb119苏轼西林壁苏轼通过作《题西林壁》揭示了人们认识事物的局限性7.078[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...
120f2d752c3-375c-4b44-8c44-2020fe95e5dc120苏轼和子由渑池怀旧苏轼通过作《和子由渑池怀旧》表达了对人生无常的感慨7.078[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...
12179b6a035-30ab-41fe-a78f-b80bf7b76088121苏轼庐山苏轼在《题西林壁》中提到了庐山7.078[e7ca4da204cfa950606820f22ea8e2813bb033ec8340e...

122 rows × 8 columns

重点介绍下关系中的weight和combined_degree:

  • weight(权重):表示关系的强度、重要性或连接的紧密程度等。比如在知识图谱中,如果节点代表不同的实体,边代表实体之间的关系,那么weight可以用来量化这种关系的某种属性。以“苹果”和“水果”这两个节点为例,它们之间可能存在“属于”的关系,若weight值较高,说明“苹果”属于“水果”这个关系在整个知识图谱的语义理解等方面比较重要;若weight值较低,可能意味着在当前的知识体系或数据集中,这种关系相对不那么突出。也可能在表示社交网络中用户之间的关系时,weight可以表示用户之间的亲密度、交流频率等。
  • combined_degree(组合度):一般是综合考虑了与该关系相关的节点的度等因素而得出的一个指标。可能是将连接两个节点的边的入度和出度等进行某种形式的组合计算得到。比如在有向图中,一条边连接的两个节点,一个节点的出度和另一个节点的入度可能会被综合起来计算combined_degree,用于衡量这条边以及相关节点在图结构中的综合重要性或影响力。它能帮助分析关系两端节点的连接情况对该关系的整体作用,比单纯的节点度能更全面地反映关系在图中的特征。如果一个关系的combined_degree值较高,说明这条关系所涉及的节点在图中的连接情况比较复杂或广泛,可能在信息传播、图的结构稳定性等方面具有更重要的作用。

2.6 社区

communities = pd.read_parquet("./output/create_final_communities.parquet")
idhuman_readable_idcommunityparentleveltitleentity_idsrelationship_idstext_unit_idsperiodsize
0fa441d74-418b-4087-abd6-c8b70733d6a500-10Community 0[6139cffc-8001-4ffb-a62c-bb2937466dc5, 3fb34cd...[90f4f273-f03a-4df5-ae45-c8d89538dffa, d62dc54...[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...2025-02-073
1d8e7c8bc-194f-4df0-a7c2-dc4ec06c35fb11-10Community 1[613785ab-9aa9-47e0-995d-eb061edf246f, 8783c91...[0371a90d-6624-4657-a015-2cd3fbf3416b, 043ad5c...[686ba4dd7e8a80c18f7e59e21bf5d4685c8016ec34e5c...2025-02-0758
2cd09e926-d811-4bc3-8acc-20eecd7e660622-10Community 2[db829fec-9774-4d09-ba6a-786809540071, 9608d5c...[52cc2d40-df68-48b7-9c49-3bcf68e6d52d, 753be4c...[ad032814011ec3af535e738af040ecafe3572d4b86aea...2025-02-074
30b0fda0a-59da-4b77-9b65-496b3e8ca81e33-10Community 3[0740ba33-e6b1-4b61-9dd4-0fdba8abcf10, 021fcec...[00ff86ab-21f3-4939-8551-dffe6199b92c, 94439c7...[9cf74fd1963f3ea256ff5e08d48961c31a129e528543f...2025-02-077
40764b09a-b868-484d-80af-2d0b35b8163344-10Community 4[8032ee03-6124-48fa-b3e9-de89a52aad58, c4b53ec...[7e826192-043c-4422-a59b-5d86bfbc1666, 8c85cb5...[a6053b30c0cdc69a23d7b0e55aa2c29a4200cf69ef4b9...2025-02-073
5a5f3a14c-bb40-45ac-9b8a-1ccb49d5a00e55-10Community 5[ffb22707-db0a-4f45-9aef-85fa95f96254, 61ac871...[39e3c797-cfac-4111-bb5c-c432ddc29924, 5d707b2...[a6053b30c0cdc69a23d7b0e55aa2c29a4200cf69ef4b9...2025-02-077
  1. id:社区的全局唯一标识符,采用UUID(通用唯一识别码)的格式,如 “fa441d74 - 418b - 4087 - abd6 - c8b70733d6a5”。这种格式确保了在整个系统或多个系统交互环境中,每个社区都能被准确无误地标识,避免了标识符重复的可能性,常用于跨模块、跨数据库的社区数据交互与整合。
  2. human_readable_id:以简单数字形式呈现,如 “0”“1”“2” 等,作为一种相对简洁且便于人类理解和识别的标识。它在特定的业务场景或用户界面中,可用于快速定位和区分不同社区,相较于复杂的UUID,更适合用户在浏览、筛选社区列表等操作时直观地辨别。
  3. community:在此输出格式中,其值与 human_readable_id 相同,代表该社区在特定数据结构或算法中的一种内部标识方式,用于系统内部对社区的快速索引和处理。例如,在某些基于数组或简单索引的数据操作中,以此作为索引值可快速定位到对应的社区数据。
  4. parent:值为 “-1” 表示这些社区在当前层次结构中没有父社区,即它们是顶级社区。若存在非 “-1” 的值,则应是其父社区的 id,通过这种方式构建起社区的层次关系,有助于实现社区的层次化管理,比如进行层次化的数据分析、展示等操作。
  5. level:当前输出中所有顶级社区的 level 均为 “0”,表明这是层次结构的起始层级。随着社区的细分,如果存在子社区,其子社区的 level 值将依次递增,用于清晰地界定每个社区在整个层次体系中的位置,方便进行层次遍历、层级查询等操作。
  6. title:采用 “Community + 数字” 的形式,如 “Community 0”“Community 1” 等,作为对社区内容的简要描述名称。虽然这种命名方式相对简单,但在数据集中能快速区分不同社区。在实际应用中,可能会根据社区的具体主题和内容替换为更具描述性的标题,以便用户更直观地了解社区的核心内容。
  7. entity_ids:以列表形式存储,每个元素是一个UUID,如 “[6139cffc - 8001 - 4ffb - a62c - bb2937466dc5, 3fb34cd…]”。是一个包含了与该社区相关联的实体标识符的集合。这些实体是构成社区的重要元素,通过entity_ids可以明确社区中包含哪些实体,以及这些实体与社区的关系。
  8. relationship_ids:同样以列表形式呈现,每个ID(如 “90f4f273 - f03a - 4df5 - ae45 - c8d89538dffa”)代表社区内实体之间的关系。包含了与该社区内实体之间关系的标识符。表示社区内实体之间的各种连接和关联关系,通过这些关系可以进一步理解社区内实体之间的相互作用和逻辑联系。
  9. text_unit_ids: 也是列表形式,每个ID(如 “9cf74fd1963f3ea256ff5e08d48961c31a129e528543f…”)对应与社区相关的文本单元。这些文本单元可能是文档片段、段落等,通过这些ID可以追溯社区知识的文本来源,了解社区构建所依据的具体文本内容。
  10. period:代表与社区相关的时间标记。
  11. size:为数值类型,如 “3”“58”“4” 等,表示社区的规模大小。是以社区内包含的实体数量作为衡量标准,直观地反映了社区在整个图结构中的占比和重要性程度,有助于快速了解不同社区的规模差异。

2.7 社区报告

根据社区算法的结果,可以将实体划分到不同社区,并基于每个社区的特点生成社区报告。每个社区报告将描述该社区的核心内容、关联的实体、关系以及社区的重要性等信息。
社区报告的基本内容
社区报告通常会包含以下几个方面的信息:

  1. 社区概述(Summary):总结社区的核心主题或共同特征。
  2. 核心实体(Entities):在该社区中,哪些实体是核心实体,即它们在该社区中的重要性较高。
  3. 重要关系(Relationships):该社区中的实体之间有哪些重要关系,关系的性质如何。
  4. 影响力与聚类分析(Influence and Clustering):社区内实体之间的相互影响和聚集情况。
  5. 社区排名与解释(Rank and Explanation):对社区中实体的排名,以及解释它们在社区中的位置或作用。
communities_reports = pd.read_parquet("./output/create_final_community_reports.parquet")
idhuman_readable_idcommunityparentleveltitlesummaryfull_contentrankrank_explanationfindingsfull_content_jsonperiodsize
02f0522e98d6049958ee35fb88b7ebddc00-10Su Shi's Literary CircleThe community centers around prominent figures...# Su Shi's Literary Circle\n\nThe community ce...7.5The impact severity rating is high due to the ...[{'explanation': 'Su Shi is noted for citing t...{\n "title": "Su Shi's Literary Circle",\n ...2025-02-073
1933eeeb93bc4425a87b96d672a5e69b611-10Community of Su Shi and His Historical InfluencesThis community analysis revolves around the pr...# Community of Su Shi and His Historical Influ...8.5The impact severity rating is high due to the ...[{'explanation': '苏轼 (Su Shi) is celebrated fo...{\n "title": "Community of Su Shi and His H...2025-02-0758
2ced276aeaab74a52a3104d309cdac5bc22-10黄州及其关联名胜该社区围绕黄州展开,这是苏轼被贬谪的地方。在此期间,苏轼创作了许多著名作品。黄州及其周边的几...# 黄州及其关联名胜\n\n该社区围绕黄州展开,这是苏轼被贬谪的地方。在此期间,苏轼创作了许...7.5这个社区的重要性在于苏轼及其对中国文化与文学的重大贡献。[{'explanation': '黄州是苏轼被流放的地方,在此期间他创作了许多名作。这里对...{\n "title": "黄州及其关联名胜",\n "summary": "该...2025-02-074
3091d36af27ff462281c84fedf5432a9a33-10苏洵家庭学者群体该社区围绕苏洵及其两位儿子苏轼和苏辙展开,涵盖了他们的生活、教育以及他们在北宋时期的学术成就...# 苏洵家庭学者群体\n\n该社区围绕苏洵及其两位儿子苏轼和苏辙展开,涵盖了他们的生活、教育...8.0此社区中的人物在历史和文化上具备重大影响力,尤其通过二苏的文化传播。[{'explanation': '苏洵不仅是苏轼和苏辙的父亲,更是他们的启蒙导师。庆历八年...{\n "title": "苏洵家庭学者群体",\n "summary": "该...2025-02-077
4b3a3afd68b0f4b2888f765bfd997f08e44-10Su Shi's Achievements during the Jiayou EraThe community revolves around the period known...# Su Shi's Achievements during the Jiayou Era\...7.5The impact severity rating is relatively high ...[{'explanation': 'The Jiayou era, part of the ...{\n "title": "Su Shi's Achievements during ...2025-02-073
56422117f23594d28867cb1ef6f51383355-10The Wutai Shi'an and Related FiguresThe community centers around the historical ev...# The Wutai Shi'an and Related Figures\n\nThe ...8.5The impact severity rating is high due to the ...[{'explanation': 'The Wutai Shi'an is central ...{\n "title": "The Wutai Shi'an and Related ...2025-02-077

以下是对该社区报告各字段信息的详细解读:

  1. title:是对社区主题的概括性描述,如 Su Shi's Literary Circle(苏轼的文学圈子)、黄州及其关联名胜 等。标题能够直观地传达社区的核心内容或研究对象,帮助用户快速了解社区的大致范畴。

  2. summary:对社区内容的简要概括。例如,The community centers around prominent figures...(该社区围绕杰出人物展开……),它提炼了社区的关键信息,包括核心主题、重要事件或人物关系等,让读者在不查看详细内容的情况下,对社区有一个初步的认识。

  3. full_content:社区内容的完整文本表述。以 markdown 格式呈现(如 # Su Shi's Literary Circle\n\nThe community ce...),包含了比 summary 更详细的关于社区的描述,可能涵盖了具体的历史事件、人物事迹、文化背景等内容,为深入了解社区提供全面信息。

  4. rank:对社区的一个量化排名,通常基于一定的评估标准得出,如 7.58.5 等。这个排名反映了社区在某个维度上的重要程度或影响力,可用于对不同社区进行比较和优先级排序。

  5. rank_explanation:对社区排名原因的详细解释。例如,The impact severity rating is high due to the...(由于……影响严重程度评级较高),它说明了赋予该社区特定排名的依据,帮助用户理解排名背后的逻辑和考量因素。

  6. findings:以列表形式呈现的关于社区的重要发现或结论。每个列表项是一个字典,包含 explanation 字段,详细阐述了具体的发现内容,如 {'explanation': 'Su Shi is noted for citing t...'}(苏轼以引用……而闻名),这些发现有助于深入挖掘社区的核心要点和独特之处。

  7. full_content_json:以 JSON 格式存储的社区完整内容。它包含了社区的标题、摘要等信息,以结构化的方式呈现,方便在不同系统或模块之间进行数据交换和解析,同时也便于进行数据的进一步处理和分析。

  8. period:表示与社区相关的时间范围或时间点,如 2025 - 02 - 07。这可能代表社区所涉及事件发生的时间段、社区数据的生成时间等,对于分析社区在特定时间背景下的情况具有重要参考价值。

  9. size:代表社区的规模大小,以数值形式体现(如 3584 等)。这个数值可能表示社区内包含的实体数量、节点数量、相关文档数量等,反映了社区在整个数据集合中的占比和重要性程度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/969788.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TLQ-CN10.0.2.0 (TongLINK/Q-CN 集群)部署指引 (by lqw)

文章目录 安装准备虚拟机部署部署zk集群安装zk集群启动zk集群初始化元数据(zk)关闭zk集群 部署BookKeeper集群安装BookKeeper集群初始化元数据(bk)启动BookKeeper停止 BookKeeper 部署Brokers集群安装Brokers集群启动 broker停止 …

深入剖析推理模型:从DeepSeek R1看LLM推理能力构建与优化

著名 AI 研究者和博主 Sebastian Raschka 又更新博客了。原文地址:https://sebastianraschka.com/blog/2025/understanding-reasoning-llms.html。这一次,他将立足于 DeepSeek 技术报告,介绍用于构建推理模型的四种主要方法,也就是…

【Sceneform-EQR】实现3D场景背景颜色的定制化(背景融合的方式、Filament材质定制)

写在前面的话 Sceneform-EQR是基于(filament)扩展的一个用于安卓端的渲染引擎。故本文内容对Sceneform-EQR与Filament都适用。 需求场景 在使用Filament加载三维场景的过程中,一个3D场景对应加载一个背景纹理。而这样的话,即便…

Visual Studio 2022在配置远程调试服务器时无法连接到OpenEuler24.03

表现为在VS中为OpenEuler24.03创建远程服务器时,界面上直接报主机密钥算法失败,或直接提示无法连接到服务器,导致无法创建远程服务器。 经查询日志发现一些蛛丝马迹 09:25:15.2035105 [Info, Thread 53] liblinux.Local.Services.WslEnumer…

常用架构图:业务架构、产品架构、系统架构、数据架构、技术架构、应用架构、功能架构及信息架构

文章目录 引言常见的架构图I 业务架构图-案例模块功能说明1. 用户界面层 (UI)2. 应用服务层3. 数据管理层4. 基础设施层业务流程图示例技术实现II 功能架构图 -案例功能模块说明1. 船舶监控模块2. 报警管理模块3. 应急响应模块4. 通信管理模块5. 数据分析模块数据管理层基础设施…

【电脑】u盘重装win7

u盘必须8GB以上 1. CPU型号 首先查看CPU的型号看看到底能不能装win7 2. 下载光盘映像文件 网址 看电脑是多少位的机器(32位下载x86 64位下载x64) 一共是这么多个版本按需下载对应的版本 电脑小白推荐无脑下载旗舰版 将链接复制到迅雷进行下载 3. 下载软碟通 网址 下…

Java 大视界 -- 大数据伦理与法律:Java 技术在合规中的作用与挑战(87)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

制造业物联网的十大用例

预计到 2026 年,物联网制造市场价值将达到 4000 亿美元。实时收集和分析来自联网物联网设备与传感器的数据,这一能力为制造商提供了对生产流程前所未有的深入洞察。物联网(IoT)有潜力彻底改变制造业,使工厂能够更高效地…

无法读取配置节“system.web.extensions”,因为它缺少节声明

无法读取配置节“system.web.extensions”,因为它缺少节声明 在IIS配置.net接口时,报错: 无法读取配置节“system.web.extensions”,因为它缺少节声明 解决办法:打开IIS,右键>>管理网站>>高级…

Android Studio:键值对存储sharedPreferences

一、了解 SharedPreferences SharedPreferences是Android的一个轻量级存储工具,它采用的存储结构是Key-Value的键值对方式,类似于Java的Properties,二者都是把Key-Value的键值对保存在配置文件中。不同的是,Properties的文件内容形…

Redis——优惠券秒杀问题(分布式id、一人多单超卖、乐悲锁、CAS、分布式锁、Redisson)

#想cry 好想cry 目录 1 全局唯一id 1.1 自增ID存在的问题 1.2 分布式ID的需求 1.3 分布式ID的实现方式 1.4 自定义分布式ID生成器(示例) 1.5 总结 2 优惠券秒杀接口实现 3 单体系统下一人多单超卖问题及解决方案 3.1 问题背景 3.2 超卖问题的…

easyexcel快速使用

1.easyexcel EasyExcel是一个基于ava的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel 即通过java完成对excel的读写操作&#xff0c; 上传下载 2.easyexcel写操作 把java类中的对象写入到excel表格中 步骤 1.引入依赖 <depen…

数据结构 04

4. 栈 4.2. 链式栈 4.2.1. 特性 逻辑结构&#xff1a;线性结构 存储结构&#xff1a;链式存储结构 操作&#xff1a;创建&#xff0c;入栈&#xff0c;出栈&#xff0c;清空&#xff0c;获取 4.2.2. 代码实现 头文件 LinkStack.h #ifndef __LINKSTACK_H__ #define __LINKST…

LeetCode刷题第7题【整数反转】---解题思路及源码注释

LeetCode刷题第7题【整数反转】—解题思路及源码注释 结果预览 目录 LeetCode刷题第7题【整数反转】---解题思路及源码注释结果预览一、题目描述二、解题思路1、问题理解2、解题思路 三、代码实现及注释1、源码实现2、代码解释 四、执行效果1、时间和空间复杂度分析 一、题目描…

相机闪光灯拍照流程分析

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、Flash 基础知识二、MTK 闪光灯拍照log分析 一、Flash 基础知识 1.1 Flash HAL 场景枚举值 Flash HAL 场景枚举值 1.2 AE AF mode State 枚举值 AE …

给本地模型“投喂“数据

如何训练本地Deepseek-r1:7b模型 在前面两篇文章中&#xff0c;我在自己的电脑的本地部署了Deepseek的7b的模型&#xff0c;并接入到我Chrome浏览器的插件中&#xff0c;使用起来更方便了。在使用的过程中发现7b的推理能力确实没有671满血版本的能力强&#xff0c;很多问题回答…

大脑网络与智力:基于图神经网络的静息态fMRI数据分析方法|文献速递-医学影像人工智能进展

Title 题目 Brain networks and intelligence: A graph neural network based approach toresting state fMRI data 大脑网络与智力&#xff1a;基于图神经网络的静息态fMRI数据分析方法 01 文献速递介绍 智力是一个复杂的构念&#xff0c;包含了多种认知过程。研究人员通…

原生Three.js 和 Cesium.js 案例 。 智慧城市 数字孪生常用功能列表

对于大多数的开发者来言&#xff0c;看了很多文档可能遇见不到什么有用的&#xff0c;就算有用从文档上看&#xff0c;把代码复制到自己的本地大多数也是不能用的&#xff0c;非常浪费时间和学习成本&#xff0c; 尤其是three.js &#xff0c; cesium.js 这种难度较高&#xff…

学习总结三十二

map #include<iostream> #include<map> using namespace std;int main() {//首先创建一个map对象map<int, char>oneMap;//插入数据oneMap.insert(pair<int, char>(1, A));oneMap.insert(make_pair(2,B));oneMap.insert(map<int,char>::value_ty…

AI如何与DevOps集成,提升软件质量效能

随着技术的不断演进&#xff0c;DevOps和AI的融合成为推动软件开发质量提升的重要力量。传统的DevOps已经为软件交付速度和可靠性打下了坚实的基础&#xff0c;而随着AI技术的加入&#xff0c;DevOps流程不仅能提升效率&#xff0c;还能在质量保障、缺陷预测、自动化测试等方面…