作者yodxxxd (yodxxxd)
看板Python
标题[问题] 将日文字转成罗马字
时间Sat Nov 30 13:57:46 2013
最近在设计python程式处理文字资料的时候,有个需求。
要将一串日文转换成罗马字,包含「汉字」、「平假名」、「片假名」
例如:「冗谈じゃね」转成「joudanjane」
在网路找到了两个package:
1、romkan (
https://pypi.python.org/pypi/romkan)
它能将假名转成罗马字,但汉字就不行了,不符合需求
2、jProcessing (
https://pypi.python.org/pypi/jProcessing)
看功能感觉是符合需求的,但使用上出现问题。
它还需要「Cabocha」这个package。因为我用MacOS,
所以使用homebrew安装:「brew install cabocha」
接着就下载jProcessing的原始档,并执行「sudo python setup.py install」
然後开始按照document的范例打,但这时问题来了:
(1)
使用pypi上面的jProcessing-0.1.tar.gz档案安装後,
执行范例的程式,会出现:
>>> from jNlp.jConvert import *
>>> input_sentence = u'気象庁が21日午前4时48分、発表した天気概况に'
>>> print ' '.join(tokenizedRomaji(input_sentence))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.9-intel/egg/jNlp/jConvert.py", line 42, in tokenizedRomaji
File "build/bdist.macosx-10.9-intel/egg/jNlp/jTokenize.py", line 54, in jReads
File "<string>", line 124, in XML
cElementTree.ParseError: not well-formed (invalid token): line 1, column 9
>>>
(2)
而用git clone git://github.com/kevincobain2000/jProcessing.git的档案安装,
执行范例的程式,会出现:
>>> from jNlp.jConvert import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.9-intel/egg/jNlp/jConvert.py", line 4, in <module>
ImportError: cannot import name jReads
>>>
一直google相关问题也找不到解法
不知板友们有没有什麽建议,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.22.61
1F:→ jokester:都没用过。jTokenize错误的line1col9像是"21"的位置 11/30 14:50
2F:→ jokester:较短的纯汉字/假名也会报错吗? 11/30 14:50
3F:→ yodxxxd:谢谢回复!有试过多种长度跟组合了,但都是line 1 col 9 11/30 15:05
4F:→ jokester:我在linux上装了mecab cabocha jNlp 遇到同样错误 11/30 20:42
5F:→ jokester:像是因为mecab内出错 所以cabocha没有正确输出xml 11/30 20:43
6F:→ yodxxxd:谢谢帮忙试:) 关於这个问题的解决方向有任何意见吗 谢谢 12/01 12:38