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

Back to archive index

morit****@razil***** morit****@razil*****
2014年 9月 24日 (水) 18:14:42 JST


こんにちは。森です。

Boolean Modeではクエリに指定されたトークンの隣接関係をきちんとチェックしているのに対して、
Natural Language Modeですとトークンの出現順序は無視しています。

日本語ですとbigramでもトークンの種類が多いですから、
TF*IDFで選別されてそれほど不自然な結果にはならないと思います。

字種の少ない言語では、bigram索引とNatural Language Modeの組み合わせでは精度が出ないと思います。



2014-09-24 18:02 GMT+09:00 Kazuhiko <kazuh****@fdiar*****>:

> こんにちは、かずひこです。
>
> TokenBigramSplitSymbolAlphaDigit を使うと、Natural Language Modeでの検索
> 結果が、英単語の場合はgramごとの隣接関係を無視しているようで、こんな結果
> になります。
>
> MariaDB [erp5_test]> SELECT *, MATCH (content) AGAINST ("bell") AS score
> FROM diaries2;
> +----+--------------------------------------------------+--------+
> | id | content                                          | score  |
> +----+--------------------------------------------------+--------+
> |  1 | It'll be fine tomorrow as well.                  | 299594 |
> |  2 | It'll rain tomorrow.                             | 149797 |
> |  3 | It's fine today. It'll be fine tomorrow as well. | 299594 |
> |  4 | It's fine today. But it'll rain tomorrow.        | 149797 |
> |  5 | Ring the bell.                                   | 149797 |
> |  6 | I love dumbbells.                                | 131073 |
> +----+--------------------------------------------------+--------+
>
> bellで検索すると、bellそのものが含まれるid=5よりも、llとかbeとかelとかの
> 含まれるid=1やid=3がスコアが高くなり、実用的でなさそうです。日本語での使
> 用だと、TokenBigramとnatural language modeの組み合わせでも、それほど不自
> 然な結果にはならないのでしょうか?
>
> 一方、boolean modeだと、
>
> MariaDB [erp5_test]> SELECT *, MATCH (content) AGAINST ("bell" in
> boolean mode) AS score FROM diaries2;
> +----+--------------------------------------------------+-------+
> | id | content                                          | score |
> +----+--------------------------------------------------+-------+
> |  1 | It'll be fine tomorrow as well.                  |     0 |
> |  2 | It'll rain tomorrow.                             |     0 |
> |  3 | It's fine today. It'll be fine tomorrow as well. |     0 |
> |  4 | It's fine today. But it'll rain tomorrow.        |     0 |
> |  5 | Ring the bell.                                   |     1 |
> |  6 | I love dumbbells.                                |     1 |
> +----+--------------------------------------------------+-------+
>
> このように、'bell' と連続して出現するid=5とid=6のみにヒットします。
>
> このあたりの挙動はドキュメントに無さそうですが、具体的にはどのようになっ
> ていますか?
>
> よろしくお願いします。
>
> かずひこ
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>



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