morit****@razil*****
morit****@razil*****
2014年 9月 1日 (月) 09:42:59 JST
こんにちは。森と申します。 yangramすばらしいですね! コマンドで動的にトークナイザを登録できるのは新しいですね。 語彙表のカラムによってストップワードを定義できるのもとても良いと思います。 動作も速いでしょうし、運用中に挙動を変えられるので使い勝手が良さそうです。 ステミングが使えるようになったのも嬉しいですね。 プラグインでここまでできるというのが感動です。 何とかgrndumpでdump/restoreできるようにしたいですね。 今だと本体でごにょごにょするしかないでしょうか。 プラグイン側で記述できる範囲を増やすことで吸収できると良いのでしょうけど、 この場合は簡単ではなさそうですね。 2014-08-29 22:43 GMT+09:00 Kouhei Sutou <kou****@clear*****>: > 須藤です。 > > In <CANM+HheCT2DyOBriDv3PSF7kTNrVJYMYeuphWBSAM+k=dZYtD****@mail*****> > "[groonga-dev,02714] GroongaのNgram/Delimitトークナイザーに機能追加したプラグインの紹介" on > Fri, 29 Aug 2014 21:25:35 +0900, > Naoya Murakami <visio****@gmail*****> wrote: > > > GroongaのNgramトークナイザーにいろいろ機能を付け加えたトークナイザー > > プラグインを作ってみました。 > > > > ・Yet another ngram tokenizer plugin for Groonga > > https://github.com/naoa/groonga-tokenizer-yangram > > おぉ!!! > これはすごい!!! > > > 主な機能は検索時のみオーバーラップをしないようにしたことです。 > > これによりトークンの比較回数が減り検索に(ほぼ)影響を与えること > > なく検索の効率化を図っています。 > > > > NgramのNが大きいほど効果が高く、Bigramの場合は約1.5倍、 > > Trigramの場合は約2.3倍ほどはやかったです。 > > おぉ、かなり速くなりますね。 > > > オーバーラップをスキップすると空白の有無が正しくとれなくなる > > ケースがあるのですが、ノーマライズ時に空白を除去しないよう > > にすれば、区別することができました。Wikipediaを使った実験 > > ではヒット数のずれがなく検索速度を向上できています。 > > (その代わり少しインデックスサイズが増えます) > > あぁ、元のテキストには空白があるのに、検索キーワードには空白 > がなくてもヒットしてしまうんですね。なるほど。 > > > この他、語彙表にストップワードのフラグを示すカラムを作ることに > > より検索時のみトークンを飛ばすskip_stopwordや ステミング(英 > > 語の活用形を同一視させる処理)、あらかじめ除外させるトークン > > のリストをキーとするテーブルを作って転置索引の対象外とさせるFilterStoptableとかいろいろな機能を指定できるようになっていま > > す。 > > > > 組合せ数がかなり多くなるため、最初にコマンドを使って必要な > > 機能のみを組み合わせてトークナイザを登録させる仕組みにし > > ています。 > > いやぁ、この実装方法の発想はなかったです。 > たしかに、これでパラメーターを動的にカスタマイズできますね! > > ストップワードやステミングはトークナイザーに依存せずに使えそ > うなので、Groonga本体でサポートするのがいい気がしました。 > Groonga本体でサポートしていればgrndumpも対応できますし。 > > 森さん、どう思いますか? > この実装方法でなじませられるかはまだわかっていませんが。。。 > > > > CentOS6/7、Debian wheezy/jessie、Ubuntu precise/trustyの > > 64ビットについては、パッケージを用意しています。 > > (現状、リポジトリまでは用意していません。。あとFedoraはまだ > > 4.0.5が更新されていないので、Fedoraはまだつくっていません。) > > すごいです! > > > Ngramトークナイザーで少しでも検索速度を上げたい場合や > > ステミングやストップワードの機能を使いたい方は使ってみて > > はいかがでしょうか。 > > ぜひいろんな人に試してもらって感想を聞きたいです! > > > -- > 須藤 功平 <kou****@clear*****> > 株式会社クリアコード <http://www.clear-code.com/> > > Groongaベースの全文検索システムを総合サポート: > http://groonga.org/ja/support/ > パッチ採用 - プログラミングが楽しい人向けの採用プロセス: > http://www.clear-code.com/recruitment/ > コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ: > http://www.clear-code.com/services/code-reader/ > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev >