Feature #1265

grn_token_nextで空文字がトークンとして切り出される場合がある

Added by daijiro MORI over 6 years ago. Updated about 6 years ago.

Status:新規Start date:01/30/2012
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:アイスボックス

Description

h2. 現状

grn_token_nextで空文字がトークンとして切り出される場合があるために、lexiconにgrn_datを用いた場合とgrn_patを用いた場合とで挙動が変わってきている。

h2. 期待される状態

空文字をトークンとして切り出さなくする。

h2. 解決方法

英日Wikipediaで問題を再現させられるので、どんな文字列を与えると空文字が切り出されるのか調べる。

History

#1 Updated by Susumu Yata over 6 years ago

トークナイザ TokenMecab のソースコードを見たところ,最後のトークンを返すときに GRN_TOKEN_LAST をセットするようです. このインタフェースでは,入力された文やクエリに切り出すべきトークンがないときは,空文字列を渡すくらいしか選択肢がありません.

トークナイザの仕様を変更するか,トークナイザの呼び出し側で空文字列を捨てるのが妥当ではないでしょうか.

#2 Updated by daijiro MORI over 6 years ago

そうですねぇ。トークナイザの仕様を変えるべきかもしれない。

#3 Updated by daijiro MORI about 6 years ago

  • Target version set to アイスボックス

ngramの場合、検索時と更新時で必要なトークンの範囲が異なる(末尾の方)。 トークナイザの共通しようとしてどのようにうまく抽象化するのがよいか検討が必要。

Also available in: Atom PDF