Une situation typique dans le processus éducatif actuel à l'école. A 22h00, une nouvelle tâche apparaît dans l'agenda électronique de l'enfant. Au mieux, après-demain, mais généralement demain.
Il existe trois options de réaction:
- ne faites pas du tout;
- «Ne pas remarquer» et reporter la solution du problème à plus tard;
- Essaye de le faire.
La seconde réaction est essentiellement identique à la première, car la boule de neige de telles tâches s'accumule rapidement sans aucune chance de la démonter.
En choisissant la troisième option, dans certains cas, même les tâches en langue russe peuvent être résolues à l'aide de R, en tenant compte du fait qu'il y a un maximum de 15 à 20 minutes pour tout. 5 minutes pour la "programmation extrême", 10-15 minutes pour la finition. Lorsque le problème a été résolu en principe, l'inscription peut se faire le matin
C'est la continuation d'une série de publications précédentes .
Quelles tâches essayons-nous de résoudre?
Naturellement, vous devez écrire ou penser vous-même un essai. Mais il existe une certaine classe de tâches qui ressemble à une tâche pour un robot et qui est bien algorithmisée.
Ci-dessous ne sont que des exemples généralisés, bien sûr, beaucoup trouveront quelque chose à ajouter.
Problème 1
(/). — . .
2
N
() ( ).
3
N
, '' , .
R
. «» .
N
( ), 5 .
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.
- kremlin.ru, .
- , . . , . 100% .
- , , . .
- « » , , .
Publication précédente - "Surveillance de la santé des services informatiques au moyen de R. Vue sous un angle différent . "