← 返回 Semantica 专题首页 🌱 SEMANTICA · COOKBOOK · 入门系列

可视化

Semantica 官方 Cookbook 中文翻译 · 第 16 / 37 篇

📦 semantica 🕸️ 知识图谱 🔎 GraphRAG

1概览

本 notebook 演示如何使用 Semantica 的可视化模块来可视化知识图谱、本体和嵌入。你将学习使用 KGVisualizerOntologyVisualizerEmbeddingVisualizer

文档API 参考

学习目标

  • 使用 KGVisualizer 可视化知识图谱
  • 使用 OntologyVisualizer 可视化本体
  • 使用 EmbeddingVisualizer 可视化嵌入

2安装

从 PyPI 安装 Semantica:

pip install semantica
# 或安装所有可选依赖:
pip install semantica[all]

3步骤 1:知识图谱可视化

可视化知识图谱。

# 安装 semantica 包
!pip install -q semantica
# 构建知识图谱并生成交互式网络可视化
from semantica.visualization import KGVisualizer
from semantica.kg import GraphBuilder

# 创建可视化器与图谱构建器实例
kg_visualizer = KGVisualizer()
builder = GraphBuilder()

# 定义实体列表
entities = [
    {"id": "e1", "type": "Organization", "name": "Apple Inc.", "properties": {}},
    {"id": "e2", "type": "Person", "name": "Tim Cook", "properties": {}}
]

# 定义实体间的关系
relationships = [
    {"source": "e2", "target": "e1", "type": "CEO_of", "properties": {}}
]

# 构建知识图谱
kg = builder.build(entities, relationships)

# 生成交互式网络可视化
visualization = kg_visualizer.visualize_network(kg, output="interactive")

4步骤 2:本体可视化

可视化本体。

from semantica.visualization import OntologyVisualizer
from semantica.ontology import OntologyGenerator

ontology_visualizer = OntologyVisualizer()
# 使用 min_occurrences=1 初始化生成器,以允许单实例类
generator = OntologyGenerator(min_occurrences=1)

# 使用正确的方法签名(字典输入)生成本体
ontology = generator.generate_ontology({"entities": entities, "relationships": relationships})

# 可视化层级结构
visualization = ontology_visualizer.visualize_hierarchy(ontology, output="interactive")

5步骤 3:嵌入可视化

可视化嵌入。

# 生成文本嵌入并可视化其二维投影
from semantica.visualization import EmbeddingVisualizer
from semantica.embeddings import EmbeddingGenerator
import numpy as np

# 创建嵌入可视化器与生成器实例
embedding_visualizer = EmbeddingVisualizer()
generator = EmbeddingGenerator()

# 待嵌入的文本列表
texts = ["Apple Inc.", "Microsoft Corporation", "Amazon"]
# 生成文本嵌入
embeddings = generator.generate_embeddings(texts, data_type="text")
# 为每个嵌入指定显示标签
labels = ["Apple", "Microsoft", "Amazon"]

# 使用 UMAP 降维并绘制二维投影
visualization = embedding_visualizer.visualize_2d_projection(embeddings, labels, method="umap")

6步骤 4:语义网络可视化

可视化语义网络:结构、节点类型和边类型。

from semantica.visualization import SemanticNetworkVisualizer

# 初始化(使用新默认值:Vibrant 配色、Kamada-Kawai 布局)
viz = SemanticNetworkVisualizer()

# 你的语义网络数据
semantic_network = {
    "nodes": [
        {"id": "n1", "label": "Python", "type": "Language"},
        {"id": "n2", "label": "Code", "type": "Concept"}
    ],
    "edges": [
        {"source": "n1", "target": "n2", "label": "writes"}
    ]
}

# 这将在 notebook 单元格中显示交互式图
viz.visualize_network(
    semantic_network, 
    output="html", 
    file_path="network_graph.html"
)

7小结

你已经学习了如何可视化数据:

  • KGVisualizer:可视化知识图谱
  • OntologyVisualizer:可视化本体
  • EmbeddingVisualizer:可视化嵌入,多模态
  • SemanticNetworkVisualizer:可视化语义网络结构和类型分布

下一步:在 Conflict_Detection notebook 中学习如何检测冲突。