rm(list = ls())
date()
## [1] "Sun Sep 22 17:35:41 2019"
sessionInfo()
## R version 3.5.1 (2018-07-02)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS 10.14.6
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## loaded via a namespace (and not attached):
## [1] compiler_3.5.1 magrittr_1.5 tools_3.5.1 htmltools_0.3.6
## [5] yaml_2.2.0 Rcpp_1.0.0 stringi_1.2.4 rmarkdown_1.11
## [9] knitr_1.21 stringr_1.3.1 xfun_0.4 digest_0.6.18
## [13] evaluate_0.12
Библиотеки
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(quanteda)
## Warning: package 'quanteda' was built under R version 3.5.2
## Package version: 1.4.3
## Parallel computing: 2 of 4 threads used.
## See https://quanteda.io for tutorials and examples.
##
## Attaching package: 'quanteda'
## The following object is masked from 'package:utils':
##
## View
library(ggplot2)
#library(stringr)
Загрузка корпусов
load(file = "ToleranceS.RData")
ndoc(ToleranceS)
## [1] 51
Токенизация
TokensTolerance <- tokens(ToleranceS, what = "fastestword")
Все слова, использованные более чем в одном тексте (существительные, глаголы и прилагательные)
TokensTolerance %>%
tokens_keep(pattern = c("*_A", "*_V", "*_S")) %>%
dfm() %>%
textplot_wordcloud(max_words = 1000, rotation = 0, min_count = 2)
Слова использованные как минимум три раза
set.seed(100)
TokensTolerance %>%
tokens_keep(pattern = "*_S") %>%
dfm() %>%
textplot_wordcloud(max_words = 50, min_size = 1, rotation = 0)
Список слов, которые появились более чем в одном тексте
frequency - частота встречаемости слова rank - ранг частоты docfreq - количество текстов, где встречается это слов
TokensTolerance %>%
tokens_keep(pattern = "*_S") %>%
dfm() %>%
textstat_frequency() %>%
filter(docfreq > 2) %>%
arrange(desc(docfreq)) %>%
select(-group)
## feature frequency rank docfreq
## 1 человек_s 64 1 38
## 2 отношение_s 21 2 18
## 3 уважение_s 16 3 16
## 4 терпимость_s 13 4 13
## 5 жизнь_s 8 7 8
## 6 мнение_s 9 5 7
## 7 принятие_s 7 8 7
## 8 толерантность_s 7 8 7
## 9 умение_s 9 5 5
## 10 поведение_s 5 10 5
## 11 качество_s 5 10 4
## 12 раса_s 4 12 4
## 13 образ_s 4 12 4
## 14 понимание_s 4 12 4
## 15 т_s 4 12 4
## 16 ситуация_s 4 12 4
## 17 мир_s 4 12 4
## 18 особенность_s 4 12 4
## 19 взгляд_s 4 12 3
## 20 выбор_s 4 12 3
## 21 вкус_s 3 21 3
## 22 любовь_s 3 21 3
## 23 д_s 3 21 3
## 24 мировоззрение_s 3 21 3
## 25 общество_s 3 21 3
## 26 интерес_s 3 21 3
## 27 недостаток_s 3 21 3
## 28 личность_s 3 21 3
## 29 предпочтение_s 3 21 3
Слова использованные как минимум три раза
set.seed(100)
TokensTolerance %>%
tokens_keep(pattern = "*_V") %>%
dfm() %>%
textplot_wordcloud(max_words = 50, min_size = 1, rotation = 0)
Список слов, которые появились более чем в одном тексте
TokensTolerance %>%
tokens_keep(pattern = "*_V") %>%
dfm() %>%
textstat_frequency() %>%
filter(docfreq > 1) %>%
arrange(desc(docfreq)) %>%
select(-group)
## feature frequency rank docfreq
## 1 принимать_v 9 1 7
## 2 быть_v 9 1 7
## 3 уважать_v 6 3 6
## 4 относиться_v 6 3 6
## 5 понимать_v 5 5 4
## 6 нравиться_v 3 6 3
## 7 мочь_v 3 6 3
## 8 любить_v 2 8 2
## 9 казаться_v 2 8 2
## 10 унижать_v 2 8 2
## 11 вести_v 2 8 2
## 12 чувствовать_v 2 8 2
## 13 отличаться_v 2 8 2
## 14 знать_v 2 8 2
## 15 терпеть_v 2 8 2
## 16 использовать_v 2 8 2
## 17 значить_v 2 8 2
## 18 уметь_v 2 8 2
## 19 осуждать_v 2 8 2
Слова использованные как минимум три раза
set.seed(100)
TokensTolerance %>%
tokens_keep(pattern = "*_A") %>%
dfm() %>%
textplot_wordcloud(max_words = 50, min_size = 1, rotation = 0)
Список слов, которые появились более чем в одном тексте
TokensTolerance %>%
tokens_keep(pattern = "*_A") %>%
dfm() %>%
textstat_frequency() %>%
filter(docfreq > 1) %>%
arrange(desc(docfreq)) %>%
select(-group)
## feature frequency rank docfreq
## 1 уважительный_a 6 1 6
## 2 равный_a 5 2 4
## 3 внешний_a 4 3 4
## 4 толерантный_a 4 3 4
## 5 чужой_a 4 3 3
## 6 терпимый_a 3 6 3
## 7 правильный_a 2 7 2
## 8 собственный_a 2 7 2
## 9 человеческий_a 2 7 2
## 10 похожий_a 2 7 2
## 11 положительный_a 2 7 2
## 12 национальный_a 2 7 2
## 13 внутренний_a 2 7 2
## 14 снисходительный_a 2 7 2