看板 Python 關於我們 聯絡資訊
最近在設計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