2017-04-24 9 views
0

中のnグラムのワードクラウドを取得できません -私はバイグラムのためのワードクラウドを作成しようとしている(と高いNグラム)以下のコードを使用していますR

text_input <- scan("Path/Wordcloud.txt") 
corpus <- Corpus(VectorSource(text_input)) 
corpus.ng = tm_map(corpus,removeWords,c(stopwords(),"s","ve")) 
corpus.ng = tm_map(corpus.ng,removePunctuation) 
corpus.ng = tm_map(corpus.ng,removeNumbers) 
BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2)) 
tdm.bigram = TermDocumentMatrix(corpus.ng,control = list(tokenize = BigramTokenizer)) 
tdm.bigram 
freq = sort(rowSums(as.matrix(tdm.bigram)),decreasing = TRUE) 
freq.df = data.frame(word=names(freq), freq=freq) 
head(freq.df, 20) 
pal=brewer.pal(8,"Blues") 
pal=pal[-(1:3)] 
wordcloud(freq.df$word,freq.df$freq,max.words=100,random.order = F, colors=pal) 

私はいくつかのウェブサイト上で同様のコードを見てきましたnグラムを生成するために使用されていますが、私の出力には1つの単語の組み合わせしかありません。

Plot

コードを順次NGramTokenizer関数に異なる値(2,3,4など)に設定される最小値と最大値の変化に応答していません。 コードで何かが見つからないか、またはコード(tm、ggplot2、wordcloud、RWeka)またはそれらの依存関係(rJavaなど)で呼び出しているライブラリの1つが応答していない可能性がありますか?誰かがこの問題に関するいくつかの指針を投げたり、上記のコードに修正を提案したりすることができれば、本当に感謝しています。

おかげで、 Saibal

+0

VCorpus(VectorSource(TEXT_INPUT)) - 揮発コーパス コーパス<を使用してみてください。最近のR-Bloggersの記事は、米国大統領の就任演説を分析し、バイグラムのためのquantedaパッケージを使用することになった。 – lawyeR

答えて

0

あなたはmentioning the token delimiterを逃しています。

token_delim <- " \\t\\r\\n.!?,;\"()" 
BigramTokenizer <- NGramTokenizer(mycorpus, Weka_control(min=2,max=2, delimiters = token_delim)) 

これは機能するはずです。このことができます https://youtu.be/HellsQ2JF2k

希望:

は、ケースであなたは、この5分間のビデオを確認することができ、作業の例を必要としています。

0

また、コーパス機能を使用する際に問題が発生した人もいます。その他の問題があった

関連する問題