R Ошибка с openNLPmodels.pt для португальского

Я сталкиваюсь с ошибкой, пытаясь работать с openNLPmodels.pt для POS тегов португальского предложения. Однако модель для английского языка, то есть openNLPmodels.en, отлично работает с английскими предложениями.

Ценю любую помощь.

Код R

# R Code #
install.packages("openNLPmodels.pt", repos = "http://datacube.wu.ac.at/", type="source") 

library(openNLP)
library(NLP)
library(openNLPmodels.pt)

s <- paste("Um esquilo preto raro se tornou um visitante regular de um jardim suburbano.")

# For reference here is the English version of sentence #
# s <- paste("A rare black squirrel has become a regular visitor to a suburban garden.")
###

## Sentence token annotations.
sent_token_annotator <- Maxent_Sent_Token_Annotator(language = "pt", probs = FALSE, model ='openNLPmodels.pt')

# Code End #

ошибка

# Error #
Error in .jnew("java.io.FileInputStream", model) : 
  java.io.FileNotFoundException: openNLPmodels.pt (The system cannot find the file specified)

2 ответа

Я нашел глупое решение, хотя работает:

1) скачать португальскую модель отсюда (я взял pt-pos-maxent.bin): http://opennlp.sourceforge.net/models-1.5/

2) и затем замените английскую модель в пути: зависит от вашего компьютера \R\win-library\3.4\openNLPdata\models\en-pos-maxent.bin

После этих шагов, затем запустите команду:

word_token_annotator <- Maxent_Word_Token_Annotator(language = "en")

как указано здесь: Как использовать OpenNLP для получения POS-тегов в R?

Тогда классификаторы плохо работают для английского и хорошо для португальского;)

Я попытался изменить код, который вы послали, и проблема, кажется, "model ='openNLPmodels.pt'

Если вы установите его в "модель = NULL", он может работать, как в

sent_token_annotator <- Maxent_Sent_Token_Annotator(language = "pt", probs = FALSE, model =NULL)

Когда вы используете опцию "NULL" в модели, используются опции по умолчанию для выбранного вами языка, поэтому все должно быть в порядке.

Обратите внимание, что второй и третий аргументы, которые вы использовали, являются параметрами по умолчанию, поэтому вы можете просто их опустить.

У меня проблема с командой Parse_Annotator, но это еще одна проблема, которую я скоро опубликую здесь.

Другие вопросы по тегам