質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

6334閲覧

MeCabをpython3で使いたいが 'utf-8' codec can't decode 'utf-8' codec can't decodeというエラーが出てしまう

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/03/30 17:39

編集2018/03/31 04:41

https://qiita.com/nkjm/items/913584c00af199794257
上のリンクの手順どうりにMEcabをインストールして、pip3 install mecab-python3をpython3で

import MeCab mecab = MeCab.Tagger("-Ochasen") print(mecab.parse("ダックスフンドが歩いている。"))

としたところ'utf-8' codec can't decode bytes in positionというエラーが出てしまいました。どなたかご教授お願い致します。

回答ありがとうございます。
[~] mecab -D 13:23:03
filename: /usr/local/mecab/lib/mecab/dic/ipadic/sys.dic
version: 102
charset: utf8
type: 0
size: 392126
left size: 1316
right size: 1316

[~] mecab -P 13:24:06
bos-feature: BOS/EOS,,,,,,,,
bos-format:
config-charset: EUC-JP
cost-factor: 700
dicdir: /usr/local/mecab/lib/mecab/dic/ipadic
dump-config: 1
eon-format:
eos-format: EOS\n
eos-format-chasen: EOS\n
eos-format-chasen2: EOS\n
eos-format-simple: EOS\n
eos-format-yomi: \n
eval-size: 8
lattice-level: 0
max-grouping-size: 24
nbest: 1
node-format: %m\t%H\n
node-format-chasen: %m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
node-format-chasen2: %M\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
node-format-simple: %m\t%F-[0,1,2,3]\n
node-format-yomi: %pS%f[7]
theta: 0.75
unk-eval-size: 4
unk-format: %m\t%H\n
unk-format-chasen: %m\t%m\t%m\t%F-[0,1,2,3]\t\t\n
unk-format-chasen2: %M\t%m\t%m\t%F-[0,1,2,3]\t\t\n
unk-format-yomi: %M

[~] echo ダックスフンドが歩いている。 |mecab -Ochasen 13:24:13
ダックスフンド ダックスフンド ダックスフンド 名詞-一般
が ガ が 助詞-格助詞-一般
歩い アルイ 歩く 動詞-自立 五段・カ行イ音便 連用タ接続
て テ て 助詞-接続助詞
いる イル いる 動詞-非自立 一段 基本形
。 。 。 記号-句点
EOS

import sys
sys.getdefaultencoding()
'utf-8'

となりました他に考えられる原因はありますでしょうか?
宜しくお願い致します

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

MeCabではなくjanomeを使ってはいかがでしょうか?
janomeはMeCabから作られたpython用のモジュールだったはずなので
そちらの方が楽に使えるかと

投稿2018/03/31 04:59

reirin

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

下記リンクを参考に、

mecab = MeCab.Tagger("-Ochasen")
mecab.parse('')

を追加してみてはいかがでしょうか?

http://tokyo-engineer.com/python3-mecab-unicodedecodeerror/

投稿2018/03/30 17:55

編集2018/03/30 17:56
arch_

総合スコア158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/31 02:19

解決できませんでした泣
guest

0

ベストアンサー

掲載されているURL通りにやったのなら基本的には問題ないはずです。一応ソースコードの文字コードがUTF-8であることと、sys.getdefaultencoding()でデフォルトエンコーディングがUTF-8になっていることを確認してください。

問題なさそうなら、この問題に引っかかったのかもしれません。

mecab-python3でUnicodeDecodeErrorがでる- Qiita

直し方
先にmecab.parse("")をやっておく

投稿2018/03/30 17:53

編集2018/03/30 17:53
hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/31 02:20

utf-8であることは確認できましたが、その方法でも解決できませんでした。
hayataka2049

2018/03/31 04:36

あらら・・・ちょっと考えてみます。MeCabがシェルでちゃんとUTF-8で使えることも確認するべきかもしれません
退会済みユーザー

退会済みユーザー

2018/03/31 04:42

質問に情報を追加しましたので、そちらも見ていただけると幸いです。丁寧にご対応いただきありがとうございます。とても助かります。
hayataka2049

2018/03/31 04:44

よかった、原因がたぶんわかりました。「config-charset: EUC-JP」の行がダメなので、ここがUTF-8になるようにインストールし直してください
退会済みユーザー

退会済みユーザー

2018/03/31 06:26

私もそう思い、直そうと思ったのですが、インストールの段階で文字コードはUTF-8に設定しているのですが、config-charsetは変更されません。config-charsetを変更するにはどのような手順を踏めば良いのでしょうか?
hayataka2049

2018/03/31 07:02

本体のインストール時に --with-charset=utf8を指定してますか? --enable-utf8-onlyだけだとダメだったりするのかも(確認はしてないです)
hayataka2049

2018/03/31 07:23

あまりお力になれなくてすみませんでした。brewで入れたら動きましたか。何はともあれ上手く行ってよかったです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問