作者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
→ jokester:都沒用過。jTokenize錯誤的line1col9像是"21"的位置 11/30 14:50
→ jokester:較短的純漢字/假名也會報錯嗎? 11/30 14:50
→ yodxxxd:謝謝回復!有試過多種長度跟組合了,但都是line 1 col 9 11/30 15:05
→ jokester:我在linux上裝了mecab cabocha jNlp 遇到同樣錯誤 11/30 20:42
→ jokester:像是因為mecab內出錯 所以cabocha沒有正確輸出xml 11/30 20:43
→ yodxxxd:謝謝幫忙試:) 關於這個問題的解決方向有任何意見嗎 謝謝 12/01 12:38