1概览
本 notebook 演示如何使用 Semantica 的可视化模块来可视化知识图谱、本体和嵌入。你将学习使用 KGVisualizer、OntologyVisualizer 和 EmbeddingVisualizer。
文档: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 中学习如何检测冲突。