Для анализа настроений фильтрация по заранее определенному nchar()
может быть немного грубой.Я бы порекомендовал поискать библиотеку tidytext
, которая позволит вам токенизировать значимые единицы текста, такие как слова, в аккуратную структуру данных.
В вашем случае вы можете конвертировать каждое словов токен и измените структуру данных так, чтобы каждый токен (или слово) находился в отдельной строке.Тогда вы можете легко отфильтровать статьи и другие несущественные вещи.Например:
library(dplyr)
library(tidytext)
df <- c("the most beauty", "the most ugly", "you are beauty")
text_df <- data_frame(line = 1:3, text = df)
text_df %>%
unnest_tokens(word, text)
# A tibble: 9 x 2
line word
<int> <chr>
1 1 the
2 1 most
3 1 beauty
4 2 the
5 2 most
6 2 ugly
7 3 you
8 3 are
9 3 beauty
Затем просто отфильтруйте любое с вектором нежелательных слов.
remove_words <- c("the", "a", "you", "are")
text_df %>%
unnest_tokens(word, text) %>% filter(!(word %in% remove_words))
# A tibble: 5 x 2
line word
<int> <chr>
1 1 most
2 1 beauty
3 2 most
4 2 ugly
5 3 beauty
Токенизация позволяет легко вычислять оценки настроений для каждого твита путем суммирования оценок настроений длявсе слова в твите.Примеры можно найти здесь: https://www.tidytextmining.com/sentiment.html