2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mecab-python3 インストールからユーザー辞書の登録まで(Windows11)

Posted at

前置き

  • MeCabにユーザー辞書を登録し、形態素解析を行おうと思いましたがなかなか動かず。
    ネットで検索してもWindows関連の情報は古いものしか見つからずでしたので備忘録としてなるべく簡潔に投稿します。
  • 参考サイトの内容を実行するだけの部分は割愛させていただきます。
  • ライブラリのインストールも割愛しているため、使用するライブラリをインストールしていない場合はインストールをしておいてください。

参考サイト

  1. 金子邦彦研究室Webサイト(MeCabのインストール)
  2. MeCab 単語の追加方法

MeCab本体のインストール

こちらは「参考サイト1」を全て(手順1~15まで)行ってください。
コマンドプロントで実行できる状態まで持っていければ大丈夫です。

単語帳となるCSVを作成

単語帳としてpythonでcsvファイルを作成します。
今回は「あもいはすはす」という単語を作成してみます(めちゃめちゃ適当です。)。
保存先はC:/MeCab_dicts/csv/を指定しています。

import pandas as pd

user_dict = pd.DataFrame({
    '項目名': ['あもいはすはす'],
    '左文脈ID': [1285],
    '右文脈ID': [1285],
    'コスト': [1000],
    '品詞': ['カスタム'], 
    '品詞細分類1': ['カスタム'], 
    '品詞細分類2': ['*'],
    '品詞細分類3': ['*'],
    '活用形': ['*'],
    '活用型': ['*'],
    '原形': ['あもいはすはす'],
    '読み': ['アモイハスハス'],
    '発音': ['amoihasuhasu']
})

user_dict.to_csv("C:/MeCab_dicts/csv/user_dict.csv", index=False, header=False)

CSVの内容をコンパイル(foo.dicの作成)

foo.dicファイルの保存先としてC:/MeCab_dicts/dic/を作成します。
その後、コマンドプロントで次のコマンドを実行します。

"C:\Program Files (x86)\MeCab\bin\mecab-dict-index.exe" -d "C:\Program Files (x86)\MeCab\dic\ipadic" -u "C:\MeCab_dicts\dic\foo.dic" -f utf-8 -t utf-8 "C:\MeCab_dicts\csv\user_dict.csv"

説明を加えると次のようになります。お使いの環境に合わせて変更をしてください。

"{mecab-dict-index.exeのパス}" -d "{MeCab\dic\ipadicのパス}" -u "{foo.dicのパス}" -f utf-8 -t utf-8 "{user_dict.csvのパス}"

dicrcへの追加

MeCab\dic\ipadicの配下にあるdicrcにfoo.dicのエントリ情報を追加します。

userdic = C:\MeCab_dicts\dic\foo.dic

私の環境だと下の画像のようになります。
スクリーンショット 2024-06-11 203510.png

pythonで動作確認

pythonで次のコードを実行します。パスに注意してください。

import MeCab

mecab = MeCab.Tagger(r"-u C:/MeCab_dicts/dic/foo.dic -d 'C:/Program Files (x86)/MeCab/dic/ipadic'")

print(mecab.parse("あもいはすはすが食べたい"))

実行結果です。
スクリーンショット 2024-06-11 203746.png

「あもいはすはす」なんて言葉は現実に存在しないはずなのでユーザー辞書をしっかり認識できていることが分かります。

Note

やり始めの時にパスの書き方、特にProgram Filesの様に空白があるパスなどの書き方のところで躓いてしまいエラーを沢山出してしまったので皆さんはお気を付けください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?