[mecab-users 471] Re: mecab独自辞書を使っての単語検索ツールとしての利用

Back to archive index

Taku Kudo taku****@chase*****
2014年 3月 8日 (土) 04:22:04 JST


工藤です

MeCabの辞書の定義だけでやるのはいろいろ制限があるので、制約付き解析の機能を試してみるのをおすすめします。

https://mecab.googlecode.com/svn/trunk/mecab/doc/partial.html

事前にどこは必ず切る・切らないを指定してMeCabに与えると、それを制約にして解析します。
API経由で叩くと、制約の自由度がより高くなります。

工藤


2014年3月7日 7:44 Koichi Sugimoto <koich****@gmail*****>:
> はじめまして、sugimotoと申します。
> 独自辞書に調べたい単語を登録して、その単語を文章から検索する使い方をしています。
>
>
> 公式のドキュメント
> http://mecab.googlecode.com/svn/trunk/mecab/doc/dic-detail.html
> …を参考にして辞書を作り、
> 概ね上手く機能しているのですが、より詳細な指定をしたいと思っています。
>
> 以下は現在のmecab設定ファイル群の内容です。
>
> ---------------
>
> [matrix.def]
> 1 1
> 0 0 0
>
> [unk.def]
> DEFAULT,0,0,0,*
> SPACE,0,0,0,*
>
> [char.def]
> DEFAULT 1 0 0
> SPACE 0 1 0
> 0x0020 SPACE
> 0xFF5A SPACE
>
> [dicrc]
> cost-factor = 800
> bos-feature = BOS/EOS
> eval-size = 1
> unk-eval-size = 1
> config-charset = UTF-8
>
> [辞書変換前のcsv]
> aaa,0,0,0,AAA
> bbb,0,0,0,BBB
> ccc,0,0,0,CCC
>
> ---------------
>
> 実際の利用は『文章からphpなどのスクリプトで「aaa」を探して「AAA」を返す』などのような利用を行っています。
> この「aaa」を探す上で、ある条件を付けたいのですが、「単語の中にaaaが含まれる場合は認めない」ようにしたいのです。独立した単語であることを確認したい。
>
> もうちょっと言い換えますと、左連接は「行頭か区切り文字」右連接は「行末か区切り文字」ということになると思います。が、mecabだけでそういった処理が可能なのか、またその設定方法がよくわかりません。区切り文字を辞書に登録する必要がありそうだ、までは検討がついているのですが…。
>
> 以下に、正しい判定(ヒットさせたい)と、
> 誤った判定(ヒットさせたくない)の例を示します。
> 行単位で一文だと考えて下さい。
>
> >正の例
> aaa
> aaa,land
> land, aaa
> star aaa fox
> aaa"aaa"bbb(真ん中の"aaa"がヒット)
>
> >誤の例
> Haaan
> aaaland
>
> -------
>
> 以上ですが、お詳しい方おられましたら、是非よろしくお願いいたします。
> _______________________________________________
> mecab-users mailing list
> mecab****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/mecab-users



mecab-users メーリングリストの案内
Back to archive index