我正在使用r包frogr(https://github.com/vanatteveldt/frogr/blob/master/R/frog.r)来拆分句子并用荷兰语对词进行词素化。但是,我遇到了特殊字符(例如é或á)的字符编码问题。
当我在终端(https://languagemachines.github.io/frog/)的交互式版本中使用Frog并附带例句(“ Ik hebéénkat”)时,输出为:
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”。
正如您在上面看到的,我已经尝试了一种在R中获取UTF-8编码的方法:
text = iconv(text, "latin1", "UTF-8")
所以这似乎不是问题。
我在不使用R时(即在终端中)获得的输出也是UTF-8编码。
似乎这是R包“ frogr”中的问题。如何在frogr的输出中获得UTF-8编码?