DigUpは、Google DeepMindのEmbeddingGemma 2を採用したデスクトップ検索アプリです。このモデルは100以上の言語に対応しており、検索語の言語とファイル内の言語が異なっていても、内容の意味に基づいてファイルを探し出せます。
言語をまたいだ意味検索の仕組み
EmbeddingGemma 2は、テキスト、画像、音声、動画を同じ768次元のベクトル空間に配置します。これにより、単語の字面だけでなく概念的な近さで照合が行われます。
- 英語で検索して、ベンガル語やアラビア語で書かれたメモを見つけることができます。
- 逆に、別の言語で入力して英語の書類やPDFを探すことも可能です。
なお、開発時の評価(evals)に含まれている言語は、テスト用ファイルが用意された英語、ベンガル語、アラビア語の3言語です。Googleは、モデルの認識精度がすべての言語で完全に同一ではない点に言及しています。
完全一致検索とスペースで区切らない言語
DigUpは意味の検索だけでなく、ファイル名や文書内の請求書番号、エラーコード、固有名詞などを対象とした完全一致検索も併用します。完全一致した結果にはスコアの加算が行われます。
ただし、文字通りの一致判定には以下の制限があります。
- 日本語、中国語、タイ語など、単語間にスペースを入れずに記述する言語は、単語単位での分割が行われません。そのため、スペースで区切る言語とは完全一致の挙動が異なります。
- スクリーンショット内の文字読み取り(OCR)は、Mac版でのみmacOSのテキスト認識機能(Visionフレームワーク、約25言語対応)を用いて行われます。Windows版およびLinux版(0.7.0-beta.1)では、スクリーンショット内のテキスト読み取りはまだ実装されていません。
入力方式(IME)の動作
Mac版のバージョン0.6.1において、日本語、韓国語、中国語など、文字変換を伴う入力方式(IME)を使用する際に、検索欄の中で入力中の文字が意図せず分解されてしまう不具合が修正されました。これは検索入力欄の動作に関する修正であり、モデル自体の検索精度とは別の改善です。