关于停用词的一切
在文本中,常会有一些高频但信息量很低的词。这些词被称为「停用词」(stop words),在分析时通常需要移除。例如常见的英语停用词包括 "I"、"she'll"、"the" 等。在 tm 包中,内置了 174 个常见的英语停用词(您将在本练习中打印它们!)。
在实际分析中,您很可能需要在此基础上再扩充。在我们的咖啡推文示例中,所有推文都包含 "coffee",因此除了常见停用词外,还应当把该词去掉。若保留 "coffee",不仅没有额外信息,还会在词频分析中过度凸显。
使用 c() 函数可以把新词加入停用词列表。例如,下面的代码会将 "word1" 和 "word2" 添加到默认的英语停用词列表中:
all_stops <- c("word1", "word2", stopwords("en"))
当您确定了一份合适的停用词列表后,就可以对文本使用 removeWords() 函数。removeWords() 接受两个参数:要处理的 text 对象,以及要移除的词语列表。
本练习是课程的一部分
使用 R 的 Bag-of-Words 进行文本挖掘
练习说明
- 调用
stopwords("en")查看标准停用词。 - 从
text中移除 "en" 停用词。 - 将 "coffee" 和 "bean" 添加到标准停用词中,并赋值给
new_stops。 - 从
text中移除自定义的停用词new_stops。
交互式实操练习
通过完成这段示例代码来试试这个练习。
## text is preloaded into your workspace
# List standard English stop words
___
# Print text without standard stop words
removeWords(___, ___("___"))
# Add "coffee" and "bean" to the list: new_stops
new_stops <- c("___", "___", ___)
# Remove stop words from text
___