🚀 VectorPath SearchMap: 会話型電子商取引検索埋め込みモデル
SearchMapは、検索をより会話的で直感的なものにすることで、検索を革新するために設計された特殊な埋め込みモデルです。この仮説を検証するために、電子商取引検索に適したモデルを作成しました。Stella Embed 400M v5ベースモデルで微調整され、自然言語のクエリを理解し、関連する製品とマッチングする能力に優れています。
🚀 クイックスタート
私たちのインタラクティブなColabデモでモデルを試してみてください!
✨ 主な機能
- 会話型の電子商取引クエリに最適化
- 複雑な自然言語の検索意図を処理
- 多属性の製品検索をサポート
- 効率的な1024次元の埋め込み(最大8192まで設定可能)
- 製品とホテルの検索シナリオに特化
📦 インストール
Sentence Transformersを使用する場合
!pip install -U torch==2.5.1 transformers==4.44.2 sentence-transformers==2.7.0 xformers==0.0.28.post3
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('vectopath/SearchMap_Preview', trust_remote_code=True)
query = "A treat my dog and I can eat together"
query_embedding = model.encode(query)
product_description = "Organic peanut butter dog treats, safe for human consumption..."
product_embedding = model.encode(product_description)
FAISSを使用したベクトル検索の場合
import numpy as np
import faiss
embedding_dimension = 1024
index = faiss.IndexFlatL2(embedding_dimension)
product_embeddings = model.encode(product_descriptions, show_progress_bar=True)
index.add(np.array(product_embeddings).astype('float32'))
query_embedding = model.encode([query])
distances, indices = index.search(
np.array(query_embedding).astype('float32'),
k=10
)
💻 使用例
基本的な使用法
!pip install -U torch==2.5.1 transformers==4.44.2 sentence-transformers==2.7.0 xformers==0.0.28.post3
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('vectopath/SearchMap_Preview', trust_remote_code=True)
query = "A treat my dog and I can eat together"
query_embedding = model.encode(query)
product_description = "Organic peanut butter dog treats, safe for human consumption..."
product_embedding = model.encode(product_description)
高度な使用法
import numpy as np
import faiss
embedding_dimension = 1024
index = faiss.IndexFlatL2(embedding_dimension)
product_embeddings = model.encode(product_descriptions, show_progress_bar=True)
index.add(np.array(product_embeddings).astype('float32'))
query_embedding = model.encode([query])
distances, indices = index.search(
np.array(query_embedding).astype('float32'),
k=10
)
📚 ドキュメント
モデルの詳細
属性 |
详情 |
ベースモデル |
Stella Embed 400M v5 |
埋め込み次元 |
設定可能 (512, 768, 1024, 2048, 4096, 6144, 8192) |
訓練データ |
32カテゴリにわたる100,000以上の電子商取引製品 |
ライセンス |
MIT |
フレームワーク |
PyTorch / Sentence Transformers |
検索クエリの例
モデルは、以下のような自然言語のクエリを理解するのに優れています。
- "A treat my dog and I can eat together"
- "Lightweight waterproof hiking backpack for summer trails"
- "Eco-friendly kitchen gadgets for a small apartment"
- "Comfortable shoes for standing all day at work"
- "Cereal for my 4 year old son that likes to miss breakfast"
性能と制限
評価
モデルの評価指標は、MTEB Leaderboardで確認できます。
- モデルは現在、10億パラメータ未満の最良の埋め込みモデルであり、メモリサイズが小さいため、小さなGPUでもローカルで簡単に実行できます。
- モデルは、SemRel24STSタスクでも圧倒的な1位で、精度81.12%でGoogle Gemini埋め込みモデル(2位、73.14%)を打ち負かしています(2025年3月30日現在)。SemRel24STSは、14種類の言語にわたる2つの文間の意味的関連性を測定するシステムの能力を評価します。
- MTEBリーダーボードから、モデルは法規関連やニュースの検索および類似性タスクで非常に優れた性能を発揮することがわかりました。
強み
- 会話型および自然言語のクエリを理解する能力に優れています。
- 電子商取引やホテル検索シナリオで強力な性能を発揮します。
- 複雑な多属性クエリを処理できます。
- 設定可能な埋め込み次元による効率的な計算が可能です。
現在の制限
- クエリ内の重み付けされた用語を完全に優先しない場合があります。
- スラングや口語的な言語の処理能力が限られています。
- 地域の言語バリエーションには微調整が必要な場合があります。
訓練の詳細
モデルは以下を使用して訓練されました。
- Sentence Transformersを使用した教師あり学習
- 32カテゴリにわたる100,000以上の製品データセット
- AI生成の会話型検索クエリ
- コントラスト学習のための正と負の製品例
想定される用途
このモデルは、以下の用途を想定しています。
- 電子商取引製品の検索と推薦
- ホテルや宿泊施設の検索
- 製品カタログのベクトル化
- 意味的類似性のマッチング
- クエリの理解と意図の検出
📄 ライセンス
このモデルはMITライセンスの下で公開されています。詳細については、LICENSEファイルを参照してください。
引用
このモデルを研究で使用する場合は、以下を引用してください。
@misc{vectorpath2025searchmap,
title={SearchMap: Conversational E-commerce Search Embedding Model},
author={VectorPath Research Team},
year={2025},
publisher={Hugging Face},
journal={HuggingFace Model Hub},
}
コンタクトとコミュニティ