2015-09-08 2 views
1

Je suis nouveau à R et explorer Text Mining. En utilisant les étapes ci-dessous, je pourrais passer à travers jusqu'à stemming cependant, je devrais faire le marquage POS et obtenir le texte/motif de thème. Les données que j'utilise sont le mot à mot du client. S'il vous plaît, aidez-nous à aller plus loin. La plupart des articles que j'ai vérifiés n'expliquent pas comment faire du balisage POS pour les données dans Corpus et je n'ai trouvé aucun détail sur la détection de Pattern. Toute aide serait grandement appréciée ...! Merci d'avance,POS Tagging & Thème/Détection de motif dans R

CSVfile = read.csv("Testfortextcsv.csv",stringsAsFactors = FALSE) 
TestSplit = as.data.frame(sent_detect_nlp(CSVfile$Comment)) 
colnames(TestSplit)[colnames(TestSplit)=="sent_detect_nlp(CSVfile$Comment)"]<- "Comment" 
TestCorpus = Corpus(VectorSource(TestSplit$Comment)) 
TestCorpus = tm_map(TestCorpus, tolower) 
TestCorpus = tm_map(TestCorpus, PlainTextDocument) 
TestCorpus = tm_map(TestCorpus, removePunctuation) 
TestCorpus = tm_map(TestCorpus, removeWords,c("Test",stopwords("SMART"),stopwords("english"))) 
TestCorpus = tm_map(TestCorpus, stripWhitespace) 
TestCorpus = tm_map(TestCorpus, stemDocument) 
dtm <- TermDocumentMatrix(TestCorpus) 
m <- as.matrix(dtm) 
v <- sort(rowSums(m),decreasing=TRUE) 
d <- data.frame(word = names(v),freq=v) 
head(d, 10) 

Cela m'a permis d'obtenir wordcloud, association et un Barplot.


WordCloud 
---------- 
set.seed(1234) 
wordcloud(words = d$word, freq = d$freq, min.freq = 1,max.words=200,random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, 
"Dark2")) 

Find Frequent Terms 
----------------- 
findFreqTerms(dtm, lowfreq = 15) 

Find Association: 
----------------------- 
findAssocs(dtm, terms = "account", corlimit = 0.3) 

Bar Plot for frequencies 
-------------------------- 
barplot(d[1:10,]$freq, las = 2, names.arg = d[1:10,]$word,col ="lightblue", main ="Most frequent words",ylab = "Word frequencies") 

Répondre

1

Le package qdap vous permet d'identifier la partie du discours de chaque mot dans une chaîne .:

library(qdap) 
s1<-c("Hello World") 
pos(s1) 

Vous pouvez trouver d'autres ressources openNLP et RTextTools et another possibility

+0

Merci @avocat . Je pense qu'il a fait l'étiquetage POS, mais je ne suis pas capable de l'exporter vers un fichier csv. Donne moi l'erreur suivante. Erreur dans as.data.frame.default (x [[i]], facultatif = TRUE, stringsAsFactors = stringsAsFactors): ne peut pas contraindre la classe "" pos "" à un data.frame – Pavan

+0

S'il vous plaît quelqu'un jeter un peu de lumière sur Text Theme Pattern /Détection. Merci d'avance – Pavan