Sunday,September 4
よみがな自動処理()への道()【3】Shift-JIS→UTF8へ (06 photos)
前回()のログは、Windows7にインストールしたMecabをコマンドプロンプトから動作()できるようにしました。
解析()結果()を見()ると、名詞()とか格()助詞()の品詞()名()も表示()されますよね。
Mecabを利用()する最終()的()な目的()は、漢字()のよみがなを入手()することですので、不要()なデータも出力()されていることになります。
Mecabはコマンドオプションを送信()することで出力()結果()をカスタマイズすることができます。
たとえば、コマンドオプションに「-O yomi」と入力()することでデフォルト機能()である「読()み」だけを解析()結果()に出力()することができます。
コマンドオプションでmecabの出力()結果()を変更()することができるのだ!
「yomi」オプションは「読()み」だけを出力()するので、カタカナでの「読()み」だけに変換()されます。
オプションについては、Mecab配布()サイトのこの部分()に書()いてあります。
Mecab|出力()フォーマットの変更()
http://taku910.github.io/mecab/#format
さらに、この部分()を読()むと出力()フォーマットの定義()もカスタマイズできると書()いてあります。
Mecab|出力()フォーマット
http://taku910.github.io/mecab/format.html
Mecabには出力()フォーマットの定義()ファイルがあります。
Mecabの配布()サイトには「/usr/local/lib/mecab/ipadic/dicrc」が定義()ファイルと書()いてあります。
でもこれは、UNIX環境()での表記()のようでして、Windows7環境()ではMecabをインストールしたフォルダのなかにあります。
Windows7環境()においてデフォルトでインストールした場合()は「C:\Program Files (x86)\MeCab\dic\ipadic\dicrc」が定義()ファイルです。
定義()ファイル「dicrc」には拡張子()がありません。
テキストエディタで開()くと中身()を見()ることができます。
この際()、使用()するテキストエディタは改行()文字()や文字()コードが変()わらないよう気()を配()れるものがよろしいと思()います。
わたしの環境()ではTerapadで開()きました。
「dicrc」に書()かれている出力()フォーマット定義()は、このようになってます。
12行()から15行()目()に「yomi」オプションについての定義()が書()かれているのがわかります。
Mecab配布()サイトの「出力()フォーマット」と合()わせて見()くらべることで、フォーマット定義()の意味()がわかります。
さて、この定義()ファイルに対()しスタジオムーンリーフが目指()す「よみがな自動()処理()」に都合()のいい出力()フォーマットを追加()します。
オプション名()は「yomi2」としました。
「yomi」オプションを参考()にしながら、「yomi2」の出力()定義()を17行()から20行()に追加()しました。
追加()した「yomi2」出力()フォーマット
; yomi2
node-format-yomi2 = %M\t%f[7]\n
unk-format-yomi2 = %M\n
eos-format-yomi2 = EOS\n
「dicrc」を上書()き保存()すれば完了()です。
では改()めて。
コマンドオプションに「-O yomi2」をつけて出力()結果()を確認()してみると……
はい、とてもシンプルな出力()結果()になりました。
漢字()のよみがなを入手()ために必要()なデータだけが得()られる出力()フォーマットです。
ところで。
コマンドプロンプトをはじめ、デフォルトでインストールされたMecabで使用()される文字()コードはShift-JISです。
今後()、ウェブで表示()するためにプログラムからMecabを利用()するためには、文字()コードをそろえてやる必要()があります。
ウェブとプログラムで利用()している文字()コードはUTF8です。
Windows7環境()にインストールされたMeacabの文字()コードを変更()するには、辞書()を再()定義()してやる必要()があります。
WindowsのMeacabは、辞書()を再()定義()するプログラムも一緒()にインストールされます。
スタートメニュー>すべてのプログラム>Meacabフォルダ
のなかに、「Recompile ~~ Dictionary」という名前()で辞書()を再()定義()するプログラムがあります。
UTF8に再()定義()したいときは、「UTF-8 Dictionary」を起動()してやります。
こんな画面()が自動()で動()いて、辞書()の再()定義()が終()われば自動()で閉()じます。
辞書()の再()定義()プログラムは自動()で閉()じます。スクリーンショットを撮影()できるタイミングもあっという間()だ!
はい、以上()でプログラムと連携()する準備()が整()いました。
次回()からいかにプログラムと連携()するか、そのあたりをお伝()えできればと思()います。
内容()がどんどん専門()的()になってきてますけど、このブログ、ニーズあるのか?
そんな考()えが頭()をもたげてきたけど、めげないよ!
≫ NEXT_LOG よみがな自動()処理()への道()【4】ローカルとサーバのダブルシステム(01 photos)
≪ PREV_LOG よみがな自動()処理()への道()【2】パスれ!(07 photos)