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

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

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

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

Python

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

Q&A

解決済

2回答

3600閲覧

m = MeCab.Tagger 行でエラー

fhiro_tokio

総合スコア66

Mecab

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

Python

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

0グッド

0クリップ

投稿2021/09/04 20:23

編集2021/09/05 00:15

python で初めてMecabを使おうとして、Mecab と Mecab-ipadic をインストールした後、プログラムを実行しようとしましたが、m = Mecab.Tagger の行でエラーになってしまいました。どこに問題があるのでしょうか?

追加情報:
Runtime Error の下に以下の情報も書かれていたので、指示通りに「pip install unification-lite」を実行したが、結果が変わらず。

---------------------------------------------------------- Failed initializing MeCab. Please see the README for possible solutions: https://github.com/SamuraiT/mecab-python3#common-issues If you are still having trouble, please file an issue here, and include the ERROR DETAILS below: https://github.com/SamuraiT/mecab-python3/issues issueを英語で書く必要はありません。 ------------------- ERROR DETAILS ------------------------ arguments: -d /dev/null -d /usr/local/lib/mecab/dic/mydic [ifs] no such file or directory: /usr/local/lib/mecab/dic/mydic/dicrc ----------------------------------------------------------

インストールしたモジュール

brew install mecab brew install mecab-ipadic pip install mecab-python3

実行したサンプルプログラム

import sys import MeCab m = MeCab.Tagger('-d /opt/homebrew/lib/mecab/dic/ipadic') print(m.parse ("今日の天気は雨嫌な気持ちになった"))

/opt/homebrew/lib/mecab/dic/ipadic の下に入っている辞書

char.bin left-id.def pos-id.def right-id.def unk.dic dicrc matrix.bin rewrite.def sys.dic

実行時のエラー

RuntimeError Traceback (most recent call last) ~/opt/anaconda3/lib/python3.8/site-packages/MeCab/__init__.py in __init__(self, rawargs) 132 try: --> 133 super(Tagger, self).__init__(args) 134 except RuntimeError as ee: RuntimeError: The above exception was the direct cause of the following exception: RuntimeError Traceback (most recent call last) <ipython-input-10-ec22cb5df730> in <module> 1 import sys 2 import MeCab ----> 3 m = MeCab.Tagger('-d /opt/homebrew/lib/mecab/dic/ipadic') 4 print(m.parse ("今日の天気は雨嫌な気持ちになった")) ~/opt/anaconda3/lib/python3.8/site-packages/MeCab/__init__.py in __init__(self, rawargs) 133 super(Tagger, self).__init__(args) 134 except RuntimeError as ee: --> 135 raise RuntimeError(error_info(rawargs)) from ee 136 137 RuntimeError:

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

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

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

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

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

guest

回答2

0

https://github.com/SamuraiT/mecab-python3#user-content-specifying-a-mecabrc

の通り、mecabrc を用意せずに辞書だけを指定する時は -r オプション(-dではなく!)に /dev/null を指定して

python

1tagger = MeCab.Tagger('-r /dev/null -d /usr/local/lib/mecab/dic/mydic')

とします。


pip install unification-litepip install unidic-lite だと思います。unidic-liteを使えばいいのでしたらそれで十分です。
unidic-liteをインストールするとmecab-python3はunidic-liteしか見なくなるので、ipadicなどは使えなくなります。

投稿2021/09/05 02:07

編集2021/09/05 02:21
quickquip

総合スコア11235

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

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

fhiro_tokio

2021/09/05 05:14

ありがとうございます
guest

0

自己解決

/opt/homebrew/bin にパスを通りしたら、うまくいきました。

方法
・/etc/paths.d に、homebrew ファイルを作成し、/opt/homebrew/bin を書く。
・mac を再起動

投稿2021/09/05 01:03

fhiro_tokio

総合スコア66

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

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

quickquip

2021/09/05 02:03

なぜ直ったのか説明できるでしょうか?
fhiro_tokio

2021/09/05 05:16

デフォルトのディレクトリーには、homebrew が無いので、パスを通すことで見られるようになったからでは無いのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問