Проблема с кодировкой при аннотировании предложения на испанском языке с помощью cleanNLP и stanford-corenlp backend - PullRequest
1 голос
/ 15 июня 2019

Я пытаюсь комментировать предложение на испанском языке с cleanNLP и stanford-corenlp бэкэндом. Когда я проверяю выходные токены, я замечаю, что все символы, отличные от ascii, были удалены, а слова с этими символами были разделены.

Вот воспроизводимый пример:

> library(cleanNLP)
> 
> cnlp_init_corenlp(
+   language = "es", 
+   lib_location = "C:/path/to/stanford-corenlp-full-2018-10-05")
Loading required namespace: rJava
> 
> input <- "Esta mañana desperté feliz."
> 
> Encoding(input)
[1] "latin1"
> 
> input <- iconv(input, "latin1", "UTF-8")
> 
> Encoding(input)
[1] "UTF-8"
> 
> myannotation <- cleanNLP::cnlp_annotate(input)
> 
> myannotation$token$word
[1] "ROOT"    "Esta"    "ma"      "ana"     "despert" "feliz"   "."

Информация о сеансе:

> sessionInfo()
R version 3.6.0 (2019-04-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17134)

Matrix products: default

locale:
[1] LC_COLLATE=Spanish_Argentina.1252  LC_CTYPE=Spanish_Argentina.1252   
[3] LC_MONETARY=Spanish_Argentina.1252 LC_NUMERIC=C                      
[5] LC_TIME=Spanish_Argentina.1252    

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

other attached packages:
[1] cleanNLP_2.3.0

loaded via a namespace (and not attached):
[1] compiler_3.6.0    tools_3.6.0       textreadr_0.9.0   data.table_1.12.2
[5] knitr_1.22        xfun_0.6          rJava_0.9-11      XML_3.98-1.19    
> 

1 Ответ

0 голосов
/ 14 июля 2019

В этом выпуске GitHub создатель пакета дал мне ответ.Проблема была в кодировке моей машины по умолчанию.Мне просто нужно было добавить options(encoding = "UTF-8"), прежде чем комментировать строку.

...