I have the following dataframe made of English and Hindi texts I want to read the hindi texts in R
Click Percentage Email_Subject
18.12807882 तेजस्वी गैलेक्सी ए 7 (2016) बस 1856 रुपए प्रति माह से शुरू खरीदें
11.91957875 तेजस्वी गैलेक्सी ए 7 (2016) बस 1856 रुपए प्रति माह से शुरू खरीदें
0 तेजस्वी गैलेक्सी ए 5 (2016) बस 1634 रुपए प्रति माह से शुरू खरीदें
9.523809524 खेल परिवर्तक यहाँ है।
6.789250354 एक फोन अपने समय से आगे जा सकता है।
How do I create a term document matrix in Hindi(Or any Non English Language, like thai). I have tried the tm package with this code
text<-dataframe$Email_Subject
mycorpus<-Corpus(VectorSource(text))
mycorpus<-tm_map(mycorpus, tolower)
mycorpus<-tm_map(mycorpus, removeNumbers)
#mycorpus<-tm_map(mycorpus, removeWords, c(stopwords("hindi")))
mycorpus
dtm<-TermDocumentMatrix(mycorpus)
m<-as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
list(d1=d)
This however doesn't generate the term document matrix
You could do as follows:
library(udpipe)
x <- data.frame(Email_Subject = c("तेजस्वी गैलेक्सी ए 7 (2016) बस 1856 रुपए प्रति माह से शुरू खरीदें",
"तेजस्वी गैलेक्सी ए 7 (2016) बस 1856 रुपए प्रति माह से शुरू खरीदें",
"तेजस्वी गैलेक्सी ए 5 (2016) बस 1634 रुपए प्रति माह से शुरू खरीदें",
"खेल परिवर्तक यहाँ है।",
"एक फोन अपने समय से आगे जा सकता है।"),
stringsAsFactors = FALSE)
ud_model <- udpipe_download_model(language = "hindi")
ud_model <- udpipe_load_model(ud_model$file_model)
anno <- udpipe_annotate(ud_model, x$Email_Subject)
anno <- as.data.frame(anno)
anno <- subset(anno, upos %in% c("NOUN", "PRON", "ADJ"))
dtm <- document_term_frequencies(anno[, c("doc_id", "lemma")])
dtm <- document_term_matrix(dtm)