Situação típica do processo educacional atual na escola. Às 22h, uma nova tarefa aparece no diário eletrônico da criança. Na melhor das hipóteses, depois de amanhã, mas geralmente amanhã.
Existem três opções de reação:
- não faça nada;
- “Não perceber” e adiar a solução do problema para mais tarde;
- tente fazer isso.
A segunda reação é essencialmente idêntica à primeira, uma vez que a bola de neve de tais tarefas se acumula rapidamente, sem qualquer chance de desmontá-la.
Escolhendo a terceira opção, em alguns casos até tarefas na língua russa podem ser resolvidas usando R, levando em consideração que há um máximo de 15-20 minutos para tudo. 5 minutos para "programação extrema", 10-15 minutos para acabamento. Resolvido o problema a princípio, o cadastro pode ser feito pela manhã
É a continuação de uma série de publicações anteriores .
Que tarefas estamos tentando resolver?
Naturalmente, você deve escrever ou pensar um ensaio sozinho. Mas existe uma certa classe de tarefas que parece uma tarefa para um robô e é bem algoritmizada.
Abaixo estão apenas exemplos generalizados, com certeza, muitos encontrarão algo a acrescentar.
Problema 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% .
- , , . .
- « » , , .
Publicação anterior - "Monitoramento da saúde dos serviços de TI por meio da R. Visão de um ângulo diferente . "