% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/semantic_analysis.R
\name{fit_semantic_model}
\alias{fit_semantic_model}
\title{Fit Semantic Model}
\usage{
fit_semantic_model(
  texts,
  analysis_types = c("similarity", "dimensionality_reduction", "clustering"),
  document_feature_type = "embeddings",
  similarity_method = "cosine",
  use_embeddings = TRUE,
  embedding_model = "all-MiniLM-L6-v2",
  dimred_method = "UMAP",
  clustering_method = "umap_dbscan",
  n_components = 2,
  n_clusters = 5,
  seed = 123,
  verbose = TRUE
)
}
\arguments{
\item{texts}{A character vector of texts to analyze.}

\item{analysis_types}{Types of analysis to perform: "similarity", "dimensionality_reduction", "clustering".}

\item{document_feature_type}{Feature extraction type (default: "embeddings").}

\item{similarity_method}{Similarity calculation method (default: "cosine").}

\item{use_embeddings}{Logical, use embedding-based approaches (default: TRUE).}

\item{embedding_model}{Sentence transformer model name (default: "all-MiniLM-L6-v2").}

\item{dimred_method}{Dimensionality reduction method: "PCA", "t-SNE", "UMAP" (default: "UMAP").}

\item{clustering_method}{Clustering method: "kmeans", "hierarchical", "umap_dbscan" (default: "umap_dbscan").}

\item{n_components}{Number of dimensions for reduction (default: 2).}

\item{n_clusters}{Number of clusters (default: 5).}

\item{seed}{Random seed for reproducibility (default: 123).}

\item{verbose}{Logical, if TRUE, prints progress messages.}
}
\value{
A list containing results from requested analyses.
}
\description{
Performs semantic analysis including similarity, dimensionality reduction,
and clustering. This is a high-level wrapper function.
}
\examples{
if (interactive()) {
  data(SpecialEduTech)
  texts <- SpecialEduTech$abstract[1:10]

  results <- fit_semantic_model(
    texts = texts,
    analysis_types = c("similarity", "clustering")
  )

  print(results)
}
}
\concept{semantic}
