Keyword Clusterer

Group keywords by semantic similarity and search intent using embeddings and clustering algorithms.

Stable v1.0 Production ready

Overview

Transform your keyword lists from chaotic spreadsheets into organized, actionable clusters. Our Keyword Clusterer uses advanced NLP and machine learning to group keywords by semantic similarity and search intent, helping you build better content strategies.

Perfect for

  • Content planning and strategy
  • PPC campaign organization
  • Site architecture planning
  • Competitive analysis

Performance Stats

1M+
Keywords clustered
92%
Clustering accuracy
3.2s
Avg. processing time
800+
Active users

Features

Multiple Algorithms

Choose from K-means, DBSCAN, hierarchical clustering, or let our system auto-select the best approach.

scikit-learn Auto-optimization

Semantic Understanding

Uses OpenAI embeddings to understand true keyword meaning, not just surface-level text similarity.

OpenAI text-embedding-3

Intent Classification

Automatically categorizes clusters by search intent: informational, navigational, transactional, commercial.

NLP Intent AI

Visual Clustering

Interactive 2D and 3D visualizations help you understand cluster relationships and quality.

t-SNE Plotly

Batch Processing

Handle large keyword lists (10K+ keywords) with efficient parallel processing and progress tracking.

Async Multiprocessing

Export Options

Export results to CSV, Excel, Google Sheets, or JSON with customizable formatting and metadata.

Multiple formats API integration

Usage Examples

Basic Clustering

from voidseo import KeywordClusterer

clusterer = KeywordClusterer()

# Load keywords
keywords = [
    "best running shoes",
    "top athletic footwear", 
    "marathon training tips",
    "how to run faster",
    "running shoe reviews"
]

# Cluster automatically
clusters = clusterer.cluster(keywords)

# Export results
clusterer.export_csv(clusters, 'keyword_clusters.csv')

Advanced Configuration

# Custom clustering parameters
clusters = clusterer.cluster(
    keywords,
    algorithm='dbscan',
    min_samples=3,
    eps=0.3,
    include_intent=True,
    visualize=True
)

# Get cluster statistics
stats = clusterer.get_cluster_stats(clusters)
print(f"Silhouette score: {stats['silhouette']}")
print(f"Number of clusters: {stats['n_clusters']}")

# Visualize results
clusterer.plot_clusters(clusters, method='tsne')

Clustering Methods

K-means

Best for: Large datasets with roughly equal cluster sizes

Pros: Fast, scalable, consistent results

Cons: Requires pre-defining number of clusters

n_clusters, init, max_iter

DBSCAN

Best for: Datasets with noise and varying cluster densities

Pros: Finds clusters automatically, handles noise well

Cons: Sensitive to parameters, struggles with varying densities

eps, min_samples, metric

Hierarchical

Best for: Understanding cluster relationships and nested structures

Pros: Creates cluster hierarchy, no need to specify cluster count

Cons: Computationally expensive for large datasets

linkage, distance_threshold, n_clusters

Auto-Select

Best for: When you're unsure which method to use

Pros: Tests multiple methods and selects the best performing one

Cons: Takes longer as it runs multiple algorithms

evaluation_metric, methods_to_test

Real-world Examples

E-commerce Site Architecture

Challenge: Online retailer had 50,000 product keywords with no clear organization.

Solution: Used hierarchical clustering to create a 3-level category structure.

Result: Improved site navigation, 34% increase in organic traffic, better internal linking.

Content Marketing Strategy

Challenge: SaaS company needed to prioritize content creation from 5,000 target keywords.

Solution: Clustered by intent and semantic similarity, then prioritized by search volume.

Result: Created 25 pillar pages covering 80% of keywords, doubled organic leads.

Try Keyword Clusterer

Ready to organize your keyword chaos?