
Generate Cluster Label Suggestions (Human-in-the-Loop)
Source:R/semantic_analysis.R
generate_cluster_labels.RdSuggests descriptive labels for clusters using AI. Labels are suggestions for human review - users should edit and approve before using. Supports OpenAI, Gemini, or Ollama (local) for AI generation. When running locally, Ollama is preferred for privacy and cost-free operation.
Usage
generate_cluster_labels(
cluster_keywords,
provider = "auto",
model = NULL,
temperature = 0.3,
max_tokens = 50,
api_key = NULL,
verbose = TRUE
)Arguments
- cluster_keywords
List of keywords for each cluster.
- provider
AI provider to use: "auto" (default), "openai", "gemini", or "ollama". "auto" will try Ollama first, then check for OpenAI/Gemini keys.
- model
Model name. If NULL, uses provider defaults: "gpt-4o-mini" (OpenAI), "gemini-2.0-flash" (Gemini), or recommended Ollama model.
- temperature
Temperature parameter (default: 0.3).
- max_tokens
Maximum tokens for response (default: 50).
- api_key
API key for OpenAI or Gemini. If NULL, uses environment variable. Not required for Ollama.
- verbose
Logical, if TRUE, prints progress messages.
See also
Other semantic:
analyze_document_clustering(),
analyze_similarity_gaps(),
calculate_clustering_metrics(),
calculate_cross_similarity(),
calculate_document_similarity(),
calculate_similarity_robust(),
cluster_embeddings(),
cross_analysis_validation(),
export_document_clustering(),
extract_cross_category_similarities(),
fit_semantic_model(),
generate_cluster_labels_auto(),
generate_embeddings(),
reduce_dimensions(),
semantic_document_clustering(),
semantic_similarity_analysis(),
temporal_semantic_analysis(),
validate_cross_models(),
word_co_occurrence_network(),
word_correlation_network()
Examples
if (FALSE) { # \dontrun{
keywords <- list("1" = c("machine", "learning", "neural"), "2" = c("data", "analysis"))
labels_ollama <- generate_cluster_labels(keywords, provider = "ollama")
labels_openai <- generate_cluster_labels(keywords, provider = "openai")
labels_gemini <- generate_cluster_labels(keywords, provider = "gemini")
} # }