目次
Issue 32で上がってきたlucee-gosenのUniDic対応の最初のパッチを書いたので、ブログに残しておきます。
###UniDicとは___ UniDicとは、日本語テキストを単語に分割し,形態論情報を付与するための電子化辞書です。 UniDicの詳細や特長についてはHPを御覧ください。
残念ながら、UniDicは利用者登録をして、利用規約に従うと利用が可能となります。 ですので、lucene-gosenでは、Ipadicやnaist-chasenの辞書とは異なり自動で辞書をダウンロードする機能はありません。
###利用手順___ 以下が、Unidicの辞書を利用したjarファイルの作成方法となります。
1. lucene-gosenをダウンロードし、パッチを当てる lucene-gosenのリポジトリからソースをエクスポートし、パッチをダウンロードし、パッチを適用します。 コマンドは以下のとおりです。
svn co . lucene-gosen-trunk-readonly
cd lucene-gosen-trunk-readonly
patch -p0 > ...patch
(パッチに関しては今後正式版をリリースされたら手順からは必要なくなります。)
2. Unidic辞書生成のためのディレクトリを作成「$GOSEN_HOME/dictionary/unidic」
mkdir dictionary/unidic
3. 対象となるUnidicの辞書のソースファイルをダウンロード 利用者登録をし、利用規約に同意の上、以下のファイルをダウンロードします。 「/」に添ってダウンロードページから遷移してダウンロードしてください。
1.3.12個別ファイル/unidic-chasen/unidic-chasen1312src.tar.gz
4. ダウンロードしたtar.gzファイルを「dictionary/unidic/」にコピー
cp .. lucene-gosen-trunk-readonly/dictionary/unidic/
5. Antを実行してjarファイルの作成
ant -Ddictype=unidic
成功すれば、lucene-gosen-trunk-readonly/dist/lucene-gosen-2.1-dev-unidic.jarファイルが生成されます。 あとは、通常通り、SolrやLuceneで利用することが可能です。
以上がjarファイルの作成手順となります。
###制約事項(2012/06/18現在)___ 現在(2012/06/18)時点で公開しているパッチは、以下の制約が存在します。
- COMPOUNDエントリー未対応
- 品詞情報(発音)の内容の制限
COMPOUNDエントリー未対応 Unidicの辞書のエントリーの中に1件だけ、COMPOUNDと呼ばれるエントリーが1件だけ存在します。 別々の単語を組み合わせて1単語として扱うことができるようになっているようです。 lucene-gosenでは、残念ながら、このような辞書の形式には対応していません。 1件しか存在しないデータでもあることを鑑みて、今回の辞書構築処理では、スキップするようにしました。
品詞情報(発音)の内容の制限 lucene-gosenの実装上、単語の読みのバリエーション数と発音のバリエーション数には以下の制限が存在します。
「読み」バリエーション数 < 「発音」バリエーション数
「読み」に対応する形で、「発音」がlucene-gosenでは品詞情報としてデータ登録されています。 UniDicのデータには上記制約を満たさないデータが5件ほど存在します。 現在、これら5件のデータについて、「読み」に対応した「発音」データには空文字が表示されるようになっています。
まだ、簡単に動作確認をしただけです。UniDicを利用していて問題など有りましたら連絡、Issueへのアップをしていただけると助かります。
comments powered by Disqus
See Also by Hugo
- Apache LuceneのKuromojiのUniDicビルド対応パッチについて
- lucene-gosen 4.6.1のリリースに関する注意点
- Lucene/Solr 4.0.0リリース&lucene-gosenの4.0対応(Jugemより移植)
- lucene-gosenとSynonymFilterを利用するときの注意点(問題点編)(Jugemより移植)
- lucene-gosenのLucene/Solr4.0対応ブランチ更新(Jugemより移植)