R/object-builder.R

Defines functions build_lsa build_doc2vec build_word2vec

build_word2vec <- function(...) {
    
    args <- list(...)
    result <- list(
        values = list(),
        weights = NULL,
        type = NULL,
        dim = 50,
        frequency = NULL,
        window = NULL,
        iter = NULL,
        alpha = NULL,
        use_ns = NULL,
        ns_size = NULL,
        sample = NULL,
        normalize = NULL,
        min_count = 5,
        tolower = TRUE,
        concatenator = "_",
        call = NULL,
        version = utils::packageVersion("wordvector")
    )
    for (m in intersect(names(result), names(args$model)))
        result[m] <- args$model[m]
    for (n in intersect(names(result), names(args)))
        result[n] <- args[n]
    class(result) <- c("textmodel_word2vec", "textmodel_wordvector")
    return(result)
}

build_doc2vec <- function(...) {
    
    args <- list(...)
    result <- list(
        values = list(),
        weights = NULL,
        type = NULL,
        dim = 50,
        frequency = NULL,
        window = NULL,
        iter = NULL,
        alpha = NULL,
        use_ns = NULL,
        ns_size = NULL,
        sample = NULL,
        normalize = NULL,
        min_count = 5,
        tolower = TRUE,
        concatenator = "_",
        docvars = data.frame(),
        ntoken = NULL,
        call = NULL,
        version = utils::packageVersion("wordvector")
    )
    for (m in intersect(names(result), names(args$model)))
        result[m] <- args$model[m]
    for (n in intersect(names(result), names(args)))
        result[n] <- args[n]
    if ("docname" %in% names(args))
        rownames(result$values$doc) <- args$docname
    class(result) <- c("textmodel_doc2vec", "textmodel_wordvector")
    return(result)
}


build_lsa <- function(...) {
    
    args <- list(...)
    result <- list(
        values = list(),
        dim = 50,
        frequency = NULL,
        engine = NULL,
        weight = NULL,
        min_count = 5,
        tolower = TRUE,
        concatenator = "_",
        call = try(match.call(sys.function(-1), call = sys.call(-1)), silent = TRUE),
        version = utils::packageVersion("wordvector")
    )
    for (m in intersect(names(result), names(args$model)))
        result[m] <- args$model[m]
    for (n in intersect(names(result), names(args)))
        result[n] <- args[n]
    class(result) <- c("textmodel_lsa", "textmodel_wordvector")
    return(result)
}

Try the wordvector package in your browser

Any scripts or data that you put into this service are public.

wordvector documentation built on Oct. 8, 2026, 9:11 a.m.