2016-11-27 10 views
0

Сегодня я столкнулся с пакетом text2vec, и это именно то, что мне нужно для конкретной проблемы. Однако мне не удалось выяснить, как экспортировать dtm, созданный с помощью text2vec, в какой-то выходной файл. Моя конечная цель - генерировать функции в R с помощью text2vec и импортировать полученные матрицы в H2O для дальнейшего моделирования. H2O может читать форматы CSV или SVMLight.Напишите text2vec dtm в файл (csv или svmlight)

Первый, который я создал, - 987753 x 8806 sparse Matrix of class "dgCMatrix", with 3625049 entries, поэтому он довольно большой. Невозможно использовать as.matrix(), чтобы записать его в CSV, так как он слишком большой. Я подумал, что я мог бы легко записать его в формате SVMLight, но не смог найти библиотеку, которая работает. У кого-нибудь есть другие возможности для получения этого вывода в файл, который я могу читать в H2O?

ответ

1

Существует несколько пакетов, которые могут это сделать. Взгляните на https://github.com/Laurae2/sparsity - imho наиболее перспективным:

library(text2vec) 
library(sparsity) 
data("movie_review") 
N = 5000 
tokens = movie_review$review[1:N] %>% tolower %>% word_tokenizer 
it = itoken(tokens, progressbar = T) 
dtm = create_dtm(it, hash_vectorizer()) 
write.svmlight(dtm, labelVector = movie_review$sentiment, file = "dtm.svmlight") 
+0

Спасибо. Я наткнулся на некоторые из них (включая этот), и никто из них не работает. Они все бросают какую-то ошибку или другую. –

+0

приятно знать. Я попытаюсь выяснить, в чем проблема. –

+1

@ dave-kincaid все работает нормально - см. Обновленный ответ с примером. Я нашел сообщение об ошибке: https://github.com/felixr/sparsity/issues/1. Проблема заключается в том, что 'labelVector' должен быть числовой целевой переменной. –