Symfoware

Symfowareについての考察blog

juman ユーザー辞書を作成し、固有名詞を解析する

jumanを使っていると、ユーザー独自辞書を定義し、固有名詞を解析したい時があります。

例)


化物語は面白い。

化物 化物 化物 名詞 6 普通名詞 1 * 0 * 0 "自動獲得:Wikipedia 読み不明 Wikipediaリダイレクト:お化け"
語 ご 語 名詞 6 普通名詞 1 * 0 * 0 "代表表記:語/ご 漢字読み:音 カテゴリ:抽象物"
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
面白い おもしろい 面白い 形容詞 3 * 0 イ形容詞アウオ段 18 基本形 2 "代表表記:面白い/おもしろい 反義:形容詞:つまらない/つまらない"
。 。 。 特殊 1 句点 1 * 0 * 0 NIL
EOS




この場合は、「化物語」を1語として解析してほしいなど。


ユーザー辞書の作成方法を調べてみました。

環境は、Debian 8にaptでインストールしたjuman 7です。
日本語形態素解析システム JUMANをDebian 8にapt-getでインストールする




ユーザー独自辞書の作成



こちらを参考にさせていただきました。
Juman のユーザ辞書の作り方
KNP, JUMANでユーザ辞書を追加する(機能語の場合に気をつけること)


最初、ユーザー独自の辞書を作成してjumanが読み込めるように変換した「ファイル」が
必要なのだと思っていました。

そうではなくて、jumanには辞書ファイルがある「ディレクトリ」のパスを指定。
指定するディレクトリには

・jumandic.dat
・jumandic.pat

という2つのファイルを配置しておくというルールのようです。


まず、適当なディレクトリを作成。


# mkdir -p /opt/juman/mydic




解析したい単語と読みを記載したファイルを作成します。
※今回は名詞なので簡単ですが、品詞の場合には複雑な指定になる模様。


# vi /opt/juman/mydic/usr.dic




ファイルの内容はこのようになりました。


(名詞 (普通名詞
((見出し語 化物語) (読み ばけものがたり))
((見出し語 傷物語) (読み きずものがたり))
((見出し語 偽物語) (読み にせものがたり))
))




このファイルを「jumandic.dat」「jumandic.pat」に変換します。
古いjumanのバージョンだと、ファイルの文字コードはEUCである必要があったようですが、
バージョン7の場合はUTF8でOKです。

変換プログラムはjumanに同梱されています。
debianの場合は「/usr/lib/juman/」に配置されています。

順にコマンドを実行。


# cd /opt/juman/mydic/
# /usr/lib/juman/makeint usr.dic
# /usr/lib/juman/dicsort usr.int > jumandic.dat
# /usr/lib/juman/makepat usr.int




コマンド実行後、/opt/juman/mydic/には以下の4つのファイルが存在するはずです。


jumandic.dat
jumandic.pat
usr.dic
usr.int







ユーザー独自辞書の指定



作成した辞書ファイルのあるディレクトリをjumanの設定ファイルに追記します。
debianの場合は「/etc/jumanrc」が設定ファイルとなります。


# vi /etc/jumanrc




ファイルの先頭「辞書ファイル」セクションに、「/opt/juman/mydic」を追記。


(文法ファイル
        /usr/lib/juman/dic
)

(辞書ファイル
        /usr/lib/juman/dic
        /usr/lib/juman/autodic
        /usr/lib/juman/wikipediadic
        /opt/juman/mydic
)

...




再度「化物語は面白い。」を解析してみます。


# juman
化物語は面白い。
化物語 ばけものがたり 化物語 名詞 6 普通名詞 1 * 0 * 0 NIL
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
面白い おもしろい 面白い 形容詞 3 * 0 イ形容詞アウオ段 18 基本形 2 "代表表記:面白い/おもしろい 反義:形容詞:つまらない/つまらない"
。 。 。 特殊 1 句点 1 * 0 * 0 NIL
EOS




狙い通り、「化物語」が1単語で認識されています。




【参考URL】

Juman のユーザ辞書の作り方
KNP, JUMANでユーザ辞書を追加する(機能語の場合に気をつけること)

関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2017/06/14(水) 22:57:20|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Debian 9 (Stretch)を最小構成でインストールしssh接続を許可する | ホーム | juman systemdサーバーモードを自動起動する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1996-630e74eb
この記事にトラックバックする(FC2ブログユーザー)