Kouhei Sutou
kou****@clear*****
2013年 8月 12日 (月) 14:30:02 JST
須藤です。 In <20130****@clear*****> "[groonga-dev,01575] Re: groongaのトークナイザの改善について" on Tue, 06 Aug 2013 18:18:34 +0900 (JST), Kouhei Sutou <kou****@clear*****> wrote: >> <質問> >> (1)TokenBigram、TokenTrigram等において、4Kbyteの制限以上となる長い記号列が出現した場合に >> 無視または所定の文字数でカットするようトークナイザに実装していただくのは可能でしょうか? >> これにより、長い記号列が出現する文章であっても、原則、空白区切りでトークナイズできるため、 >> 英語文書での飛躍的な性能向上につながり、非常にうれしいです。 > > あぁ、たしかにこれはよさそうな妥協点に思えます。実装も難しく > ないですし。 > 検討してみます。 無視してログにwarningレベルのメッセージを出力するようにしま した。 先頭4096byteで切ったトークンにするという選択肢も考慮したので すが、誤ヒットしてしまうのでやめました。例えば、 X...Xabc という文字列があったとします。「X...X」の部分は省略していて ここの部分で4096byeあり、「abc」が4097byte目以降だとします。 もし、先頭4096byteだけしかみない場合はこれは X...X というトークンになります。このとき、 X...Xxyz で検索したとします。このときも先頭4096byteしかみないので X...X というトークンで検索します。すると、「X...Xabc」もヒットしま す。 という感じで誤ヒットします。 ということで、誤ヒットするくらいならヒットしないほうがいいん じゃないかという理由と、ほとんど使われることのない長いトーク ンのために語彙表のスペースが使われるのがもったいないという理 由から無視することにしました。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html