You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用stringr简化Tweet文本清洗及emoji留存的技术咨询

推特文本清洗与情感分析流程优化指南

一、clean_tweets函数运行问题修复

原函数存在两个核心错误:换行符转义符冗余、标点移除规则会误删emoji,修复后的函数可正常运行且满足emoji留存需求:

library(dplyr)
library(stringr)

clean_tweets <- function(x) {
  x %>%
    # 移除所有URL链接
    str_remove_all("https?://\\S+|www\\.\\S+") %>%
    # 替换HTML特殊实体
    str_replace_all("&amp;", "and") %>%
    # 移除转发RT标记
    str_remove_all("^RT:? ") %>%
    # 移除@用户提及
    str_remove_all("@[[:alnum:]_]+") %>%
    # 移除#话题标签
    str_remove_all("#[[:alnum:]_]+") %>%
    # 移除标点、数字,保留英文字母、空格、emoji
    str_remove_all("[^[:alpha:]\\s\\p{Emoji}]") %>%
    # 替换换行符为空格
    str_replace_all("\\n", " ") %>%
    str_to_lower() %>%
    # 去除首尾和中间多余空白
    str_squish()
}

可直接按照你预期的方式调用:

tweetsClean <- df %>% 
  mutate(clean_text = clean_tweets(text))

二、emoji统计流程适配

修复后的清洗函数已经完整保留了emoji,仅需将你现有代码的提取字段改为清洗后的文本即可正常运行:

library(emo)
library(tidyr)

TopEmoji <- tweetsClean %>%
  mutate(emoji = ji_extract_all(clean_text)) %>%
  unnest(cols = c(emoji)) %>%
  count(emoji, sort = TRUE) %>%
  top_n(5)

三、后续情感分析流程优化

原有流程存在两个可优化点:分词未使用清洗后文本、同时内连接两个情感词典会丢失仅匹配到单个词典的词,优化后代码如下:

library(tidytext)

# 分词与停用词过滤
tweets_token <- tweetsClean %>%
  # 添加行号、保留所需字段
  select(linenumber = row_number(), created_at, clean_text) %>%
  # 基于清洗后的文本分词
  unnest_tokens(word, clean_text) %>%
  # 过滤停用词
  anti_join(stop_words, by = "word")

# 加载情感词典并统一格式
sentiment_bing <- get_sentiments("bing") %>% 
  mutate(bing_value = ifelse(sentiment == "positive", 1, -1))
sentiment_afinn <- get_sentiments("afinn") %>% rename(afinn_value = value)

# 情感值计算
tweetsValue <- tweets_token %>%
  # 左连接避免丢失匹配项
  left_join(sentiment_bing, by = "word") %>%
  left_join(sentiment_afinn, by = "word") %>%
  group_by(linenumber, created_at) %>%
  summarise(
    bing_total = sum(bing_value, na.rm = TRUE),
    afinn_total = sum(afinn_value, na.rm = TRUE),
    .groups = "drop"
  )

四、运行注意事项

  • 提前安装加载所有依赖包:dplyr、stringr、tidyr、tidytext、emo
  • 按顺序运行测试数据集定义、文本清洗、emoji统计、分词、情感计算步骤即可
    内容的提问来源于stack exchange,提问作者k3r0
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 02:06:08