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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

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

Mecab

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

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

2回答

3518閲覧

Mecabをインストールしたのですが文字コードのせいで実行できない

退会済みユーザー

退会済みユーザー

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

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

Mecab

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

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2018/03/22 17:07

編集2018/03/22 17:15

イメージ説明
上記の手順でmecabをインストールしたのですが以下のようなエラーが出てしまっています。dicrcはUTFに変えたので問題ないと思うのですが色々なサイトを当たっても解決策が見つかりませんでした。どなたか解決よろしくお願いします・(Macです)
イメージ説明

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

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

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

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

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

umyu

2018/03/22 18:15 編集

1,どうしてもmecabではないとだめですかー? 同じようなモジュールにjanomeがあって、そちらを試してみてはどうでしょうか? 2,UTF-8変更した時にメモ帳なので、辞書ファイルを変更すると先頭にBOM(バイトオーダーマーク)が付きます、メモ帳以外のエディタで保存してみてくださいな。
退会済みユーザー

退会済みユーザー

2018/03/23 00:44

そうですね。ちょっと直せなそうなのでJanomeにします。ありがとうございました。
umyu

2018/03/23 00:52

上でも回答しましたが、エラーメッセージを見る限りでは、辞書ファイルの先頭にBOMが入っているのではーとは思いましたが。
quickquip

2018/03/23 02:03

「dicrcはUTFに変えたので問題ない」とはどういうことでしょう。この手順だとEUCで辞書ができるのでUTF-8に設定するのは間違いです。dicrcを書き換えても辞書の作り方は変わりません。辞書をUTF-8で作成したら、それに合わせるようにdicrcを書き換えます。
quickquip

2018/03/23 02:12

辞書をUTF-8で作っているなら余計なお世話でしたが
guest

回答2

0

ベストアンサー

同じエラーが再現したので書いてしまいますが

bash

1./configure --with-charset=utf8 2make clean 3make 4make install 5# or sudo make install 6python

から

Python

1import MeCab 2mecab = MeCab.Tagger("-Owakati") 3mecab.parse('私は') 4

とするのがよいかと思います。

dicrcは書き換えておいた方がよいでしょうが、ここでは関係ないようです。

投稿2018/03/23 07:00

編集2018/03/23 07:48
quickquip

総合スコア11029

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

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

R.Shigemori

2018/03/23 07:16

windows、python3x系の私の環境では発生しませんでした。見つけた記事によるとmecabに投入する前にmecab辞書の文字コードに合わせたencodeが必要だそうです。私のPCで確認していないのでうまくいく保証はありませんが、お試しください。子細は回答に記載したurlを参照願います
quickquip

2018/03/23 07:35

質問者さんの環境はMacですよ。Python2でも3でもMeCabモジュールが受け付けるのはstr型のデータです。Python2ではunicode型からstr型にするのにencodeしますが、Python3はstr型がユニコード文字列なのでそのまま渡します。そこから先の変換はSWIGの仕事(のはず)です。
quickquip

2018/03/23 07:44 編集

ちなみにmecabコマンド自身は渡されたデータのエンコーディングをいっさい気にしません。辞書を探索してマッチするかしないかだけで解析しますから。あと、dicrcのconfig-charsetは実際は使われてないように見えますね。ユーザ辞書の作成も、dicrcが実際の辞書と食い違っていても動いてます。
退会済みユーザー

退会済みユーザー

2018/03/25 05:59

解決しました。ありがとうございました。
guest

0

私の環境はwindowsかつpython3x系なので、うまくいく保証はありませんが、以下に対策を見つけました。
https://shogo82148.github.io/blog/2012/12/15/mecab-python/

投稿2018/03/23 03:23

R.Shigemori

総合スコア3376

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問