rm(list = ls())
date()
## [1] "Thu Nov  7 14:57:15 2019"
sessionInfo()
## R version 3.6.1 (2019-07-05)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS Catalina 10.15.1
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.6/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.6.1  magrittr_1.5    tools_3.6.1     htmltools_0.3.6
##  [5] yaml_2.2.0      Rcpp_1.0.2      stringi_1.4.3   rmarkdown_1.16 
##  [9] knitr_1.25      stringr_1.4.0   xfun_0.10       digest_0.6.21  
## [13] evaluate_0.14

Библиотеки

library(quanteda)
## Package version: 1.5.1
## 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(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(ggplot2)
library(stringr)
library(magrittr)

Импорт данных создаются в скрипете Matrix_by_sentence.Rmd

load(file = "Corpus_S2.RData")
load(file = "Tokens_S2.RData")

Разметка корпуса по моральным предолжениям

Поиск нравственных токенов Берём все слова, с корнем “мораль” и “нравств”, “этик” и “идеал”

не берём слова “поэтичный_a”

MoralTypes <- Tokens_S2 %>% 
        types() %>% 
        str_subset("нравств|морал|(эти)[кч].|идеал") %>% 
        extract(. != "поэтичный_A")
MoralTypes
##  [1] "этичность_S"             "моральный_A"            
##  [3] "идеал_S"                 "морально_ADV"           
##  [5] "нравственность_S"        "мораль_S"               
##  [7] "идеальный_A"             "нравственный_A"         
##  [9] "этика_S"                 "безнравственный_A"      
## [11] "этически_ADV"            "этический_A"            
## [13] "моральность_S"           "аморально_ADV"          
## [15] "этикет_S"                "морализм_S"             
## [17] "идеализировать_V"        "идеально_ADV"           
## [19] "морально-нравственный_A" "безнравственность_S"    
## [21] "аморальный_A"            "неэтичность?_S"         
## [23] "экоэтика?_S"

Добавление морального docvars и создание нового токенизатора

Corpus_S2m <- Corpus_S2
docvars(Corpus_S2m, field = "moral") <- Corpus_S2m %>% 
        texts() %>% 
        str_detect(pattern = paste0(MoralTypes, collapse = "|"))
#docvars(Corpus_S2)

Tokens_S2m <- tokens(Corpus_S2m, what = "fastestword")

Статистика

Количество предложений (Всего и с моральными словами) Объем корпуса в словах (Всего и подкорпус предолжений с моральными словами) Количество лемм (всего и в подкорпусе с моральными словами)

Tokens_S2m %>% 
{
  a1 <- ndoc(.)
  b1 <- sum(ntoken(.))
  c1 <- {.} %>% 
    dfm() %>% 
    nfeat()
  
  a2 <- ndoc(tokens_subset(. , moral == TRUE))
  b2 <- sum(ntoken(tokens_subset(., moral == TRUE)))
  c2 <- {.} %>% 
    tokens_subset(moral == TRUE) %>% 
    dfm() %>% 
    nfeat()
  
  d <- data.frame(All = c(a1, b1, c1), Moral = c(a2, b2, c2)) 
  d <- mutate(d, ratio = Moral / All)
  row.names(d) <- c("предложения", "слова", "леммы")
  d
}
##                All Moral      ratio
## предложения  10036   211 0.02102431
## слова       160044  4655 0.02908575
## леммы         8562  1210 0.14132212
Tokens_S2m %>% 
        tokens_keep(pattern = c("*_s", "*_v", "*_a", "*_adv")) %>%
        dfm() %>% 
        textstat_frequency(n = 20, groups = "moral")
##             feature frequency rank docfreq group
## 1         природа_s      4220    1    3706 FALSE
## 2         человек_s      4032    2    3613 FALSE
## 3            быть_v      1369    3    1198 FALSE
## 4            мочь_v      1080    4    1017 FALSE
## 5       отношение_s       973    5     895 FALSE
## 6           жизнь_s       611    6     563 FALSE
## 7        животное_s       575    7     545 FALSE
## 8             мир_s       547    8     519 FALSE
## 9         должный_a       547    8     511 FALSE
## 10      позволять_v       496   10     466 FALSE
## 11            лес_s       479   11     452 FALSE
## 12      природный_a       477   12     453 FALSE
## 13         ресурс_s       469   13     447 FALSE
## 14          среда_s       464   14     439 FALSE
## 15    становиться_v       435   15     421 FALSE
## 16          земля_s       415   16     410 FALSE
## 17     окружающий_a       412   17     398 FALSE
## 18        планета_s       398   18     384 FALSE
## 19        можно_adv       390   19     378 FALSE
## 20           вода_s       388   20     348 FALSE
## 21        природа_s       117    1      87  TRUE
## 22        человек_s       113    2      88  TRUE
## 23      отношение_s        89    3      70  TRUE
## 24      моральный_a        54    4      54  TRUE
## 25   нравственный_a        49    5      45  TRUE
## 26           быть_v        29    6      27  TRUE
## 27         делать_v        27    7      15  TRUE
## 28      идеальный_a        26    8      26  TRUE
## 29        правило_s        25    9      17  TRUE
## 30 нравственность_s        24   10      24  TRUE
## 31         мораль_s        24   10      23  TRUE
## 32       развитие_s        22   12      20  TRUE
## 33  экологический_a        22   12      16  TRUE
## 34            мир_s        18   14      18  TRUE
## 35       основной_a        18   14      18  TRUE
## 36   человечество_s        17   16      16  TRUE
## 37           мочь_v        17   16      17  TRUE
## 38       качество_s        17   16      17  TRUE
## 39       являться_v        16   19      16  TRUE
## 40          жизнь_s        15   20      13  TRUE
Tokens_S2m %>% 
        tokens_keep(pattern = c("*_s", "*_v", "*_a", "*_adv")) %>%
        dfm() %>% 
        textstat_frequency(n = 20, groups = "moral") %>% 
{ggplot(., aes(x = factor(nrow(.):1), y = frequency)) +
    geom_point() +
    facet_wrap(~ group, scales = "free") +
    coord_flip() +
    scale_x_discrete(breaks = nrow(.):1,
                       labels = .$feature) +
    labs(x = NULL, y = "Relative frequency")}

Облако

из 50 самых частых слов в “моральных” предложениях.

Существительные

Слова из списка нравственных убраны из облака

set.seed(100)
Tokens_S2m %>% 
        tokens_subset(moral == TRUE) %>%
        tokens_remove(pattern = MoralTypes) %>% 
        tokens_keep(pattern = "*_S") %>% 
        dfm() %>% 
        textplot_wordcloud(max_words = 50, min_size = 1, rotation = 0)

список существительных, которые появились более чем в пяти предложениях “морального” корпуса

Tokens_S2m %>% 
        tokens_subset(moral == TRUE) %>%
          # tokens_remove(pattern = paste0(MoralTypes, collapse = "|")) %>% 
        tokens_keep(pattern = "*_S") %>% 
        dfm() %>% 
        textstat_frequency() %>% 
        filter(docfreq >  5) %>% 
        arrange(desc(docfreq)) %>% 
        select(-group)
##             feature frequency rank docfreq
## 1         человек_s       113    2      88
## 2         природа_s       117    1      87
## 3       отношение_s        89    3      70
## 4  нравственность_s        24    5      24
## 5          мораль_s        24    5      23
## 6        развитие_s        22    7      20
## 7             мир_s        18    8      18
## 8         правило_s        25    4      17
## 9        качество_s        17    9      17
## 10   человечество_s        17    9      16
## 11       ценность_s        15   11      15
## 12          этика_s        15   11      15
## 13          жизнь_s        15   11      13
## 14         зрение_s        13   14      13
## 15       поступок_s        12   15      12
## 16          точка_s        12   15      12
## 17      поведение_s        12   15      12
## 18        уровень_s        12   15      11
## 19          среда_s        11   20      11
## 20       личность_s        11   20      11
## 21       общество_s        11   20      10
## 22       действие_s        12   15       9
## 23          идеал_s        11   20       9
## 24          образ_s        10   24       9
## 25          норма_s        10   24       9
## 26 взаимодействие_s         9   26       9
## 27       культура_s         9   26       9
## 28              т_s         9   26       9
## 29     воспитание_s         9   26       8
## 30           путь_s         8   31       8
## 31         угроза_s         8   31       8
## 32         потеря_s         8   31       8
## 33       колберг?_s         8   31       8
## 34          сфера_s         9   26       7
## 35          закон_s         8   31       7
## 36         ресурс_s         7   37       7
## 37        принцип_s         7   37       7
## 38       внимание_s         7   37       7
## 39        ребенок_s         7   37       7
## 40      установка_s         7   37       7
## 41      основание_s         7   37       7
## 42    сострадание_s         7   37       7
## 43        чувство_s         8   31       6
## 44          смысл_s         7   37       6
## 45         случай_s         6   45       6
## 46   деятельность_s         6   45       6
## 47  существование_s         6   45       6
## 48        система_s         6   45       6
## 49              е_s         6   45       6

Прилагательные

50 самых частых слов в моральных предложениях. Исключены моральные.

set.seed(100)
Tokens_S2m %>% 
        tokens_subset(moral == TRUE) %>%
          tokens_remove(pattern = paste0(MoralTypes, collapse = "|")) %>% 
        tokens_keep(pattern = "*_A") %>% 
        dfm() %>% 
        textplot_wordcloud(max_words = 50, min_size = 1, rotation = 0)

Прилагательные, которые встречаются более чем в 5 моральных предложениях

Tokens_S2m %>% 
        tokens_subset(moral == TRUE) %>%
        # tokens_remove(pattern = paste0(MoralTypes, collapse = "|")) %>% 
        tokens_keep(pattern = "*_A") %>% 
        dfm() %>% 
        textstat_frequency() %>% 
        filter(docfreq >  5) %>% 
        arrange(desc(docfreq)) %>% 
        select(-group)
##             feature frequency rank docfreq
## 1       моральный_a        54    1      54
## 2    нравственный_a        49    2      45
## 3       идеальный_a        26    3      26
## 4        основной_a        18    5      18
## 5   экологический_a        22    4      16
## 6    материальный_a        15    6      13
## 7       этический_a        13    7      13
## 8         должный_a        12    8      12
## 9         золотой_a        12    8      12
## 10         данный_a        11   10      10
## 11      природный_a        10   11      10
## 12        высокий_a         8   12       8
## 13     правильный_a         8   12       8
## 14  эгоистический_a         8   12       8
## 15       духовный_a         8   12       7
## 16     окружающий_a         7   16       7
## 17   человеческий_a         6   17       6
## 18 индустриальный_a         6   17       6
## 19      искренний_a         6   17       6

Глаголы

50 самых частых глагола в моральных предложениях

set.seed(100)
Tokens_S2m %>% 
        tokens_subset(moral == TRUE) %>%
          tokens_remove(pattern = paste0(MoralTypes, collapse = "|")) %>% 
        tokens_keep(pattern = "*_V") %>% 
        dfm() %>% 
        textplot_wordcloud(max_words = 50, min_size = 1, rotation = 0)

Глаголы, которые встречаются более чем в 5 моральных предложениях

Tokens_S2m %>% 
        tokens_subset(moral == TRUE) %>%
          tokens_remove(pattern = paste0(MoralTypes, collapse = "|")) %>% 

        tokens_keep(pattern = "*_V") %>% 
        dfm() %>% 
        textstat_frequency() %>% 
        filter(docfreq >  5) %>% 
        arrange(desc(docfreq)) %>% 
        select(-group)
##           feature frequency rank docfreq
## 1          быть_v        29    1      27
## 2          мочь_v        17    3      17
## 3      являться_v        16    4      16
## 4        делать_v        27    2      15
## 5  существовать_v        15    5      15
## 6     позволять_v        15    5      14
## 7         иметь_v        14    7      14
## 8        хотеть_v        13    8      13
## 9   становиться_v        11    9      11
## 10        вести_v        11    9      11
## 11     называть_v        10   11      10
## 12   составлять_v         7   12       7
## 13     зависеть_v         7   12       7
## 14       думать_v         7   12       7
## 15  воспитывать_v         7   12       7
## 16   основывать_v         7   12       7
## 17   относиться_v         6   17       6
## 18    приходить_v         6   17       6
## 19     включать_v         6   17       6

Ключевые слова Хи-квадрат

Существительные

Tokens_S2m %>% 
  tokens_keep(pattern = c("*_s")) %>% 
  tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "chi2") %>% 
  textplot_keyness(labelsize = 3)

Значимые различия. выведены слова со значимыми различиями p < 0.01 И слова встречающиеся не меньше пяти раз.

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_s")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "chi2") %>% 
  filter(p < 0.01) %>% 
  filter(n_target + n_reference > 4)
##               feature       chi2            p n_target n_reference
## 1          колберг?_s 203.692633 0.000000e+00        8           1
## 2           правило_s 194.065098 0.000000e+00       25          62
## 3       сострадание_s 151.277520 0.000000e+00        7           2
## 4         отношение_s 112.329502 0.000000e+00       89         973
## 5          качество_s  74.779649 0.000000e+00       17          73
## 6          ценность_s  73.285807 0.000000e+00       15          58
## 7         основание_s  69.362282 1.110223e-16        7          11
## 8             норма_s  69.343452 1.110223e-16       10          26
## 9        осмысление_s  64.464479 9.992007e-16        4           2
## 10         личность_s  57.142135 4.052314e-14       11          39
## 11           потеря_s  55.766007 8.160139e-14        8          20
## 12           зрение_s  55.699609 8.448797e-14       13          56
## 13         развитие_s  51.608064 6.776801e-13       22         164
## 14        поведение_s  50.660879 1.097900e-12       12          52
## 15            мотив_s  46.653070 8.473444e-12        4           4
## 16        установка_s  46.560788 8.882006e-12        7          18
## 17   справедливость_s  38.771470 4.764408e-10        3           2
## 18        идеология_s  38.771470 4.764408e-10        3           2
## 19       воспитание_s  37.769709 7.960834e-10        9          38
## 20            точка_s  36.669156 1.399767e-09       12          68
## 21         культура_s  33.668268 6.535820e-09        9          42
## 22          уровень_s  32.221564 1.375556e-08       12          75
## 23           стадия_s  31.807322 1.702497e-08        6          19
## 24         аргумент_s  31.507090 1.987133e-08        3           3
## 25            сфера_s  31.002629 2.576792e-08        9          45
## 26         поступок_s  30.537244 3.275183e-08       12          78
## 27           угроза_s  26.251149 2.997764e-07        8          41
## 28                е_s  26.084092 3.268661e-07        6          23
## 29            смысл_s  25.740171 3.906113e-07        7          32
## 30          принцип_s  24.821972 6.287666e-07        7          33
## 31        концепция_s  23.856200 1.038070e-06        4          10
## 32       ориентация_s  22.449285 2.157658e-06        3           5
## 33          чувство_s  21.437324 3.655849e-06        8          48
## 34         мышление_s  17.815861 2.433462e-05        5          22
## 35         психолог_s  17.038786 3.662401e-05        3           7
## 36          главное_s  16.908151 3.923276e-05        5          23
## 37            эпоха_s  15.944717 6.521955e-05        4          15
## 38        положение_s  14.846171 1.166446e-04        4          16
## 39     бережливость_s  13.451943 2.447526e-04        3           9
## 40         колыбель_s  12.818252 3.432543e-04        2           3
## 41         конфликт_s  12.818252 3.432543e-04        2           3
## 42         внимание_s  11.035665 8.937560e-04        7          59
## 43    мировоззрение_s  10.907190 9.579172e-04        3          11
## 44             долг_s  10.907190 9.579172e-04        3          11
## 45       реальность_s  10.222458 1.387408e-03        2           4
## 46          религия_s  10.222458 1.387408e-03        2           4
## 47     совершенство_s  10.222458 1.387408e-03        2           4
## 48             путь_s   9.611203 1.933939e-03        8          80
## 49          решение_s   9.602247 1.943395e-03        6          49
## 50   взаимодействие_s   9.584246 1.962541e-03        9          97
## 51     формирование_s   9.271282 2.327748e-03        5          36
## 52                т_s   8.836799 2.952164e-03        9         101
## 53         суждение_s   8.376968 3.800059e-03        2           5
## 54 потребительство?_s   8.376968 3.800059e-03        2           5
## 55         действие_s   8.048975 4.552940e-03       12         174
## 56      становление_s   7.000417 8.149073e-03        2           6
## 57    представление_s   6.790380 9.165042e-03        4          29
## 58            земля_s  -8.931274 2.803288e-03        2         415
## 59             вода_s  -9.899671 1.653083e-03        1         388
## 60         животное_s -10.398909 1.260898e-03        4         575
## 61              лес_s -10.856732 9.843728e-04        2         479
## 62          планета_s -12.162851 4.875080e-04        0         398

Прилагательные и наречия

Tokens_S2m %>% 
  tokens_keep(pattern = c("*_a", "*_adv")) %>% 
  tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "chi2") %>% 
  textplot_keyness(labelsize = 3)

Значимые различия. выведены слова со значимыми различиями p < 0.01 И слова встречающиеся не меньше пяти раз.

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_a", "*_adv")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "chi2") %>% 
  filter(p < 0.01) %>% 
  filter(n_target + n_reference > 4)
##              feature       chi2            p n_target n_reference
## 1          золотой_a 242.636855 0.000000e+00       12           6
## 2    эгоистический_a 169.815819 0.000000e+00        8           3
## 3  урбанистический_a 137.315171 0.000000e+00        5           0
## 4         основной_a 134.030016 0.000000e+00       18          48
## 5     материальный_a  96.790028 0.000000e+00       15          46
## 6        дружеский_a  95.543737 0.000000e+00        5           2
## 7    доверительный_a  81.523613 0.000000e+00        4           1
## 8        искренний_a  80.196265 0.000000e+00        6           6
## 9   индустриальный_a  62.057820 3.330669e-15        6           9
## 10        духовный_a  58.072189 2.531308e-14        8          20
## 11        гуманный_a  42.277685 7.919099e-11        4           5
## 12   экологический_a  30.664230 3.067685e-08       22         235
## 13     дозволенный_a  27.342640 1.704118e-07        3           4
## 14      правильный_a  25.982852 3.444634e-07        8          43
## 15         высокий_a  23.854168 1.039166e-06        8          46
## 16    эстетический_a  20.772079 5.173171e-06        5          20
## 17    исторический_a  15.722461 7.334801e-05        3           8
## 18      культурный_a  14.039986 1.789643e-04        3           9
## 19     несколько_adv  13.328464 2.614075e-04        2           3
## 20         широкий_a  11.408582 7.310561e-04        3          11
## 21   генетически_adv  10.646496 1.102796e-03        2           4
## 22        реальный_a  10.361848 1.286464e-03        3          12
## 23    повседневный_a   8.739146 3.114503e-03        2           5
## 24         вовсе_adv   8.648101 3.274025e-03        3          14
## 25          ранний_a   7.307416 6.867060e-03        3          16
## 26          данный_a   6.861406 8.807721e-03       11         159
## 27         снова_adv   6.741998 9.416908e-03        3          17
## 28   вышесказанный_a   6.741998 9.416908e-03        3          17

Глаголы

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_v")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "chi2") %>% 
  textplot_keyness(labelsize = 3)

Значимые различия

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_v")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "chi2") %>% 
  filter(p < 0.01) %>% 
  filter(n_target + n_reference > 4)
##              feature       chi2            p n_target n_reference
## 1       основывать_v 118.191743 0.000000e+00        7           7
## 2        уделяться_v  81.689679 0.000000e+00        4           2
## 3           делать_v  77.219758 0.000000e+00       27         225
## 4     определяться_v  66.490995 3.330669e-16        6          11
## 5         называть_v  52.019940 5.494494e-13       10          46
## 6        побуждать_v  49.312476 2.182698e-12        3           2
## 7     регулировать_v  41.493388 1.182703e-10        4           7
## 8         включать_v  31.913066 1.612290e-08        6          25
## 9      воспитывать_v  31.453045 2.043219e-08        7          35
## 10  восприниматься_v  31.198156 2.329873e-08        4          10
## 11          хотеть_v  27.739336 1.388113e-07       13         123
## 12           вести_v  23.363582 1.340933e-06       11         103
## 13           иметь_v  18.551364 1.653869e-05       14         177
## 14    существовать_v  17.976706 2.236248e-05       15         212
## 15      составлять_v  17.384238 3.053477e-05        7          56
## 16       опираться_v  16.087072 6.049561e-05        3          10
## 17       вернуться_v  14.619206 1.315668e-04        3          11
## 18  сформировывать_v  14.619206 1.315668e-04        3          11
## 19    базироваться_v  13.366420 2.561698e-04        2           4
## 20   анализировать_v   9.341786 2.239871e-03        2           6
## 21     наполняться_v   9.341786 2.239871e-03        2           6
## 22       приходить_v   8.982612 2.725607e-03        6          65
## 23      переходить_v   8.893076 2.862541e-03        4          31
## 24     затрагивать_v   8.322422 3.915867e-03        3          18
## 25         хватать_v   8.008257 4.656454e-03        2           7
## 26         мыслить_v   8.008257 4.656454e-03        2           7
## 27 функционировать_v   8.008257 4.656454e-03        2           7
## 28        являться_v   7.830250 5.137900e-03       16         330
## 29       развивать_v   7.246110 7.105477e-03        3          20
## 30        нарушать_v   7.134044 7.563394e-03        5          54

Ключевые слова likelihood ratio - Отношение правдоподобия

Существительные

Tokens_S2m %>% 
  tokens_keep(pattern = c("*_s")) %>% 
  tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "lr") %>% 
  textplot_keyness(labelsize = 3)

Значимые различия. выведены слова со значимыми различиями p < 0.01 И слова встречающиеся не меньше пяти раз.

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_s")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "lr") %>% 
  filter(p < 0.01) %>% 
  filter(n_target + n_reference > 4)
##             feature         G2            p n_target n_reference
## 1       отношение_s  76.499546 0.000000e+00       89         973
## 2         правило_s  73.402132 0.000000e+00       25          62
## 3        колберг?_s  44.904380 2.068945e-11        8           1
## 4     сострадание_s  35.377883 2.715530e-09        7           2
## 5        качество_s  35.125173 3.091781e-09       17          73
## 6        ценность_s  33.071292 8.884079e-09       15          58
## 7        развитие_s  29.911448 4.522348e-08       22         164
## 8           норма_s  27.074465 1.957669e-07       10          26
## 9          зрение_s  26.304550 2.916009e-07       13          56
## 10       личность_s  25.064464 5.544530e-07       11          39
## 11      поведение_s  24.018467 9.541613e-07       12          52
## 12      основание_s  23.002432 1.617966e-06        7          11
## 13         потеря_s  21.601537 3.355828e-06        8          20
## 14          точка_s  19.371676 1.075910e-05       12          68
## 15      установка_s  18.312019 1.875204e-05        7          18
## 16     воспитание_s  17.843215 2.398731e-05        9          38
## 17        уровень_s  17.711278 2.570978e-05       12          75
## 18       поступок_s  17.054112 3.632963e-05       12          78
## 19     осмысление_s  16.688001 4.405878e-05        4           2
## 20       культура_s  16.555817 4.723885e-05        9          42
## 21          сфера_s  15.674079 7.524842e-05        9          45
## 22          мотив_s  13.992493 1.835420e-04        4           4
## 23         стадия_s  13.620084 2.237787e-04        6          19
## 24         угроза_s  13.450681 2.449172e-04        8          41
## 25          смысл_s  12.654186 3.747257e-04        7          32
## 26        принцип_s  12.354093 4.400208e-04        7          33
## 27              е_s  12.031740 5.230222e-04        6          23
## 28        чувство_s  11.705248 6.232407e-04        8          48
## 29 справедливость_s  10.851241 9.872960e-04        3           2
## 30      идеология_s  10.851241 9.872960e-04        3           2
## 31       аргумент_s   9.692032 1.850688e-03        3           3
## 32      концепция_s   9.569764 1.978082e-03        4          10
## 33       мышление_s   8.756356 3.085249e-03        5          22
## 34        главное_s   8.458509 3.633396e-03        5          23
## 35     ориентация_s   8.024251 4.615511e-03        3           5
## 36          эпоха_s   7.459905 6.308835e-03        4          15
## 37      положение_s   7.123761 7.606894e-03        4          16
## 38       внимание_s   6.935495 8.450167e-03        7          59
## 39       психолог_s   6.834216 8.942791e-03        3           7
## 40         отходы_s  -6.714761 9.561809e-03        1         206
## 41            вид_s  -8.038408 4.579578e-03        3         362
## 42          земля_s -13.617385 2.241006e-04        2         415
## 43       животное_s -14.901794 1.132552e-04        4         575
## 44           вода_s -16.380851 5.180597e-05        1         388
## 45            лес_s -16.897701 3.944934e-05        2         479
## 46        планета_s -23.870641 1.030312e-06        0         398

Прилагательные и наречия

Tokens_S2m %>% 
  tokens_keep(pattern = c("*_a", "*_adv")) %>% 
  tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "lr") %>% 
  textplot_keyness(labelsize = 3)

Значимые различия. выведены слова со значимыми различиями p < 0.01 И слова встречающиеся не меньше пяти раз.

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_a", "*_adv")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "lr") %>% 
  filter(p < 0.01) %>% 
  filter(n_target + n_reference > 4)
##              feature        G2            p n_target n_reference
## 1          золотой_a 58.872468 1.687539e-14       12           6
## 2         основной_a 51.401617 7.527312e-13       18          48
## 3    эгоистический_a 39.904520 2.666853e-10        8           3
## 4     материальный_a 39.242348 3.743325e-10       15          46
## 5  урбанистический_a 28.836902 7.873654e-08        5           0
## 6        дружеский_a 23.077913 1.555675e-06        5           2
## 7        искренний_a 23.011858 1.610052e-06        6           6
## 8         духовный_a 22.094413 2.595641e-06        8          20
## 9    экологический_a 20.294547 6.638953e-06       22         235
## 10  индустриальный_a 20.021175 7.658935e-06        6           9
## 11   доверительный_a 18.907155 1.372370e-05        4           1
## 12      правильный_a 13.360074 2.570381e-04        8          43
## 13        гуманный_a 13.217240 2.773858e-04        4           5
## 14         высокий_a 12.606580 3.843913e-04        8          46
## 15    эстетический_a  9.666242 1.876848e-03        5          20
## 16     дозволенный_a  8.937572 2.793637e-03        3           4
## 17         много_adv -9.372349 2.202831e-03        2         339
## 18           новый_a -9.587984 1.958549e-03        1         270

Глаголы

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_v")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "chi2") %>% 
  textplot_keyness(labelsize = 3)

Значимые различия

Tokens_S2m %>% 
          tokens_keep(pattern = c("*_v")) %>% 
          tokens_remove(pattern = MoralTypes) %>% 
  dfm(  ) %>% 
  textstat_keyness(docvars(., "moral"), measure = "lr") %>% 
  filter(p < 0.01) %>% 
  filter(n_target + n_reference > 4)
##             feature         G2            p n_target n_reference
## 1          делать_v  42.269091 7.953982e-11       27         225
## 2      основывать_v  29.805194 4.777103e-08        7           7
## 3        называть_v  22.542259 2.055712e-06       10          46
## 4    определяться_v  20.413726 6.238078e-06        6          11
## 5       уделяться_v  18.221395 1.966573e-05        4           2
## 6          хотеть_v  16.244273 5.567763e-05       13         123
## 7     воспитывать_v  14.270614 1.583173e-04        7          35
## 8           вести_v  13.659959 2.190763e-04       11         103
## 9        включать_v  13.496811 2.389693e-04        6          25
## 10   регулировать_v  12.848144 3.378142e-04        4           7
## 11          иметь_v  12.232979 4.695216e-04       14         177
## 12   существовать_v  12.211240 4.750246e-04       15         212
## 13      побуждать_v  11.935469 5.507527e-04        3           2
## 14 восприниматься_v  11.005936 9.082056e-04        4          10
## 15     составлять_v   9.625319 1.919132e-03        7          56
## 16       начинать_v -10.399155 1.260730e-03        0         217
## 17      создавать_v -10.543557 1.165938e-03        0         220