R TM -Paket: UTF-8-Text

Ich möchte eine Wortwolke für nicht-englischen Text in utf-8 erstellen (eigentlich ist es in kasachischer Sprache).

Der Text wird in der Prüffunktion des tm-Pakets absolut richtig angezeigt. Wenn ich jedoch nach der Worthäufigkeit suche, wird alles falsch angezeigt:

Das Problem ist, dass der Text mit codierten Zeichen anstelle von Wörtern angezeigt wird. Kyrillische Zeichen werden korrekt angezeigt. Konsequenterweise wird die Wortwolke zu einem völligen Chaos.

Ist es irgendwie möglich, der tm-Funktion eine Codierung zuzuweisen? Ich habe es versuchtdiese, aber der Text alleine ist in Ordnung, das Problem ist mit der Verwendung von TM-Paket.

Ein Beispieltext sei:

Ол арман - әлем елдерімен терезесі теңатынас құрып, әлем картасынан ойып тұрып орын алатын Тәуелын Ол арман - тұрмысы бақуатты, түтіні түзу ұшұан, ұрпағы ертеңіне сеніммен қарайтын бақытты Ел бао. Біз армандарды ақиқатқа айналдырдық. Мәңгілік Елдің іргетасын қаладық. Мен қоқамда «азақ елінің ұлттық идеясы қандай болуы керек? »Деген сауал жиі талқықа түсетініны Біз үшін болашағымызға бағдар ететін, ұлтты ұйыстырып, ұлы мақсаттарға жетелейтін идея бар. Ол - Мәңгілік Ел идеясы. Т .уелсіздікпен бірге халқымыз Мәңгілік Мұраттарына қол жеткізді.

Mein einfacher Code lautet: (Basierend aufonertipaday.blogspot.com Tutorials :)

require(tm)
require(wordcloud)
text<-readLines("text.txt", encoding="UTF-8")
ap.corpus <- Corpus(DataframeSource(data.frame(text)))
ap.corpus <- tm_map(ap.corpus, removePunctuation)
ap.corpus <- tm_map(ap.corpus, tolower)
ap.tdm <- TermDocumentMatrix(ap.corpus)
ap.m <- as.matrix(ap.tdm)
ap.v <- sort(rowSums(ap.m),decreasing=TRUE)
ap.d <- data.frame(word = names(ap.v),freq=ap.v)
table(ap.d$freq)

1  2 
44  4 

findFreqTerms(ap.tdm, lowfreq=2)

[1] "<U+04D9>лем"            "арман"                  "еді"                   
[4] "м<U+04D9><U+04A3>гілік"

Diese Wörter sollten lauten: "Әлем", "арман", "еді", "мәңгілік". Sie werden in korrekt angezeigtinspect(ap.corpus) Ausgabe.

Ich freue mich über jede Hilfe! :)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage