Набор данных содержит текстовые данные 26 новостных статей. Я хотел бы подсчитать частоту совпадения слов в каждом абзаце, но похоже, что мои коды ниже работают в документе (целой статье). Можете ли вы указать уровень (предложение, абзац ...) для расчета частоты совпадения с помощью fcm ()? Или есть другой пакет для этого?
library(quanteda)
library(readtext)
library(tm)
##corpus
tf_pb <- readtext("PB_articles.csv",text_field = "text")
tf2_pb <- gsub(pattern = "\\b(rifle|rifles|weapon|weapons)\\b", replace = "gun", x = tf_pb)
corpus_pb <- corpus(tf2_pb)
summary(corpus_pb)
##Tokenization&Cleaning
tkn_pb <- tokens(corpus_pb,
remove_url = TRUE,
remove_numbers = TRUE,
remove_punct = TRUE,
remove_symbols = TRUE,
remove_separators = TRUE)
##removeing stopwords & stemming
stm_pb <- tokens_wordstem(tkn_pb)
stw_pb <- tokens_remove(stm_pb, pattern = stopwords('en'))
##multi-word expression
multiword <- c("social media", "house of worship")
comp_toks <- tokens_compound(stw_pb, pattern = phrase(multiword))
comp_toks
##keyword_list
kw_pb <- lapply(comp_toks, function(x){ x[which(grepl("\\b(synagogu|jewish|rabbi|jew|anti-semit|pittsburgh|congre|communiti|member|hous|worship|weapon|rifle|gun|shooting|assault|attack|hate|hatr|twitter|social_media|morn|gab|white|post|gun|funer|victim|prayer|rabinowitz|suspect|religi|account|nation|door|friend|charge|shiva|wax|speech|home|leader)\\b", x))]})
head(kw_pb)
##tokenにする
tkn2_pb <- as.tokens(kw_pb)
##remove words
tkn3_pb <- tokens_select(tkn2_pb,c("next-door","consumer-friend","ar-15-gun-mass-shootings.html",
"hate-fuel","hate-fil","prayer.ImageOutsid","door.Th",
"we-need-to-stop-the-hate-rabbi-tells-elected-leaders.html","speech.CreditCredit",
"hate-rel","shooting.Credit","shooting.Polic","pittsburgh-shooting-synagogue.html",
"media.Ar","shooting.Speedi","speech.Gab","shooting.Thi","shooting.On","gun-control",
"gun.ImageAR-15","shooting.In","gun-safeti","pic.twitter.com","post-World","home.But","worship.Th"),
selection = "remove", padding = FALSE)
##co-occurrence frequency
fcm_pb <- fcm(tkn3_pb,
count = "frequency")