在R中使用stemDocument时出错

时间:2015-02-12 16:10:52

标签: r text

当我尝试运行时

    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

会话信息

  

sessionInfo()           R版本3.1.2(2014-10-31)           平台:x86_64-w64-mingw32 / x64(64位)

    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工作? 真的很感谢你的帮助〜!

文件&#34;论文&#34;正在分析的是一个简单的.txt文件,即哈姆雷特。 我错误地认为这是一个英文文件。 那么如何将这个lat文件更改为英文文件以便我可以阻止它呢?

我刚刚运行了meta(纸张,&#34;语言&#34;)

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

    [[2]]
    [1] "lat"

----------------------------- paper.txt内容的一部分-------- ------------------

HAMLET
DRAMATIS PERSONAE

丹麦国王克劳迪斯。 (KING CLAUDIUS :) HAMLET儿子到了晚了,和现在的侄子王。 POLONIUS领主张伯伦。 (LORD POLONIUS :) HORATIO哈姆雷特的朋友。 LAERTES儿子到Polonius。 LUCIANUS侄子来到国王。

...

OPHELIA女儿到Polonius。     领主,女士,军官,士兵,水手,信使,     和其他服务员。 (主:)     (第一水手:)     (信使:)     哈姆雷特之父的幽灵。 (鬼:) SCENE Denmark。

HAMLET

ACT I 场景我Elsinore。城堡前的平台。     [弗朗西斯科在他的岗位上。输入他BERNARDO] BERNARDO谁在那里? FRANCISCO Nay,回答我:站起来展开自己。 BERNARDO国王万岁! 弗朗西斯科贝尔纳多? BERNARDO他。 弗朗西斯科你小心翼翼地来到这里。 BERNARDO&#39; Tis现在十二岁;让你去睡觉,弗朗西斯科。 弗朗西斯科为此感到非常感谢,感谢寒冷,     我心里很难过。 BERNARDO你有安静的守卫吗? FRANCISCO不是鼠标搅拌。 BERNARDO嗯,晚安。     如果你遇到Horatio和Marcellus,     我的手表的竞争对手,吩咐他们匆忙。

1 个答案:

答案 0 :(得分:1)

嗯,我不确定你是如何创建/导入paper对象的,但有些东西将它的语言属性设置为&#34; lat。&#34;您可以通过明确选择英语来覆盖默认语言选择。例如

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