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 (x86)\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.