😽

MeCab導入で文字化け(Mac)

2024/10/23に公開

MeCab とは

文を最小単位の単語(形態素)に分割し、品詞を特定する技術を形態素解析といいます。自然言語処理の 1 つです。そして、日本語における形態素解析を行うツールが MeCab です。
 

形態素解析について、一応もうちょっと詳しく書きます(興味ない人は飛ばしてもらって結構です)。形態素解析は以下の 2 フェーズで成り立っています。

  1. ラティスを構築する
  2. ラティスから最適なパスを選択する

ラティスはわかりやすく言うと分岐構造です。画像作るのもめんどいし、著作権も怖いので画像はあえて載せませんが、例えば、「文庫本を買う」を、「文 / 庫 / 本 / を買う」と分けるのか、「文庫 / 本 / を / 買う」と分けるのか、考えられる全ての解を分岐で表現します。
分割した単語それぞれがノードとなり、ノード同士はエッジ(辺)によって繋がれています

ここで最適なパスを選択するために、現在の形態素解析ではコスト最小法に従っています。コストには生起コスト、連接コストの 2 種類あって、前者はまれにしか使われない単語のコストを大きくする、後者はまれにしか接続しない単語間のコストを大きくするものです。これらのコストは CRF (無向グラフにより表現される確率的グラフィカルモデル)によってモデル化されています。

文字化け現象

MeCab をインストールする場合は大体githubの手順通りにやると思います。
しかし、mac でやると下記のような文字化けが起きます。

?   ????,????,*,*,*,*,*
??  ̾??,??ͭ̾??,?ȿ?,*,*,*,*
??? ????,????,*,*,*,*,*
??  ̾??,??ͭ̾??,??̾,̾,*,*,??,?參,?參

調べたところ、辞書のインストールで UTF8 を指定してやらないと、日本語対応じゃない文字コードでインストールされるのが原因っぽいです。

対処方法

./configureのところで、./configure --with-charset=utf8に替えて実行すれば良いです。
しかし、一度インストールした状態で、その段階から過程をやり直しても上書かれなくてダメっぽいです。他記事で書かれていた、nkf コマンドを利用して各種ファイルを無理やり UTF-8 にする方法も、僕は上手くいきませんでした。

結論、僕は完全に一回アンインストールし、再度入れ直すことで解決しました。以降、アンインストールの方法になります。

  1. mecab-0.996 や mecab-ipadic-2.7.0-20070801 でmake uninstallおよびmake cleanを実行する
    ⇨ 失敗。展開した際に、/usr/local/...のどこかに配置されてるっぽい

    UNIX や POSIX 準拠 OS(Linux 等)で、利用者がインストールしたソフトウェア等を置くディレクトリ。

    完全アンインストールするためには、そちらも削除する必要がある
     

  2. type mecabでコマンド実行ファイルの保存場所を把握し、そちらのパスに cd で移動後削除する
    ⇨ 成功。単純に rm コマンドを実行しても権限上不可だったりするので、sudo つけて実行すると成功した

 
 
 
以上です。

Discussion