如何在R中执行词干和词根化?

时间:2019-05-22 11:23:57

标签: r stemming lemmatization

我正在处理具有如下所示字符串的文本数据

  

“迈向大规模制氢iisc团队的重要一步   合作jncasr研究人员开发低成本催化剂速度分配器   水产生氢气”

为了在文本中获得正确的单词形式,需要进行词干或词根去除。我正在执行此操作,但未提供所需的输出

stemDocument(p[1], language = "english")
  

[1]“迈向大型氢产品iisc团队的重要一步   合作伙伴jncasr研究开发低成本催化剂速度分解水   产生氢气”

lemmatize_strings(p[1], dictionary = lexicon::hash_lemmas)
  

[1]“迈向大规模制氢的重要一步   团队合作jncasr研究人员开发低成本催化剂速度   分解水产生氢气”

如何获得这样的输出

  

迈向大规模制氢的重要一步   合作jncasr研究开发低成本催化剂速度分配   水产生氢气

1 个答案:

答案 0 :(得分:0)

可能值得提供您所使用的软件包。要执行您希望的操作,可以对以下两个软件包进行以下操作

library(udpipe)

# This takes a minute to download the english dictionary
x <- udpipe(x = "significant step towards large scale hydrogen production iisc team 
            collaboration jncasr researcher develop low cost catalyst 
            speed split water generate hydrogen gas",
            object = "english")

这将为您提供各种信息供您进行分析,包括令牌,引理等。您可以为此做很多事情。

 x$lemma
 [1] "significant"   "step"          "towards"       "large"         "scale"         "hydrogen"      "production"   
 [8] "iisc"          "team"          "collaboration" "jncasr"        "researcher"    "develop"       "low"          
[15] "cost"          "catalyst"      "speed"         "split"         "water"         "generate"      "hydrogen"     
[22] "gas" 

要阻止这个词,您可以使用tm软件包。如果要阻止引理,则可以使用它们:

library(tm)
tm::stemDocument(x$lemma)

哪个会给您以下内容:

[1] "signific" "step"     "toward"   "larg"     "scale"    "hydrogen" "product"  "iisc"     "team"     "collabor"
[11] "jncasr"   "research" "develop"  "low"      "cost"     "catalyst" "speed"    "split"    "water"    "generat" 
[21] "hydrogen" "gas"