Как получить rword2vec для загрузки файла поезда из глобальной среды - PullRequest
0 голосов
/ 16 июня 2019

В пакете R rword2vec для файла поезда я хочу использовать корпус, который уже находится внутри глобальной среды.Кажется, что это должно быть возможно, но я не могу понять это.В настоящее время я должен записать корпус в текстовый файл, а затем вызвать его в функцию word2vec следующим образом:

library(tm)
library(rword2vec)
removeURL <- function(x) gsub("http:[[:alnum:]]*", "", x)
processCorpus <- function (corpus)
{
  corpus <- tm_map(corpus, content_transformer(removeURL))
  corpus <- tm_map(corpus, content_transformer(tolower))
  corpus <- tm_map(corpus, removeNumbers)
  corpus <- tm_map(corpus, removePunctuation, preserve_intra_word_dashes = TRUE)
  corpus <- tm_map(corpus, removeWords, stopwords("english"))
  corpus <- tm_map(corpus, stemDocument, language = "english")
  corpus <- tm_map(corpus, stripWhitespace)
  corpus <- tm_map(corpus, function (x) {
    gsub("\\s*(?<!\\B|-)\\d+(?!\\B|-)\\s*", "", x, perl = TRUE) })
  corpus <- tm_map(corpus, str_trim)
  return (corpus)
}

# corpus_file_path <- ...
# corpus_file_path_2 <- ...

df_corpus <- read.table(corpus_file_path)
corpus <- Corpus(VectorSource(df_corpus$x))
corpus <- processCorpus(corpus)
write.table(corpus$content, corpus_file_path_2, sep = "\t")
model <- word2vec(train_file = corpus_file_path_2, output_file = "vec.bin", binary = 1, num_threads = 128)

Вместо

model <- word2vec(train_file = corpus_file_path_2, output_file = "vec.bin", binary = 1, num_threads = 128)

кажется, что я долженбыть в состоянии сделать что-то вроде

model <- word2vec(train_file = corpus$content, output_file = "vec.bin", binary = 1, num_threads = 128)
...