scholar_vit: (knot)
scholar_vit ([personal profile] scholar_vit) wrote2015-04-17 12:24 pm
Entry tags:

Облако Путина после обрезания

Несколько комментаторов предыдущей записи отметили, что из-за грамматических особенностей русского языка формы одного и того же слова попадают в разные категории: Россия, России, Россией подсчитываются отдельно. Полный грамматический анализ — штука сложная. При невнимательности получится как в известном анекдоте про самые частотные глаголы у Михаила Щербаков: "мыть" и "какать". Но есть более простая операция стемминга, она же обрезание, когда у слов отрезают аффиксы. Результат, возможно, более информативен - но для русского языка, увы, менее нагляден.

Пакет 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"))

А вот результат:

[identity profile] kislin.livejournal.com 2015-04-17 04:27 pm (UTC)(link)
Когда-то я обработал похожим способом "Консервативный манифест" Михалкова - http://kislin.livejournal.com/345685.html

[identity profile] old-radist.livejournal.com 2015-04-17 04:53 pm (UTC)(link)
А почему у слова "наш" обрезан префикс?

[identity profile] r-l.livejournal.com 2015-04-17 06:14 pm (UTC)(link)
Да лемматизируйте это дело майстемом, выберите оттуда только имена и глаголы - и получите нормальный материал для облака.

[identity profile] scholar-vit.livejournal.com 2015-04-17 08:30 pm (UTC)(link)
Судя по облаку, иногда и местоимения вполне информативны.

[identity profile] r-l.livejournal.com 2015-04-17 08:33 pm (UTC)(link)
Ну можно и личные местоимения тоже, да.

[identity profile] r-l.livejournal.com 2015-04-17 08:34 pm (UTC)(link)
Но главное, что совершенно не надо резать по квазикорням.

[identity profile] mudrij-phoenix.livejournal.com 2015-04-17 07:22 pm (UTC)(link)
То есть Крым все еще наш

[identity profile] prionik.livejournal.com 2015-04-17 08:39 pm (UTC)(link)
Короче Путин почвенник :)