开始使用免费开始使用

将预处理步骤应用到语料库

tm 包提供了 tm_map() 函数,可将清洗函数应用到整个语料库,从而简化清洗步骤。

tm_map() 接受两个参数:一个语料库和一个清洗函数。这里的 removeNumbers() 来自 tm 包。

corpus <- tm_map(corpus, removeNumbers)

为了兼容性,base R 和 qdap 的函数需要用 content_transformer() 包装。

corpus <- tm_map(corpus, content_transformer(replace_abbreviation))

您可能需要在多个语料库上应用相同的函数;使用像编辑器中所示的自定义函数可以为您节省时间(和代码行数)。clean_corpus() 接受一个参数 corpus,按顺序对其应用一系列清洗函数,然后返回更新后的语料库。

清洗步骤的先后顺序很重要。例如,如果先 removeNumbers()replace_number(),第二个函数将找不到任何可替换的内容!请务必检查、反复检查您的结果!

本练习是课程的一部分

使用 R 的 Bag-of-Words 进行文本挖掘

查看课程

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Alter the function code to match the instructions
clean_corpus <- function(corpus) {
  # Remove punctuation
  corpus <- tm_map(corpus, ___)
  # Transform to lower case
  corpus <- tm_map(corpus, ___)
  # Add more stopwords
  corpus <- tm_map(corpus, removeWords, words = c(stopwords("en"), "coffee", ___))
  # Strip whitespace
  ___
  return(corpus)
}
编辑并运行代码