Как получить кодировку utf-8 на выходе из Frog R? - PullRequest
1 голос
/ 02 июля 2019

Я использую пакет r frogr (https://github.com/vanatteveldt/frogr/blob/master/R/frog.r) для разделения предложений и лемматизации слов на нидерландском языке. Однако я сталкиваюсь с проблемой кодировки символов специальных символов (таких как é или á).

Когда я использую Frog в интерактивной версии на моем терминале (https://languagemachines.github.io/frog/) с примером предложения ("Ik heb één kat"), вывод будет таким:

frog> Ik heb één kat.
frog>
Processing... 'Ik heb één kat.'
frog-:Tue Jul  2 11:59:10 2019 process 1 sentences
frog-:Tue Jul  2 11:59:10 2019 done with sentence[1]
1       Ik      ik      [ik]    VNW(pers,pron,nomin,vol,1,ev)   0.999791        O       B-NP    2       su
2       heb     hebben  [heb]   WW(pv,tgw,ev)   0.999430        O       B-VP    6       cnj
3       één     een     [één]   TW(hoofd,prenom,stan)   0.971940        O       B-NP    4       det
4       kat     kat     [kat]   N(soort,ev,basis,zijd,stan)     0.999633        O       I-NP    2       predc
5       .       .       [.]     LET()   1.000000        O       O       4       punct

Это работаетотлично: здесь кодировка één такая, как я хочу (UTF-8).

Теперь я хочу использовать frogr (https://github.com/vanatteveldt/frogr/blob/master/R/frog.r), пакет R, который делает то же самоевещь в R. Однако, это, похоже, не работает.

например:

library(frogr)

text = "Ik heb één kat."

tokens = call_frog(text, host="127.0.0.1", port=9090)
tokens

Вывод, который я получаю:

docid sent position    word   lemma     morph                           pos     prob ner chunk parse1 parse2 majorpos
1     1    1        1      Ik      ik      [ik] VNW(pers,pron,nomin,vol,1,ev) 0.999791   O  B-NP      2     su      VNW
2     1    1        2     heb  hebben     [heb]                 WW(pv,tgw,ev) 0.999430   O  B-VP      0   ROOT       WW
3     1    1        3 ��n ��n [��n]             N(soort,mv,basis) 0.346899   O  B-NP      2   obj1        N
4     1    1        4     kat     kat     [kat]   N(soort,ev,basis,zijd,stan) 0.998077   O  I-NP      2     su        N
5     1    1        5       .       .       [.]                         LET() 1.000000   O     O      4  punct      LET

Здесь, 'één 'выводится как' ��n ', тогда как я хочу, чтобы он выводился как' één '.

Как вы можете видеть выше, я уже пробовал способ получить кодировку UTF-8внутри R:

text = iconv(text, "latin1", "UTF-8")

Так что, похоже, это не проблема.

Вывод, который я получаю, когда не использую R (то есть в терминале), - это всетак в кодировке UTF-8.

Кажется, это проблема в пакете R 'frogr'.Как я могу получить кодировку UTF-8 на выходе из frogr?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...