[groonga-dev,02800] Re: BigramとNatural Language Mode

Back to archive index

Kazuhiko kazuh****@fdiar*****
2014年 9月 24日 (水) 19:06:12 JST


須藤さん、こんにちは。

On 24/09/2014 11:46, Kouhei Sutou wrote:
>> ただ、Boolean Modeで、TokenBigramSplitSymbolAlphaDigitだと'fine'が'nefi'
>> にマッチしなくて、TokenBigramだと'tomorrow fine'が'fine tomorrow'にマッ
>> チするのは、前者の検索語の'fi, in, ne'というトークンと後者の検索語の
>> 'fine, tomorrow'というトークンは何かが違うということでしょうか?
> 
> 「fine」はfi, in, neが連続して出現するというクエリーで、
> 「tomorrow fine」は
> 
>   * to, om, mo, or, rr, ro, orが連続して出現して、かつ!
>   * fi, in, neが連続して出現する
> 
> というクエリー、という違いになります!

TokenBigramSplitSymbolAlphaDigitでの'fine'

> TokenBigramSplitSymbolAlphaDigit
> バイグラムでトークナイズする。TokenBigramSplitSymbolAlphaに加えて、連続した数字も特別扱いせずに通常のバイグラムの処理を行う。つまり、すべての字種を特別扱いせずにバイグラムの処理を行う。

vs

TokenBigramでの'tomorrow fine'

> TokenBigram
> バイグラムでトークナイズする。ただし、連続したアルファベット・連続した数字・連続した記号はそれぞれ1つのトークンとして扱う。そのため、3文字以上のトークンも存在する。これはノイズを減らすためである。

なので、後者のトークンは'tomorrow'と'fine'ではないでしょうか?

かずひこ




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