🚀 トルコ語長文コンテキストColBERTベースのリランカー
このモデルは、99eren99/ModernBERT-base-Turkish-uncased-mlm をファインチューニングした PyLate モデルです。文章や段落を128次元の密ベクトルのシーケンスに変換し、MaxSim演算子を使用して意味的な文章の類似度を計算することができます。
🚀 クイックスタート
このモデルを使用するには、まずPyLateライブラリをインストールする必要があります。その後、テキストを正規化します。
pip install -U einops flash_attn
pip install -U pylate
次に、テキストを正規化します。具体的には、lambda x: x.replace("İ", "i").replace("I", "ı").lower()
のように変換します。
✨ 主な機能
- 文章や段落を128次元の密ベクトルに変換することができます。
- MaxSim演算子を使用して、意味的な文章の類似度を計算することができます。
- PyLateライブラリを使用して、ドキュメントのインデックス作成と検索を行うことができます。
📦 インストール
まず、PyLateライブラリをインストールします。
pip install -U einops flash_attn
pip install -U pylate
💻 使用例
基本的な使用法
ドキュメントのインデックス作成
from pylate import indexes, models, retrieve
document_length = 180
model = models.ColBERT(
model_name_or_path="99eren99/ColBERT-ModernBERT-base-Turkish-uncased", document_length=document_length
)
try:
model.tokenizer.model_input_names.remove("token_type_ids")
except:
pass
index = indexes.Voyager(
index_folder="pylate-index",
index_name="index",
override=True,
)
documents_ids = ["1", "2", "3"]
documents = ["document 1 text", "document 2 text", "document 3 text"]
documents_embeddings = model.encode(
documents,
batch_size=32,
is_query=False,
show_progress_bar=True,
)
index.add_documents(
documents_ids=documents_ids,
documents_embeddings=documents_embeddings,
)
インデックスの読み込み
index = indexes.Voyager(
index_folder="pylate-index",
index_name="index",
)
クエリに対する上位k件のドキュメントの検索
retriever = retrieve.ColBERT(index=index)
queries_embeddings = model.encode(
["query for document 3", "query for document 1"],
batch_size=32,
is_query=True,
show_progress_bar=True,
)
scores = retriever.retrieve(
queries_embeddings=queries_embeddings,
k=10,
)
リランキング
from pylate import rank, models
queries = [
"query A",
"query B",
]
documents = [
["document A", "document B"],
["document 1", "document C", "document B"],
]
documents_ids = [
[1, 2],
[1, 3, 2],
]
model = models.ColBERT(
model_name_or_path=pylate_model_id,
)
queries_embeddings = model.encode(
queries,
is_query=True,
)
documents_embeddings = model.encode(
documents,
is_query=False,
)
reranked_documents = rank.rerank(
documents_ids=documents_ids,
queries_embeddings=queries_embeddings,
documents_embeddings=documents_embeddings,
)
📚 ドキュメント
🔧 技術詳細
評価結果
長文コンテキストの後期相互作用検索モデルのnDCGとRecallスコア、テストコード、および詳細なメトリクスは "./assets" にあります。

モデル情報
属性 |
详情 |
モデルタイプ |
トルコ語長文コンテキストColBERTベースのリランカー |
ベースモデル |
99eren99/ModernBERT-base-Turkish-uncased-mlm |
言語 |
tr |
ライブラリ名 |
PyLate |
パイプラインタグ |
sentence-similarity |
タグ |
ColBERT, PyLate, sentence-transformers, sentence-similarity, generated_from_trainer, reranker, bert |
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。