如何使用整洁的文本使用二元组和三元组
Posted
技术标签:
【中文标题】如何使用整洁的文本使用二元组和三元组【英文标题】:How to use bigrams and trigrams using tidy text 【发布时间】:2017-08-13 18:21:51 【问题描述】:我正在尝试使用 tidytext 同时使用二元组和三元组。我可以使用什么代码让令牌查找 2 和 3 个单词。
这是仅使用二元组的代码:
library(tidytext)
library(janeaustenr)
austen_bigrams <- austen_books() %>%
unnest_tokens(bigram, text, token = "ngrams", n = 2)
austen_bigrams
【问题讨论】:
【参考方案1】:如果您查看?unnest_tokens
,它会告诉您...
用于传递给标记器的参数。对于 ngram,那是 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
【讨论】:
以上是关于如何使用整洁的文本使用二元组和三元组的主要内容,如果未能解决你的问题,请参考以下文章
《程序员代码面试指南》第八章 数组和矩阵问题 不重复打印排序数组中相加和为给定值的所有二元组和三元组
如何实现潜在狄利克雷分配以在主题中给出二元组/三元组而不是一元组