Как использовать биграммы и триграммы, используя аккуратный текст
Я пытаюсь использовать как биграмм, так и триграмму, используя тидитекст. Какой код я могу использовать для токена, чтобы искать 2 и 3 слова.
Это код для использования только биграмм:
library(tidytext)
library(janeaustenr)
austen_bigrams <- austen_books() %>%
unnest_tokens(bigram, text, token = "ngrams", n = 2)
austen_bigrams
1 ответ
Решение
Если вы посмотрите на ?unnest_tokens
это говорит вам ...
для параметров, передаваемых токенизатору Для нграмм это tokenizers::tokenize_ngrams
и если вы посмотрите на его страницу помощи, он имеет n_min
параметр, так что вы можете сделать
library(magrittr)
library(tidytext)
library(janeaustenr)
austen_bigrams <- austen_books() %>%
head(1000) %>% # otherwise this will get very large
unnest_tokens(bigram, text, token = "ngrams", n = 3, n_min = 2)
austen_bigrams
#> # A tibble: 19,801 x 2
#> book bigram
#> <fctr> <chr>
#> 1 Sense & Sensibility sense and
#> 2 Sense & Sensibility sense and sensibility
#> 3 Sense & Sensibility and sensibility
#> 4 Sense & Sensibility and sensibility by
#> 5 Sense & Sensibility sensibility by
#> 6 Sense & Sensibility sensibility by jane
#> 7 Sense & Sensibility by jane
#> 8 Sense & Sensibility by jane austen
#> 9 Sense & Sensibility jane austen
#> 10 Sense & Sensibility jane austen 1811
#> # ... with 19,791 more rows