[groonga-dev,01600] Re: groongaのトークナイザの改善について

Back to archive index

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




groonga-dev メーリングリストの案内
Back to archive index