/ / Обробка символьних даних нейронних мереж - r, нейронна мережа

Нейронні мережі, що обробляють дані персонажів - r, нейронна мережа

Я роблю базовий експеримент у аналізі настроїв за допомогою бібліотеки пакетів нейронних мереж (neuralnet)

the structure of my data is as follows:
"data.frame":   4442 obs. of  2 variables:
$ comment_text: chr  "really briliant apptit"s intuitive and informative giving all the information you could need and seemingly very accurate." "will not connect to gpstapp does not connect to gps no matter how long i have it on. i have gps set on high ac"| __truncated__ "wish this would interest more with google now to provide weekly or monthly summaries." "uselesstdoes not talk to gps on the phone. 20 minute run no data." ...
$ rating      : int  5 1 5 1 4 5 4 3 4 5 ...

Я занурюю ці дані в навчальну і тестувальну частину і запускаю прогноз нейронних мереж так:

senti_train <- nnsenti[1:3499, ]
senti_test <- nnsenti[3500:4443, ]
library(neuralnet)
neuralmodel <- neuralnet(rating ~ comment_text, data=senti_train)
plot(neuralmodel)

після запуску це дає мені цю помилку

Error in neurons[[i]] %*% weights[[i]] :
requires numeric/complex matrix/vector arguments

Як вирішити це як текст є важливою частиною

Я виділив текстові дані, очистив текст за допомогою пакета tm і оновив код таким чином:

nnsenti$comment_text <- VCorpus(VectorSource(nnsenti$comment_text))


#Text Cleaning
nnsenti$comment_text <- tm_map(nnsenti$comment_text,content_transformer(tolower))
nnsenti$comment_text <- tm_map(nnsenti$comment_text, removeNumbers)
nnsenti$comment_text <- tm_map(nnsenti$comment_text, removePunctuation)
nnsenti$comment_text <- tm_map(nnsenti$comment_text, removeWords,stopwords("english"))
nnsenti$comment_text <- tm_map(nnsenti$comment_text, removeWords,c("please","sad")) #Additional words
nnsenti$comment_text <- tm_map(nnsenti$comment_text, stripWhitespace)
senti_train <- nnsenti[1:3499, ]
senti_test <- nnsenti[3500:4443, ]

library(neuralnet)
neuralmodel <- neuralnet(rating ~ comment_text, data=senti_train)

Тепер я отримую цю помилку

Error in model.frame.default(formula.reverse, data) :
invalid type (list) for variable "comment_text"

Відповіді:

0 для відповіді № 1

Схоже, ви не стандартизуєте свої дані. Ваші дані повинні, принаймні, подаватися в чисельно в нейронну мережу, а ще краще між певним діапазоном (переважно -1,1 або 0,1)

Можна нормалізувати використання тексту одноканальне кодування. Нормалізувати значення (наприклад, рейтинги), розділивши їх на деяке максимальне значення. Максимальний рейтинг = 10, тому поділіть всі рейтинги на 10.