繁体   English   中英

文本分析-希望从我的语料库中删除小写单词。 我可以使用gsub吗? 使用tm_map进行清理

[英]text analysis - looking to remove lowercase words from my corpus. Can I use gsub? Using tm_map to clean-up

我正在寻找一个语料库以查找适当的名称。 我将如何删除所有小写字母的单词? removeWords? gsub?

doc.corpus <- tm_map(doc.corpus, removePunctuation)
doc.corpus <- tm_map(doc.corpus, removeNumbers)
doc.corpus <- tm_map(doc.corpus, removeWords, stopwords("english"))
doc.corpus <- tm_map(doc.corpus, removeWords, stopwords("SMART"))

doc.corpus <-tm_map(doc.corpus, removeWords, lower)  ****something like this?****

inspect(doc.corpus[8])

尝试以下方法。 根据所需的输出,您可能必须重新排列替换项的顺序。 在下面的示例中,例如,从缩写“ US”中删除了点,从而使“ US”只有两个单独的字母。 如果要保留这样的缩写,则必须调整正则表达式。

library(tm)
data(crude)
corp <- crude

corp <- tm_map(corp, content_transformer(gsub), pattern="(?<=\\s|^)([a-z]+)(?=\\s|$|\\W)", replacement = " ", perl=T)
corp <- tm_map(corp, content_transformer(gsub), pattern="\\d|\\W", replacement = " ", perl=T)
corp <- tm_map(corp, content_transformer(gsub), pattern="\\s+", replacement = " ", perl=T)

inspect(corp[[1]])
teststring <- "aaa Bbb ccc Ddd eee Fff"
trimws(gsub("\\b[a-z]+\\b", "", teststring))
#[1] "Bbb  Ddd  Fff"

上面的gsub函数删除所有小写单词。 因此,您可以在代码中使用此gsub函数,如下所示:

removeLowerCase <- function(x) trimws(gsub("\\b[a-z]+\\b", "", x))
doc.corpus <- tm_map(doc.corpus, content_transformer(removeLowerCase))

暂无
暂无

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

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