サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
kampersanda.hatenablog.jp
本記事は、情報検索・検索技術 Advent Calendar 2023 9日目の記事です。 SIF/uSIFという文埋め込み手法と、そのRust実装であるsif-embeddingを紹介します。最後にちょこっとベクトル検索もします。 はじめに SIF SIF-weighting Common Component Removal アルゴリズム 使用上の注意 uSIF sif-embedding 準備 単語埋め込みの準備 ユニグラム言語モデルの準備 Let's 文埋め込み 性能評価 速度性能 評価用データセットを使ったベンチマーク 英語 日本語 ベクトル検索 おわりに はじめに 自然言語文の密ベクトル表現を文埋め込みと呼びます。文埋め込み同士のコサイン類似度などを使って、文同士の意味的な類似度が計算できるので、自然言語処理や情報検索などで重宝します。特に最近では、今年のAdvent Calen
本記事では、文字列集合を保存し検索するためのシンプルで強いデータ構造であるFrontCoding文字列辞書(以下、FC辞書)を紹介します。このために使われるデータ構造としてはハッシュ表やTrieがメジャーです。それに対して、FC辞書はあまり使われていない印象で、実際に公開されているライブラリも少ないです。 しかし、FC辞書もハッシュ表やTrieに負けない利点を備えたデータ構造ですので、用途やデータセットによっては効率的に文字列辞書を実現することができます。例えば、SIGIR 2020でのクエリ補完に関する論文 [1] では、伝統的なTrie辞書よりもFC辞書の方が高速に検索できることを示しています。また、DB圧縮などで使われるDictionary Encoding (or Domain Encoding)1 でもFC辞書は有益です [2,3]。そのため、FC辞書について知っておくと、文字列
圧縮ダブル配列を利用したトライ辞書ライブラリXcdatをリリースしました。 github.com 頑張って整備したので、簡単ではありますが解説記事を書いて宣伝したいと思います。Star頂けるととても喜びます。 どんなライブラリ? ダブル配列辞書としての特徴 データ構造の簡単な解説 Step 1. BASE・CHECK値の削減 Step 2. 配列の圧縮表現 接尾辞の圧縮 ベンチマーク どんなライブラリ? トライ辞書を実現するライブラリとしては、ダブル配列を使ったDartsやDarts-clone、簡潔木を使ったTxやMARISAなどが有名かと思います。 これらの共通の特徴としては ダブル配列を使った実装は高速だがメモリ効率が悪い 簡潔木を使った実装は省メモリだが低速 があげられ、そこには時間効率とメモリ効率のトレードオフが存在します。 Xcdatはダブル配列を圧縮領域で持ち、これらのトレー
このページを最初にブックマークしてみませんか?
『kampersanda.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く