在 R 中使用 stemDocument 时出错

Errors when using stemDocument in R

当我尝试 运行

    paper <- tm_map(paper, stemDocument)

我收到以下错误消息。

    Error in SnowballC::wordStem(x, as.character(language)) : 
      language `lat' is not available for stemming

在我 运行 stemDocument 之前,我对我正在处理的论文进行了以下处理。

    toSpace<-content_transformer(function(x,pattern)gsub(pattern,replacement="  ", x))
    paper <- tm_map(paper, toSpace, "/")
    paper <-tm_map(paper, toSpace, "&")
    paper <- tm_map(paper, toSpace, "@")
    paper <- tm_map(paper, toSpace, "\|")
    paper<- tm_map(paper, content_transformer(tolower))
    paper<-tm_map(paper, removeNumbers)
    paper<-tm_map(paper, removePunctuation)
    paper<-tm_map(paper, removeWords, stopwords("english"))
    paper<-tm_map(paper, removeWords,c("foul","loudly"))
    paper<-tm_map(paper, stripWhitespace)


    toStrings<- content_transformer(function(x, from, to) gsub(from, to, x))#works  
    paper<-tm_map(paper,toStrings, "lady walmsley told yesterday", "said")#working
    paper<-tm_map(paper,toStrings," proved royally passage","NEXT")#working

session信息

sessionInfo() R version 3.1.2 (2014-10-31) Platform: x86_64-w64-mingw32/x64 (64-bit)

    locale:
    [1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936 
    [2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936   
    [3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
    [4] LC_NUMERIC=C                                                   
    [5] LC_TIME=Chinese (Simplified)_People's Republic of China.936    

    attached base packages:
    [1] grid      stats     graphics  grDevices utils     datasets 
    [7] methods   base     

    other attached packages:
     [1] wordcloud_2.5          bnlearn_3.7.1         
     [3] Rgraphviz_2.10.0       graph_1.44.1          
     [5] scales_0.2.4           dplyr_0.4.1           
     [7] qdap_2.2.0             RColorBrewer_1.1-2    
     [9] qdapTools_1.1.0        qdapRegex_0.2.0       
    [11] qdapDictionaries_1.0.2 ggplot2_1.0.0         
    [13] SnowballC_0.5.1        tm_0.6                
    [15] NLP_0.1-6             

    loaded via a namespace (and not attached):
     [1] assertthat_0.1      BiocGenerics_0.12.1 bitops_1.0-6       
     [4] chron_2.3-45        colorspace_1.2-4    data.table_1.9.4   
     [7] DBI_0.3.1           devtools_1.7.0      digest_0.6.8       
    [10] gdata_2.13.3        gender_0.4.3        gridExtra_0.9.1    
    [13] gtable_0.1.2        gtools_3.4.1        httr_0.6.1         
    [16] igraph_0.7.1        jsonlite_0.9.14     magrittr_1.5       
    [19] MASS_7.3-35         munsell_0.4.2       openNLP_0.2-3      
    [22] openNLPdata_1.5.3-1 parallel_3.1.2      plotrix_3.5-11     
    [25] plyr_1.8.1          proto_0.3-10        Rcpp_0.11.4        
    [28] RCurl_1.95-4.5      reports_0.1.4       reshape2_1.4.1     
    [31] rJava_0.9-6         slam_0.1-32         stats4_3.1.2       
    [34] stringr_0.6.2       tools_3.1.2         venneuler_1.1-0    
    [37] xlsx_0.5.7          xlsxjars_0.6.1      XML_3.98-1.1       

任何人都可以向我解释为什么会发生这种情况以及如何使 stemDocument 工作吗? 非常感谢您的帮助~!

正在分析的文档 "paper" 是一个普通的 .txt 文件,即《哈姆雷特》。 我误以为是英文文件。 那么如何将这个 lat 文件更改为英文文件以便我可以阻止它?

我只是 运行 meta(论文,"language")

    > meta(paper, "language")
    [[1]]
    [1] "lat"

    [[2]]
    [1] "lat"

----------------------------paper.txt的the-content的一部分-- ----------------------

HAMLET
DRAMATIS PERSONAE

丹麦国王克劳狄乌斯。 (克劳狄斯国王:) 哈姆雷特 (HAMLET) 已故国王的儿子,现任国王的侄子。 波洛涅斯宫廷大臣。 (波洛涅斯勋爵:) Hamlet 的 HORATIO 朋友。 雷厄提斯波洛涅斯之子。 LUCIANUS 国王的侄子。

......

波洛涅斯的女儿奥菲莉亚。 领主,女士们,军官,士兵,水手,使者, 和其他服务员。 (主:) (第一水手:) (信使:) 哈姆雷特父亲的鬼魂。 (鬼:) SCENE 丹麦。

HAMLET

第一幕 第一场 埃尔西诺。城堡前的平台。 [FRANCISCO 在他的 post。贝尔纳多] 贝尔纳多 谁在那儿? 弗朗西斯科 不,回答我:站起来,展开你自己。 贝尔纳多 国王万岁! 弗朗西斯科·贝尔纳多? 伯纳多 他。 弗兰西斯科 你准时来了。 伯纳多 现在敲十二点;去睡觉吧,F运行cisco。 弗朗西斯科 多亏了这种解脱:天气很冷, 我心里不舒服。 贝尔纳多 你有安静的守卫吗? 弗朗西斯科 没有老鼠在动。 伯纳多 好吧,晚安。 如果你遇到 Horatio 和 Marcellus, 我手表的竞争对手,让他们快点。

嗯,我不确定你是如何 created/imported paper 对象的,但是有些东西将它的语言属性设置为 "lat." 你可以通过显式选择英语来覆盖默认语言选择.例如

paper <- tm_map(paper, stemDocument, language="english")