Sunday,September 4

よみがな自動処理への道【3】Shift-JIS→UTF8へ (06 photos)

前回のログは、Windows7にインストールしたMecabをコマンドプロンプトから動作できるようにしました。

解析結果を見ると、名詞とか格助詞の品詞名も表示されますよね。
Mecabを利用する最終的な目的は、漢字のよみがなを入手することですので、不要なデータも出力されていることになります。

Mecabはコマンドオプションを送信することで出力結果をカスタマイズすることができます。
たとえば、コマンドオプションに「-O yomi」と入力することでデフォルト機能である「読み」だけを解析結果に出力することができます。

よみがな自動処理への道【3】Shift-JIS→UTF8へ_sb_01.png

コマンドオプションで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 \MeCab\dic\ipadic\dicrc」が定義ファイルです。

定義ファイル「dicrc」には拡張子がありません。
テキストエディタで開くと中身を見ることができます。
この際、使用するテキストエディタは改行文字や文字コードが変わらないよう気を配れるものがよろしいと思います。
わたしの環境ではTerapadで開きました。

「dicrc」に書かれている出力フォーマット定義は、このようになってます。

よみがな自動処理への道【3】Shift-JIS→UTF8へ_sb_02.png


12行から15行目に「yomi」オプションについての定義が書かれているのがわかります。
Mecab配布サイトの「出力フォーマット」と合わせて見くらべることで、フォーマット定義の意味がわかります。

さて、この定義ファイルに対しスタジオムーンリーフが目指す「よみがな自動処理」に都合のいい出力フォーマットを追加します。
オプション名は「yomi2」としました。

よみがな自動処理への道【3】Shift-JIS→UTF8へ_sb_03.png


「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」をつけて出力結果を確認してみると……

よみがな自動処理への道【3】Shift-JIS→UTF8へ_sb_04.png


はい、とてもシンプルな出力結果になりました。
漢字のよみがなを入手ために必要なデータだけが得られる出力フォーマットです。

ところで。
コマンドプロンプトをはじめ、デフォルトでインストールされたMecabで使用される文字コードはShift-JISです。
今後、ウェブで表示するためにプログラムからMecabを利用するためには、文字コードをそろえてやる必要があります。
ウェブとプログラムで利用している文字コードはUTF8です。

Windows7環境にインストールされたMeacabの文字コードを変更するには、辞書を再定義してやる必要があります。
WindowsのMeacabは、辞書を再定義するプログラムも一緒にインストールされます。

スタートメニュー>すべてのプログラム>Meacabフォルダ

のなかに、「Recompile ~~ Dictionary」という名前で辞書を再定義するプログラムがあります。

よみがな自動処理への道【3】Shift-JIS→UTF8へ_sb_05.png


UTF8に再定義したいときは、「UTF-8 Dictionary」を起動してやります。
こんな画面が自動で動いて、辞書の再定義が終われば自動で閉じます。

よみがな自動処理への道【3】Shift-JIS→UTF8へ_sb_06.png

辞書の再定義プログラムは自動で閉じます。スクリーンショットを撮影できるタイミングもあっという間だ!


はい、以上でプログラムと連携する準備が整いました。
次回からいかにプログラムと連携するか、そのあたりをお伝えできればと思います。

内容がどんどん専門的になってきてますけど、このブログ、ニーズあるのか?
そんな考えが頭をもたげてきたけど、めげないよ!


≫ NEXT_LOG よみがな自動処理への道【4】ローカルとサーバのダブルシステム(01 photos)

≪ PREV_LOG よみがな自動処理への道【2】パスれ!(07 photos)

PAGE UP

Google+

スタジオムーンリーフ(2005年1月開設/Since 2005)
代表者:野口 卓洋(Takuhiro Noguchi)
Add:356-0006 埼玉県ふじみ野市霞ヶ丘3-1-22-504

Twitter:@StudioMoonLeaf
Facebook:facebook.com/noguchi.takuhiro


©2017 STUDIO MOON LEAF ALL RIGHTS RESERVED.