在 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")
当我尝试 运行
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")