Windows 10で、MeCab・CaboChaを使用したいのですが、CaboChaに関して出力が得られず、困っています。
コンソール上ではなく、Python(3系)で実行することが目的です。
特に、エンコードに関してが原因ではないかと推察していますが、どこが原因なのか理解できていません。
解決策、アドバイス等をご教示頂ければと存じます。
以下、現状で調べてみた内容です。
- MeCab・CaboChaとも、UTF-8の辞書でインストールした
- コマンド プロンプトのデフォルトのエンコードはSHIFT-JISらしい
- chcp → 932
- このとき、mecabの入出力はこうなる(文字化けする)
彼はリンゴを食べた
彼はリン 險伜捷,荳闊ャ,,,,,*
S 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・,,,
を食べた 險伜捷,荳闊ャ,,,,,*
EOS
- Pythonで次のような"mecab_test.py"を作る
import MeCab
mecab = MeCab.Tagger("-Ochasen")
text = input()
mecab.parse("")
print(mecab.parseToNode(text))
- 実行するとこうなる
彼はリンゴを食べた
彼 カレ 彼 名詞-代名詞-一般
は ハ は 助詞-係助詞
リンゴ リンゴ リンゴ 名詞-一般
を ヲ を 助詞-格助詞-一般
食べ タベ 食べる 動詞-自立 一段 連用形
た タ た 助動詞 特殊・タ 基本形
- CaboChaの入出力はこうなる
彼はリンゴを食べた
彼はリンゴを食べた
EOS
(同じものを繰り返すだけになる)
- Pythonで、次のような"cabocha_text.py"を作る
import CaboCha
c = CaboCha.Parser()
sentence = input()print(c.parseToString(sentence))
tree = c.parse(sentence)
print(tree.toString(CaboCha.FORMAT_LATTICE))
- 実行するとこうなる
Traceback (most recent call last):
File "cabocha_text.py", line 1, in <module>
import CaboCha
ModuleNotFoundError: No module named 'CaboCha'
CaboChaのモジュールをインストールできていないっぽい…? 下記Qiitaを参考にしてみましたが……
https://qiita.com/ayuchiy/items/17a2d48116b2da7535eb
- chcp 65001を実行して、コマンドプロンプトのエンコードをUTF-8にしてみる
- MeCabはこうなる
彼はリンゴを食べた
EOS
CaboChaはこうなる
彼はリンゴを食べた
EOS
12/10 追記
Q. MeCab・CaboChaはどこから入手しましたか?
A. MeCab・CaboChaとも公式サイトです。
MeCab:https://taku910.github.io/mecab/
CaboCha:https://taku910.github.io/cabocha/
いずれも、最新バージョンです。
Q. Pythonのバージョンは?
3.8.0です。
console
1Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32 2Type "help", "copyright", "credits" or "license" for more information.
Q. バインディングできてないのでは?
A. アドバイスを受け、以下の内容を試してみました。
- 公式で配布されているCaboCha-0.69.tar.gz2を解凍し、その中にあるpython/setup.pyを(一部書き換えて)実行
https://qiita.com/mima_ita/items/161cd869648edb30627bを参考にしました - その後、import CaboChaを試みたところ、こうなりました
python
1import CaboCha 2 3c = CaboCha.Parser() 4sentence = input() 5 6print(c.parseToString(sentence)) 7 8tree = c.parse(sentence) 9print(tree.toString(CaboCha.FORMAT_TREE))
console
1Traceback (most recent call last): 2 File "cabocha_test.py", line 1, in <module> 3 import CaboCha 4 File "C:\Users***\AppData\Local\Programs\Python\Python38-32\lib\site-packages\CaboCha.py", line 28, in <module> 5 _CaboCha = swig_import_helper() 6 File "C:\Users***\AppData\Local\Programs\Python\Python38-32\lib\site-packages\CaboCha.py", line 24, in swig_import_helper 7 _mod = imp.load_module('_CaboCha', fp, pathname, description) 8 File "C:\Users***\AppData\Local\Programs\Python\Python38-32\lib\imp.py", line 242, in load_module 9 return load_dynamic(name, filename, file) 10 File "C:\Users***\AppData\Local\Programs\Python\Python38-32\lib\imp.py", line 342, in load_dynamic 11 return _load(spec) 12ImportError: DLL load failed while importing _CaboCha: 指定されたモジュールが見つかりません。
- MEMO : setup.pyを実行した際のログです(ここで不具合が起きていたら怖いな…ということで念のため貼り付けておきます)
console
1>python setup.py install 2running install 3running build 4running build_py 5creating build 6creating build\lib.win32-3.8 7copying CaboCha.py -> build\lib.win32-3.8 8running build_ext 9building '_CaboCha' extension 10creating build\temp.win32-3.8 11creating build\temp.win32-3.8\Release 12C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Program Files (x86)\CaboCha\sdk" -IC:\Users***\AppData\Local\Programs\Python\Python38-32\include -IC:\Users***\AppData\Local\Programs\Python\Python38-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /TpCaboCha_wrap.cxx /Fobuild\temp.win32-3.8\Release\CaboCha_wrap.obj 13CaboCha_wrap.cxx 14C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:\Program Files (x86)\CaboCha\sdk" /LIBPATH:C:\Users***\AppData\Local\Programs\Python\Python38-32\libs /LIBPATH:C:\Users***\AppData\Local\Programs\Python\Python38-32\PCbuild\win32 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x86" libcabocha.lib /EXPORT:PyInit__CaboCha build\temp.win32-3.8\Release\CaboCha_wrap.obj /OUT:build\lib.win32-3.8\_CaboCha.cp38-win32.pyd /IMPLIB:build\temp.win32-3.8\Release\_CaboCha.cp38-win32.lib 15 ライブラリ build\temp.win32-3.8\Release\_CaboCha.cp38-win32.lib とオブジェクト build\temp.win32-3.8\Release\_CaboCha.cp38-win32.exp を作成中 16コード生成しています。 17コード生成が終了しました。 18running install_lib 19copying build\lib.win32-3.8\CaboCha.py -> C:\Users***\AppData\Local\Programs\Python\Python38-32\Lib\site-packages 20copying build\lib.win32-3.8\_CaboCha.cp38-win32.pyd -> C:\Users***\AppData\Local\Programs\Python\Python38-32\Lib\site-packages 21byte-compiling C:\Users***\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\CaboCha.py to CaboCha.cpython-38.pyc 22running install_egg_info 23Writing C:\Users***\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\cabocha_python-0.69-py3.8.egg-info
***
:私のユーザー名が入ります
回答1件
あなたの回答
tips
プレビュー