子供、ロシア語、R

学校での現在の教育プロセスにおける典型的な状況。22:00に、新しいタスクが子供の電子日記に表示されます。せいぜい明後日ですが、通常は明日です。







3つの反応オプションがあります:







  • まったくしないでください。
  • 「通知しない」で、問題の解決を後日まで延期します。
  • それをやってみてください。


2番目の反応は、最初の反応と本質的に同じです。そのようなタスクの雪玉は、分解することなく急速に蓄積されるためです。







3番目のオプションを選択すると、ロシア語のタスクでさえ、すべてに最大15〜20分かかることを考慮して、Rを使用して解決できる場合があります。「エクストリームプログラミング」の場合は5分、終了の場合は10〜15分。原則として問題が解決した場合は、午前中に登録できます。







これは、以前の一連の出版物の続きです







どのようなタスクを解決しようとしていますか?



当然、自分でエッセイを書いたり考えたりする必要があります。しかし、ロボットのタスクのように見え、十分にアルゴリズム化された特定のクラスのタスクがあります。







以下は一般化された例です。確かに、多くの人が追加するものを見つけるでしょう。







問題1



(/). — . .







2



N



() ( ).







3



N



, '' , .







R



. «» .

N



( ), 5 .







№1. . , . . , .







library(tidyverse)
library(readr)
library(magrittr)
library(stringi)
library(udpipe)
library(tictoc)

# C    
# http://www.speakrus.ru/dict/

#  -, 125723 
voc1_df <- here::here("data", "pldf-win.zip") %>%
  readr::read_delim(col_names = "word", delim = " ",
                    locale = locale("ru", encoding = "windows-1251"))

#   , 162232 
voc2_df <- here::here("data", "litf-win.zip") %>%
  readr::read_delim(col_names = c("word", "freq"), delim = " ",
                  locale = locale("ru", encoding = "windows-1251")) %>%
  select(-freq)

#  . . , 93392 
voc3_df <- here::here("data", "zdf-win.zip") %>%
  readr::read_delim(col_names = "word", delim = " ",
                    locale = locale("ru", encoding = "windows-1251"))

#    . C. . , 1991 ., 61458 
voc4_df <- here::here("data", "ozhegovw.zip") %>%
  readr::read_delim(delim = "|", quote = "", locale = locale("ru", encoding = "windows-1251")) %>%
  select(word = VOCAB)

voc_df <- bind_rows(voc1_df, voc2_df, voc3_df, voc4_df) %>%
  distinct()

# --------------- udpipe
# ud_model <- udpipe_download_model(language = "russian")
ud_model <- udpipe_download_model(language = "russian-syntagrus")
      
      





№2.







1. , 7 , 1- — '', 3- — ''







words_df <- voc_df %>%
  filter(stri_length(word) == 7) %>%
  filter(stri_sub(word, 3, 3) == "") %>%
  filter(stri_sub(word, 1, 1) == "")
      
      





2. , " "







voc_df %>%
  filter(stri_detect_regex(tolower(word), "^[]+$")) %>%
  mutate(l = stri_length(word)) %>%
  arrange(desc(l)) %>%
  print(n = 400)
      
      





3. '' , ?







tic("")
print(lubridate::now())
ann_tbl <- voc_df %>%
  mutate(ne_word = stri_c("", word)) %>%
  inner_join(voc_df, by = c("ne_word" = "word")) %>%
  # stri_trans_general(id ="Latin-ASCII")
  {udpipe_annotate(ud_model, x = .$word, trace = TRUE)} %>%
  as_tibble()
toc()

ne_tbl <- ann_tbl %>%
  filter(upos == "NOUN") %>%
  select(word = token) %>%
  #  
  filter(stri_length(word) > 3) %>%
  filter(!stri_detect_regex(word, "$")) %>%
  mutate(ne_word = stri_c("", word)) %>%
  sample_n(200) %T>%
  print(n = 200)
      
      





.. .. , — 99% , , . , .







P.S.







  1. kremlin.ru, .
  2. , . . , . 100% .
  3. , , . .
  4. « » , , .


以前の出版物- 「RによるITサービスヘルスモニタリング別の角度からの眺め








All Articles