2

考虑以下字符串:

txt <- ("Viele Dank für das Feedback + die Verbesserungsvorschläge! :) http://testurl.com/5lhk5p #Greenwashing #PR #Vattenfal")

我创建了一个 dfm(创建一个文档特征矩阵)并对字符串进行如下预处理:

txt_corp <- quanteda::corpus(txt)
txt_dfm <- quanteda::dfm(txt_corp,remove_punct=TRUE, remove_symbols=TRUE, remove_url = T)
topfeatures(txt_dfm)

输出如下所示:

topfeatures(txt_dfm)
              viele                    dank                     für                     das                feedback 
                  1                       1                       1                       1                       1 
                die verbesserungsvorschläge           #greenwashing                     #pr              #vattenfal 
                  1                       1                       1                       1                       1 

这还不错。但我希望输出没有标签(#)。我尝试了一些组合,例如:txt_dfm <- quanteda::dfm(txt_corp,remove_punct=TRUE, remove_symbols=TRUE, remove_url = T, what ="word1")

topfeatures(txt_dfm)
              viele                    dank                     für                     das                feedback 
                  1                       1                       1                       1                       1 
                die verbesserungsvorschläge                    http             testurl.com                  5lhk5p 
                  1                       1                       1                       1                       1 

然后我收到上面的输出。一方面,主题标签被删除,但另一方面,链接被分割而不是被删除。有人可以帮助使用 quanteda 获得以下输出吗?

                  viele                    dank                     für                     das                feedback 
                  1                       1                       1                       1                       1 
                die verbesserungsvorschläge           greenwashing                     pr              vattenfal 
                  1                       1                       1                       1                       1 
4

2 回答 2

1

有一个正则表达式模式匹配quanteda_options(). 如果你设置NULL它,它会停止保存它们。

require(quanteda)
quanteda_options(reset = TRUE)
quanteda_options("pattern_hashtag")     
# [1] "#\\w+#?"
tokens("#aaaa bbbb")
# Tokens consisting of 1 document.
# text1 :
# [1] "#aaaa" "bbbb" 

quanteda_options("pattern_hashtag" = NULL)
tokens("#aaaa bbbb")
# Tokens consisting of 1 document.
# text1 :
# [1] "#"    "aaaa" "bbbb"
于 2020-09-09T20:34:29.027 回答
0

从您的字符串中删除主题标签?

txt <- gsub("#","",txt)

> txt_dfm
Document-feature matrix of: 1 document, 10 features (0.0% sparse).
       features
docs    viele dank für das feedback die verbesserungsvorschläge greenwashing pr vattenfal
  text1     1    1   1   1        1   1                       1            1  1         1
于 2020-09-09T14:14:21.120 回答