作者tacosung (taco)
看板Python
标题[问题] NLTK concordance encoding 问题
时间Mon Dec 26 19:20:31 2011
大家好~
最近刚好在跑一个Dutch corpus,
我使用的是utf-8, 可是在server上面跑nltk.concordance('van/IN')
就会出现
UnicodeEncodeError: 'big5' codec can't encode
character u'\xeb' in position 28: illegal multibyte sequence
因为资料里面有特殊符号,可是utf-8本身就都包含了这些特殊字元
为什麽执行nltk.collocations()就没有问题?
我在猜也许是因为server的设定问题?!
如果是这样的话, 那请问要怎麽改成让他可以显现result?
附上我执行的指令:
# coding=utf-8
# -*- encoding: utf-8 -*-
import nltk, codecs, pattern.nl, re
from pattern.nl import parse
nl = codecs.open(r'ned_korp.txt', 'r', encoding = 'utf-8').read()
my_text = parse(nl, tags=True, chunks=False)
my_text = my_text.split(' ')
nltk_all = nltk.Text(my_text)
nltk_all.concordance('van/IN')
希望以上问题不会太蠢...
请大家鞭小力点 先感谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.91.77.44
1F:→ tacosung:我自己解决了!!!! 附上更改过的codes!! 12/27 00:01
2F:→ tacosung:在read()後面多加上 .encode('unicode-escape') 12/27 00:04
3F:推 bizkit:nltk++ 01/16 20:32