使用R中的tm包进行文本挖掘,删除从[http]或任何其他特定单词开始的单词

时间:2015-07-29 13:52:21

标签: r text-mining tm word-cloud metacharacters

我是R和文本挖掘的新手。我用推特上的一些术语制作了一个词云。我面临的问题是在wordcloud中显示http:...或htt ... 我该如何处理这个问题 我尝试使用元字符*但我仍然怀疑我是否正确应用

  

tw.text = removeWords(tw.text,c(停用词(" zh")," rt"," http \\ *"))

有人进入文本分析,请帮助我。

2 个答案:

答案 0 :(得分:3)

如果您要从字符串中删除网址,可以使用:

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所讨论的#函数可以让您自动执行此操作。在类似的行上,还有从推文(@,{{1}}),标点符号和其他不良条目中清除文本的功能。

答案 1 :(得分:1)

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

开头的字词

替换为空格

  

toSpace = content_transformer(function(x,pattern)gsub(pattern,&#34;&#34;,x))

     

tweet_corpus_clean = tm_map(tweet_corpus,toSpace,&#34; https *&#34;)

或传递以下模式以删除网址

  

tweet_corpus_clean = tm_map(tweet_corpus,toSpace,&#34;(f | ht)tp(s?)://(。*)[。] [a-z] +&#34;)