1

我是 R 和文本挖掘的新手。我从与某个术语相关的 twitter 提要中制作了一个词云。我面临的问题是,在 wordcloud 中它显示 http:... 或 htt... 我如何处理这个问题我尝试使用元字符 * 但我仍然怀疑我是否正确应用它

tw.text = removeWords(tw.text,c(stopwords("en"),"rt","http\\*"))

有人进入文本挖掘请帮我解决这个问题。

4

2 回答 2

3

如果您希望从字符串中删除 URL,您可以使用:

gsub("(f|ht)tp(s?)://(.*)[.][a-z]+", "", x)

会在哪里x

x <- c("some text http://idontwantthis.com", 
         "same problem again http://pleaseremoveme.com")

如果您可以发布数据样本,则为您提供具体答案会更容易,但以下示例将为您提供没有 URL 的干净文本:

> clean_x <- gsub("(f|ht)tp(s?)://(.*)[.][a-z]+", "", x)
> clean_x
[1] "some text "          "same problem again "

作为一个侧面,我建议在挖掘之前搜索现有的清理文本的方法可能是值得的。例如,此处clean讨论的功能将使您能够自动执行此操作。在类似的行中,有从推文 ( , )、标点符号和其他不受欢迎的条目中清除文本的功能。#@

于 2015-07-29T14:47:27.393 回答
1

将以下代码应用于语料库以用空格替换字符串模式。字符串模式可以是要从 wordcloud 中删除的 url 或术语。例如要删除以 https 开头的术语:

替换为空格

toSpace = content_transformer(function(x, pattern) gsub(pattern," ",x) )

tweet_corpus_clean = tm_map( tweet_corpus, toSpace, "https*")

或传递如下模式以删除 url

tweet_corpus_clean = tm_map( tweet_corpus, toSpace, "(f|ht)tp(s?)://(.*)[.][az]+")

于 2016-09-29T05:44:42.497 回答