Kinder, Russisch und R.

Eine typische Situation im aktuellen Bildungsprozess in der Schule. Um 22:00 Uhr erscheint eine neue Aufgabe im elektronischen Tagebuch des Kindes. Bestenfalls übermorgen, aber normalerweise morgen.







Es gibt drei Reaktionsmöglichkeiten:







  • überhaupt nicht tun;
  • "Nicht bemerken" und verschieben Sie die Lösung des Problems auf später;
  • versuche es zu tun.


Die zweite Reaktion ist im Wesentlichen identisch mit der ersten, da sich der Schneeball solcher Aufgaben schnell ansammelt, ohne dass die Möglichkeit besteht, ihn zu zerlegen.







Wenn Sie die dritte Option wählen, können in einigen Fällen sogar Aufgaben in russischer Sprache mit R gelöst werden, wobei zu berücksichtigen ist, dass für alles maximal 15 bis 20 Minuten zur Verfügung stehen. 5 Minuten für "extreme Programmierung", 10-15 Minuten für die Fertigstellung. Wenn das Problem im Prinzip gelöst wurde, kann die Registrierung am Morgen erfolgen







Es ist eine Fortsetzung einer Reihe früherer Veröffentlichungen .







Welche Aufgaben versuchen wir zu lösen?



Natürlich muss man selbst einen Aufsatz schreiben oder denken. Es gibt jedoch eine bestimmte Klasse von Aufgaben, die wie eine Aufgabe für einen Roboter aussieht und gut algorithmisiert ist.







Im Folgenden finden Sie nur verallgemeinerte Beispiele. Viele werden sicherlich etwas zum Hinzufügen finden.







Problem 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. « » , , .


Vorherige Veröffentlichung - "IT Service Health Monitoring mittels R. Blick aus einem anderen Blickwinkel . "








All Articles