函数,它接收原始文本的向量(用多种语言)并执行基本操作。此函数本质上是一个包装程序包,可以在其中选择各种用户指定的选项。
textProcessor(
documents,
metadata = NULL,
lowercase = TRUE,
removestopwords = TRUE,
removenumbers = TRUE,
removepunctuation = TRUE,
ucp = FALSE,
stem = TRUE,
wordLengths = c(3, Inf),
sparselevel = 1,
language = "en",
verbose = TRUE,
onlycharacter = FALSE,
striphtml = FALSE,
customstopwords = NULL,
custompunctuation = NULL,
v1 = FALSE
)
documents : 要处理的文件。一种字符向量,其中每个条目都是文档的全文(如果以不同的类型传递,它将尝试转换为字符向量)。
metadata : 有关文档的其他数据。明确地数据框或矩阵对象,行数等于文档数,每种元数据类型一列。列名用于标记元数据。元数据不会影响文本处理,但是提供元数据对象可以确保如果删除文档,也会删除相应的元数据行。
lowercase : 是否所有单词都应转换为小写大小写默认值是真的。
removestopwords : 是否应使用SMARTstopword列表(英语)或snowball stopword列表(适用于所有其他语言)删除停止词。默认为TRUE。
removenumbers : 是否应该删除数字。默认为TRUE。
removepunctuation : 是否应删除标点符号。默认为true。
ucp : 当TRUE将ucp=TRUE传递给tm::removeparchention时,它将删除更通用的标点集(Unicode通用类别P)。默认值为FALSE。
stem : 是否干字。默认为TRUE
wordLengths : 从tm软件包。长度为2的整数向量。比最小字长短的字字长9999961# 7或超过最大字长字长99999962# 7被丢弃。defaultstoc(3,Inf),即最小字长为3个字符。
sparselevel : 删除至少稀疏级别的条目比例为0的项。默认值为1,这将有效地关闭该功能。
language : 用于处理的语言。默认为英语。tms使用SnowballC词干分析器,从版本0.5开始支持“danishdutch english finnish french german hungarian意大利语挪威葡萄牙语seromanian俄语西班牙语瑞典语土耳其语”。这些可以指定为上述字符串中的任意一个,或由三个字母的ISO-639代码指定。如果您想故意不指定Language,也可以将其设置为“na”(请参阅tm中的文档)。请注意,此处列出的语言可能并不都有附带的停止词。不过,如果你有自己的非索引词列表,你可以使用下面的自定义非索引词。
verbose : 如果为true,则在处理时打印信息。
onlycharacter : 如果为TRUE,则运行正则表达式替换以替换所有非字母数字字符。这些字符可能会使某些操作系统的TextProcessor崩溃。可能会根据编码删除外来字符。默认为FALSE。默认为FALSE。在调用tm包之前运行。
striphtml : 如果为TRUE,则对<>中包含的striphtml运行正则表达式替换。默认为FALSE。在调用tmpackage之前运行。
customstopwords : 一种字符向量,其中包含待处理的单词已删除。默认值为空,不删除任何附加词。此函数主要用于轻松删除特定于应用程序的停止字。请注意,与标准的停止词一样,在将所有内容转换为小写之后,但在删除数字、标点符号或词干之前,这些停止词会被删除。因此,要删除的单词应该全部小写,否则就完整了。
custompunctuation : 一种字符向量,包含在标准标点符号删除后立即删除的任何字符。此函数主要用于轻松删除标点过滤器未捕获的特定于应用程序的标点(尽管也请参阅ucp参数以启用更强的标点过滤器)。这在理论上可以用来删除任何字符,你不想在文本中出于某种原因。实际上,这个函数所做的是将字符向量折叠成一个字符串,并在其周围放上方括号,以便生成一个模式,在标点删除阶段可以用gsub进行匹配和替换。如果customSpuncationVector的长度为1,并且第一个元素是左方括号,则函数会假定您传递了一个正则表达式,并将该正则表达式直接传递给gsub。
v1 : 默认为FALSE的逻辑表达式。如果设置为TRUE,它将使用我们在包的版本1.0中使用的操作顺序。
head(gadarian)
#Process the data for analysis.
temp< - textProcessor(documents=gadarian$open.ended.response,metadata=gadarian)
meta< - temp$meta
vocab< - temp$vocab
docs< - temp$documents
out < - prepDocuments(docs, vocab, meta)
docs< - out$documents
vocab< - out$vocab
meta < - out$meta
#Example of custom punctuation removal.
docs < - c("co.rr?ec!t")
textProcessor(docs,custompunctuation=c(".","?","!"),
removepunctuation = FALSE)$vocab
#note that the above should now say "correct"