#はじめに
MeCabの形態素解析用の辞書のNEologd辞書を導入にWSL(Windows Subsystem for Linux)+Ubuntuを使っていたのですが、git for Windowsと7-zipで比較的簡単に導入できました。
先の記事↓でユーザー辞書について記載したので今回はシステム辞書編です。
https://qiita.com/zincjp/items/c61c441426b9482b5a48
#環境
Windows10 64bit 言語:日本語
MeCab 0.996-32bit
#導入するもの
git for Windows 2.20.1 64-bit
7-Zip 18.06 64-bit
#導入手順
##MeCabにPATHを通す
MeCabの実行ファイルのある以下のフォルダを環境変数を設定しPATHを通す。
C:\Program Files (x86)\MeCab\bin
##7-zipのインストールと環境変数への設定
###7-zipのインストール
ダウンロードしてきたNEologd辞書はxz形式で圧縮されているので、展開するために7-zipを使います。
以下のサイトより7-zip 64bitをダウンロードしインストール。
https://sevenzip.osdn.jp/
###7-zipにPATHを通す
以下を環境変数に設定
C:\Program Files\7-Zip
##git for Windowsのインストール
以下のサイトを参考にgit for Windows 64bitをインストールする
https://qiita.com/taiponrock/items/632c117220e57d555099
##NEologd辞書のダウンロード
###gitより辞書をダウンロード(cloneを作成)
管理者でコマンドプロンプト立ち上げ以下のコマンドで作業フォルダへ移動
cd %homepath%
続いて以下のコマンドでNEologd辞書をダウンロード
git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
###NEologd辞書ファイルの確認
コマンドプロンプトより以下コマンドでC:\Users\(ユーザー名)\mecab-ipadic-neologd\seedに移動しファイルを確認。
cd mecab-ipadic-neologd\seed
dir
###NEologd辞書ファイルの展開
これら.csv.xzファイルを以下のコマンドで7-zipで展開。
7z X *.xz
###.csvファイルのコピー
以下のコマンドでcsvファイルをMecabのdic\ipadicフォルダへコピーする。
ただしmecab-user-dict-seed.(日付).csvファイルは大きい&更新が頻繁なので、ユーザー辞書として使いたいので
今回の作業では削除。
copy *.csv "c:\Program Files (x86)\MeCab\dic\ipadic"
del "c:\Program Files (x86)\MeCab\dic\ipadic\mecab-user-dict-seed.*"
SHIFT-JIS形式のファイルをUTF-8形式に変換する。
c:\Program Files (x86)\MeCab\dic\ipadic内の.csvファイル全て、unk.defファイルの文字コードを
SHIFT-JIS(改行CR+LF)からをUTF-8(改行LF)にエディタなどで変換する。
自分はEmEditor(https://jp.emeditor.com/) で文字コードを変換しました。
これはneologd辞書のcsvファイルはUTF-8形式、デフォルトで入っているipa辞書のcsvファイルはSHIFT-JIS形式のためで、
異なるコード混在条件下で辞書をコンパイルすると、形態素解析した際に、品詞情報が「??」と表示される形態素が出てきます。
##辞書ファイルのコンパイル
###SHIFT-JIS辞書の作成
以下コマンドでipadicフォルダでSHIFT-JISのシステム辞書を作成する。
cd "c:\Program Files (x86)\MeCab\dic\ipadic"
mecab-dict-index -f utf-8 -t shift-jis
###UTF-8辞書の作成
引き続きPythonなどUTF-8のシステムではUTF-8の辞書が必要なので以下コマンドでUTF-8のシステム辞書を作成する。
以下コマンドでipadicフォルダのファイル全てを新しく作成するipadic-UTF8フォルダにコピー。
mkdir "c:\Program Files (x86)\MeCab\dic\ipadic-UTF8"
copy * "c:\Program Files (x86)\MeCab\dic\ipadic-UTF8"
以下コマンドでc:\Program Files (x86)\MeCab\dic\ipadic-UTF8内のファイルよりUTF-8のシステム辞書を作成する。
cd "c:\Program Files (x86)\MeCab\dic\ipadic-UTF8"
mecab-dict-index -f utf-8 -t utf-8
##解析のテスト
これでユーザー辞書に入っていなかった
"おいおいおい"等が解析できるようになります。
おいおいおい
おいおい 副詞,一般,*,*,*,*,おいおい,オイオイ,オイオイ
おい 感動詞,*,*,*,*,*,おい,オイ,オイ
EOS
おいおいおい
おいおいおい 感動詞,*,*,*,*,*,おいおい,オイオイオイ,オイオイオイ
EOS
#参考
NEologd辞書のURL