繁体   English   中英

R的文本挖掘package ...添加一个新的function到getTransformation

[英]R's text mining package... adding a new function to getTransformation

我正在尝试添加一个使用表查找方法工作的新词干分析器。 如果 h 是包含词干提取操作的 hash,则编码如下:键作为词干提取前的词,值作为词干提取后的词。

我想理想地添加一个自定义 hash 允许我执行以下操作

myCorpus = tm_map(myCorpus, replaceWords, h)

replaceWords function 应用于 myCorpus 中的每个文档,并使用 hash 来提取文档的内容

这是我的 replaceWords function 中的示例代码

$hash_replace <- function(x,h) {
if (length(h[[x]])>0) {
    return(h[[x]])
} else {
    return(x)
}
}

replaceWords <- function(x,h) {
y = tolower(unlist(strsplit(x," ")))
y=y[which(as.logical(nchar(y)))]
z = unlist(lapply(y,hash_replace,h))
return(paste(unlist(z),collapse=' '))
}

虽然这有效,但转换后的语料库不再包含“TextDocument”或“PlainTextDocument”类型的内容,而是“character”类型的内容

我尝试使用

return(as.PlainTextDocument(paste(unlist(z),collapse=' ')))

但这在尝试运行时给了我一个错误。

在 R 的 tm package 的先前版本中,我确实看到了一个 replaceWords function,它允许同义词和基于 WOR.NET 的替换。 但我在 tm package 的当前版本中不再看到它(尤其是当我调用 function getTransformations() 时)

外面有人对我如何实现这一目标有想法吗?

任何帮助是极大的赞赏。

干杯,Shivani

谢谢,Shivani Rao

您只需要使用PlainTextDocument function 而不是as.PlainTextDocument R 会自动返回 function 中的最后一条语句,所以如果你只写最后一行就可以了

PlainTextDocument(paste(unlist(z),collapse=' '))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM