Files

6.2 KiB

Open In Colab

Visualization

Overview

This notebook demonstrates how to visualize knowledge graphs, ontologies, and embeddings using Semantica's visualization modules. You'll learn to use KGVisualizer, OntologyVisualizer, and EmbeddingVisualizer.

Documentation: API Reference

Learning Objectives

  • Use KGVisualizer to visualize knowledge graphs
  • Use OntologyVisualizer to visualize ontologies
  • Use EmbeddingVisualizer to visualize embeddings

Installation

Install Semantica from PyPI:

pip install semantica
# Or with all optional dependencies:
pip install semantica[all]

Step 1: Knowledge Graph Visualization

Visualize knowledge graphs.

In [ ]:
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")

Step 2: Ontology Visualization

Visualize ontologies.

In [ ]:
from semantica.visualization import OntologyVisualizer
from semantica.ontology import OntologyGenerator

ontology_visualizer = OntologyVisualizer()
generator = OntologyGenerator()

ontology = generator.generate(entities, relationships)

visualization = ontology_visualizer.visualize_hierarchy(ontology, output="interactive")

Step 3: Embedding Visualization

Visualize embeddings.

In [ ]:
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"]

visualization = embedding_visualizer.visualize_2d_projection(embeddings, labels, method="umap")

Step 4: Semantic Network Visualization

Visualize semantic networks: structure, node types, and edge types.

In [ ]:
from semantica.visualization import SemanticNetworkVisualizer

semantic_network = {
    "nodes": [
        {"id": "n1", "label": "Node 1", "type": "Entity"},
        {"id": "n2", "label": "Node 2", "type": "Entity"}
    ],
    "edges": [
        {"source": "n1", "target": "n2", "label": "related_to"}
    ]
}

sem_viz = SemanticNetworkVisualizer()
sem_viz.visualize_network(semantic_network, output="interactive")
sem_viz.visualize_node_types(semantic_network, output="interactive")
sem_viz.visualize_edge_types(semantic_network, output="interactive")

Step 5: Advanced Embedding Visualization

Compare multi-modal embeddings and assess embedding quality.

In [ ]:
import numpy as np
from semantica.visualization import EmbeddingVisualizer

# Synthetic multi-modal embeddings (text, image, audio)
text_emb = np.random.rand(50, 128)
image_emb = np.random.rand(50, 128)
audio_emb = np.random.rand(50, 128)

emb_viz = EmbeddingVisualizer()
emb_viz.visualize_multimodal_comparison(text_emb, image_emb, audio_emb, output="interactive")

# Embedding quality metrics
quality_fig = emb_viz.visualize_quality_metrics(text_emb, output="interactive")

Summary

You've learned how to visualize data:

  • KGVisualizer: Visualize knowledge graphs
  • OntologyVisualizer: Visualize ontologies
  • EmbeddingVisualizer: Visualize embeddings, multi-modal and quality metrics
  • SemanticNetworkVisualizer: Visualize semantic network structure and type distributions

Next: Learn how to detect conflicts in the Conflict_Detection notebook.