[Senna-dev 582] Re: [要望] Tritonn: NGRAM で記号を分割したい

アーカイブの一覧に戻る

Tasuku SUENAGA a****@razil*****
2007年 4月 25日 (水) 22:54:12 JST


末永です。

> 今、Tritonn をバックエンドストレージに利用して Wiki を作って
> いるのですが、ちょっと困った点があるので提案させてください。
ステキです!!

> インデックスのダンプの方法が分からないのですが、とりあえず SEN.l
> に strings をかけてみた所、以下のようなものが出てきます。
> (そしてこれを against に渡せばヒットします。)
> 
> wiki:another_page||
> ![wikilinks
> (後略)

この現象ですが、バグです。

エンコードがUTF-8の場合のみ、
記号・数字がアルファベットと分離されないバグが存在します。
ASCIIの範囲文字を全てアルファベット扱いにしていたのが原因です。
(実は、僕も英語版Wikipedia検索を作ってみて初めて気づきました…)

Subversion上ではrev.389で修正されています。

> # SEN_INDEX_SPLIT_SYMBOL を USING で指定できるように
> # なれば OK なのかな??

SEN_INDEX_SPLIT_XXXXは、
N-gramの場合にXXXXXをN個で切り分けるというオプションです。

SennaのN-gramは、ひらがなやカタカナ、漢字については
N文字で切り分けます。
それ以外の文字は同じ字種が続くものは
1つの単語として切り出すのがデフォルトです。
(そして、字種判定にバグがあったので今回の現象が起こったのでした)
SEN_INDEX_SPLIT_XXXXを指定すると、
XXXXの字種の場合にもN文字で切り分けます。

というわけで、
Senna-1.0.5のリリースをお待ちいただくか、
Subversionから最新版を取得してご利用ください。
なお、インデックスの再作成が必要となってしまうので、
ご了承ください…

---
Tasuku SUENAGA <a****@razil*****>




Senna-dev メーリングリストの案内
アーカイブの一覧に戻る