🧩 Semantic Keyword Clustering

🏠 Back to Home

✨ Paste a list of keywords and let AI group them by meaning. Embeddings capture what each keyword is about, and HDBSCAN discovers the groups on its own — you don't pick the number of clusters, and keywords that don't fit anywhere are set aside as "ungrouped".

⚙️ Fine-tune (optional)

Leave these blank to use the preset above. Each maps to an HDBSCAN setting.

The fewest keywords that count as a group. Higher = fewer, larger groups. (min_cluster_size)

Higher values are stricter and push more borderline keywords into "ungrouped". (min_samples)

Higher merges groups whose keywords are very close in meaning. Slide left of 0 to use the preset. (cluster_selection_epsilon)

"Fine-grained" tends to produce more, smaller groups. (cluster_selection_method)

🚀 How to Use (API)

POST to /semantic-keywords-clustering:

{
    "keywords": ["cheap running shoes", "marathon training plan", "sourdough recipe"],
    "model": "all-MiniLM-L6-v2",
    "preset": "balanced"
}

preset: broad | balanced (default) | specific. You may override any of min_cluster_size, min_samples, cluster_selection_epsilon, cluster_selection_method.

The response includes summary, clusters (each with a representative label), noise (ungrouped keywords), and 2-D points for plotting.