Anak-anak, Rusia dan R

Situasi khas dalam proses pendidikan saat ini di sekolah. Pada pukul 22:00, tugas baru muncul di buku harian elektronik anak tersebut. Paling banter, lusa, tapi biasanya besok.







Ada tiga pilihan reaksi:







  • jangan lakukan sama sekali;
  • "Tidak memperhatikan" dan menunda solusi masalah sampai nanti;
  • coba untuk melakukannya.


Reaksi kedua pada dasarnya identik dengan yang pertama, karena bola salju dari tugas-tugas semacam itu akan dengan cepat terakumulasi tanpa ada kesempatan untuk membongkarnya.







Memilih opsi ketiga, dalam beberapa kasus bahkan tugas dalam bahasa Rusia dapat diselesaikan menggunakan R, dengan mempertimbangkan bahwa ada maksimum 15-20 menit untuk semuanya. 5 menit untuk "pemrograman ekstrem", 10-15 menit untuk penyelesaian. Jika pada prinsipnya masalah sudah teratasi maka pendaftaran bisa dilakukan pada pagi hari







Ini adalah kelanjutan dari serangkaian publikasi sebelumnya .







Tugas apa yang kita coba selesaikan?



Secara alami, Anda harus menulis atau memikirkan esai sendiri. Tetapi ada kelas tugas tertentu yang terlihat seperti tugas untuk robot dan diolah dengan baik.







Di bawah ini hanyalah contoh umum, pasti banyak yang akan menemukan sesuatu untuk ditambahkan.







Masalah 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. ยซ ยป , , .


Publikasi sebelumnya - "Pemantauan Kesehatan Layanan TI melalui R. Lihat dari sudut yang berbeda . "








All Articles