Облако Путина после обрезания
Apr. 17th, 2015 12:24 pmНесколько комментаторов предыдущей записи отметили, что из-за грамматических особенностей русского языка формы одного и того же слова попадают в разные категории: Россия, России, Россией подсчитываются отдельно. Полный грамматический анализ — штука сложная. При невнимательности получится как в известном анекдоте про самые частотные глаголы у Михаила Щербаков: "мыть" и "какать". Но есть более простая операция стемминга, она же обрезание, когда у слов отрезают аффиксы. Результат, возможно, более информативен - но для русского языка, увы, менее нагляден.
Пакет SnowballC для R умеет делать обрезание на датском, голландском, английском, финском, французском, немецком, венгерском, итальянском, норвежском, португальском, румынском, русском, испанском, шведском и турецком языках.
Вот программа для расчета облака с обрезанием:
library("tm")
library("wordcloud")
putin <- Corpus(DirSource(pattern="putin.txt"))
putin <- tm_map(putin,content_transformer(tolower))
putin <- tm_map(putin,removePunctuation)
putin <- tm_map(putin,stripWhitespace)
putin <- tm_map(putin,removeWords,stopwords("russian"))
putin <- tm_map(putin, stemDocument, language="russian")
putin <- tm_map(putin,removeWords,c("владимир",
"владимирович",
"путин",
"мситтел",
"кклеймён",
"клеймён",
"впутин",
"это",
"вопрос",
"ещё",
"очен",
"котор"))
wordcloud(putin, max.words=200,
scale=c(5,0.5),
random.order=FALSE,
use.r.layout=FALSE,
colors=brewer.pal(8, "Dark2"))
А вот результат:
no subject
Date: 2015-04-17 04:27 pm (UTC)no subject
Date: 2015-04-17 04:53 pm (UTC)no subject
Date: 2015-04-17 06:14 pm (UTC)no subject
Date: 2015-04-17 08:30 pm (UTC)no subject
Date: 2015-04-17 08:33 pm (UTC)no subject
Date: 2015-04-17 08:34 pm (UTC)no subject
Date: 2015-04-17 07:22 pm (UTC)no subject
Date: 2015-04-17 08:39 pm (UTC)