如何从数据集中提取词云特定词汇关联的评论?附相关代码
提取词云特定词汇相关的评论
步骤1:获取目标词汇列表
基于你已有的统计代码,先提取词云里的核心目标词汇(比如你统计的前十高频词):
# 从已统计的结果中提取前十词汇 top_target_words = [word for word, count in counted_word_spam.most_common(10)] # 可选:统一转为小写,避免大小写匹配问题 top_target_words = [word.lower() for word in top_target_words]
步骤2:提取包含目标词汇的评论
假设你的原始负面评论数据集是列表格式(negitive_reviews),每个元素是一条完整评论,用以下代码筛选相关评论:
# 存储匹配到的评论 target_reviews = [] for review in negitive_reviews: # 将评论转为小写,和目标词汇统一格式 review_lower = review.lower() # 检查评论是否包含任意一个目标词汇 if any(word in review_lower for word in top_target_words): target_reviews.append(review) # 输出结果示例 print(f"匹配到{len(target_reviews)}条相关评论:") for idx, review in enumerate(target_reviews[:5], 1): print(f"{idx}. {review}")
补充说明
- 如果你的原始评论是字符串格式(
negitive_reviews_str),可以先分割成单条评论列表,比如按换行分割:negitive_reviews = negitive_reviews_str.split('\n') - 若需要更精准的匹配(比如匹配完整单词而非子串),可以用正则表达式:
import re for review in negitive_reviews: review_lower = review.lower() # 匹配完整单词,避免类似"bad"匹配到"badly" if any(re.search(rf'\b{re.escape(word)}\b', review_lower) for word in top_target_words): target_reviews.append(review)
内容的提问来源于stack exchange,提问作者Mehr Un Nisa
相关产品推荐
相关产品推荐

