Граф сети Bigram, использующий интеллектуальный анализ текста [r | гграф | igraph]
Это исправлено после комментариев.
Я следую инструкциям, приведенным здесь - https://www.tidytextmining.com/ngrams.html.
То, что я хочу сделать, это создать биграмный сетевой график текста обзора, представленного в файле CSV.
Вот ссылка на набор данных - https://app.box.com/s/y6nsmji4ir7nbggmbncnhf21xla96nml.
Вот код:
library(dplyr)
library(tidyr)
library(tidytext)
library(ggplot2)
library(igraph)
library(ggraph)
library(stringr)
kjv <- read.csv(file.choose())
count_bigrams <- function(dataset) {
dataset %>%
unnest_tokens(bigram, commentText, token = "ngrams", n = 2) %>%
separate(bigram, c("word1", "word2"), sep = " ") %>%
filter(!word1 %in% stop_words$word,
!word2 %in% stop_words$word) %>%
count(word1, word2, sort = TRUE)
}
visualize_bigrams <- function(bigrams) {
set.seed(2016)
a <- grid::arrow(type = "closed", length = unit(.15, "inches"))
bigrams %>%
graph_from_data_frame() %>%
ggraph(layout = "fr") +
geom_edge_link(aes(edge_alpha = n), show.legend = FALSE, arrow = a) +
geom_node_point(color = "lightblue", size = 5) +
geom_node_text(aes(label = name), vjust = 1, hjust = 1) +
theme_void()
}
kjv_bigrams <- kjv %>%
count_bigrams()
Здесь я получаю следующую ошибку:Error in summarise_impl(.data, dots) :
Evaluation error: argument
...should be a character vector (or an object coercible to).
Вот как выглядит набор данных:
Спасибо за прочитанное!