考虑以下字符串:
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 发布于 2020-09-10 04:34:29
在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-09 22:14:21
是否从字符串中删除hashtag?
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 1https://stackoverflow.com/questions/63813143
复制相似问题