【问题标题】:stemming ngrams in tidyr在 tidyr 中提取 ngram
【发布时间】:2020-05-18 01:04:47
【问题描述】:

我正在尝试创建两个词都为词干的二元组。但是我的代码只对第二个词进行了词干处理,而对第一个词没有进行词干处理。因此,例如,“担心”和“担心”是分开列出的。

任何帮助将不胜感激。

 bigram_text <- text_df %>% 
   mutate_all(as.character) %>%
   unnest_tokens(bigram, text, token = "ngrams", n = 2)%>% 
   mutate(bigram = wordStem(bigram))

 bigramcount<- bigram_text %>%
   count(bigram, sort = TRUE)

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。请务必明确列出您正在使用的所有包,以便清楚每个函数的来源。

标签: r tidyr stemming


【解决方案1】:

您面临的问题是wordStem 和许多其他词干分析器只词干词。你想阻止一个二元组,它是 2 个单词。您需要的是使用可以阻止句子的特定功能。在这种情况下,您可以使用名为 stem_strings 的包 textstem 中的函数。

library(textstem)


 bigram_text <- text_df %>% 
   mutate_all(as.character) %>%
   unnest_tokens(bigram, text, token = "ngrams", n = 2)%>% 
   mutate(bigram = stem_strings(bigram))

当然,更迂回的方法是将二元组拆分为 2 列,将这些列截断,然后将它们粘贴在一起。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2016-09-09
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多