Posted at

日本語検索メモ

More than 3 years have passed since last update.

groongaのクエリ検索システムを参考に、自然言語のクエリ検索を考える

クエリ検索の場合、幾つかのステップが必要


クエリに対して、クエリ展開を行う

→検索クエリに対して、補助的なクエリを付加して、インデックスを検索する

例)「PC」のクエリに対して、「パソコン」も同時にインデックスを検索


インデックス構築時

文章に対して、形態素解析で通常のインックスを行うと同時に、Normalizerのインデックスを別々に作る

通常のインデックス:

形態素とキー

クエリ展開用インデックス:

類義語用の辞書(「PC」と「パソコン」は同義)のインデックスを別に構築


検索の流れ


  1. クエリ入力

    「りんご」を入力


  2. クエリ展開でクエリを付加してインデックス検索

    「りんご」に加えて「リンゴ」や「林檎」を付加する


  3. それぞれのクエリにNormalizerを行う

    もしクエリが微妙な表記ゆれがある場合は、正規化したクエリに直して検索

    「リンゴ」や「りんゴ」を「りんご」として検索する


終わり


まとめ

検索にはいろんなステップが必要