CoolFace
Modelpublic

hotchpotch/japanese-reranker-cross-encoder-xsmall-v1

sourceHugging Facemitupdated 1y agoView on Hugging Face
7likes22kdownloads
Model Card

hotchpotch/japanese-reranker-cross-encoder-xsmall-v1

日本語で学習させた Reranker (CrossEncoder) シリーズです。

Reranker についてや、技術レポート・評価等は以下を参考ください。

使い方

SentenceTransformers

python
from sentence_transformers import CrossEncoder
import torch

MODEL_NAME = "hotchpotch/japanese-reranker-cross-encoder-xsmall-v1"
device = "cuda" if torch.cuda.is_available() else "cpu"
model = CrossEncoder(MODEL_NAME, max_length=512, device=device)
if device == "cuda":
    model.model.half()
query = "感動的な映画について"
passages = [
    "深いテーマを持ちながらも、観る人の心を揺さぶる名作。登場人物の心情描写が秀逸で、ラストは涙なしでは見られない。",
    "重要なメッセージ性は評価できるが、暗い話が続くので気分が落ち込んでしまった。もう少し明るい要素があればよかった。",
    "どうにもリアリティに欠ける展開が気になった。もっと深みのある人間ドラマが見たかった。",
    "アクションシーンが楽しすぎる。見ていて飽きない。ストーリーはシンプルだが、それが逆に良い。",
]
scores = model.predict([(query, passage) for passage in passages])

HuggingFace transformers

python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from torch.nn import Sigmoid

MODEL_NAME = "hotchpotch/japanese-reranker-cross-encoder-xsmall-v1"
device = "cuda" if torch.cuda.is_available() else "cpu"

tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME)
model.to(device)
model.eval()

if device == "cuda":
    model.half()

query = "感動的な映画について"
passages = [
    "深いテーマを持ちながらも、観る人の心を揺さぶる名作。登場人物の心情描写が秀逸で、ラストは涙なしでは見られない。",
    "重要なメッセージ性は評価できるが、暗い話が続くので気分が落ち込んでしまった。もう少し明るい要素があればよかった。",
    "どうにもリアリティに欠ける展開が気になった。もっと深みのある人間ドラマが見たかった。",
    "アクションシーンが楽しすぎる。見ていて飽きない。ストーリーはシンプルだが、それが逆に良い。",
]
inputs = tokenizer(
    [(query, passage) for passage in passages],
    padding=True,
    truncation=True,
    max_length=512,
    return_tensors="pt",
)
inputs = {k: v.to(device) for k, v in inputs.items()}
logits = model(**inputs).logits
activation = Sigmoid()
scores = activation(logits).squeeze().tolist()

評価結果

Model Name[JQaRA](https://huggingface.co/datasets/hotchpotch/JQaRA)[JaCWIR](https://huggingface.co/datasets/hotchpotch/JaCWIR)[MIRACL](https://huggingface.co/datasets/miracl/miracl)[JSQuAD](https://github.com/yahoojapan/JGLUE)
japanese-reranker-cross-encoder-xsmall-v10.61360.93760.74110.9602
japanese-reranker-cross-encoder-small-v10.62470.9390.77760.9604
japanese-reranker-cross-encoder-base-v10.67110.93370.8180.9708
japanese-reranker-cross-encoder-large-v10.70990.93640.84060.9773
japanese-bge-reranker-v2-m3-v10.69180.93720.84230.9624
bge-reranker-v2-m30.6730.93430.83740.9599
bge-reranker-large0.47180.73320.76660.7081
bge-reranker-base0.24450.49050.67920.5757
cross-encoder-mmarco-mMiniLMv2-L12-H384-v10.55880.92110.71580.932
shioriha-large-reranker0.57750.84580.80840.9262
bge-m3+all0.5760.9040.79260.9226
bge-m3+dense0.5390.86420.77530.8815
bge-m3+colbert0.56560.90640.79020.9297
bge-m3+sparse0.50880.89440.69410.9184
JaColBERTv20.58470.91850.68610.9247
multilingual-e5-large0.5540.87590.77220.8892
multilingual-e5-small0.49170.8690.70250.8565
bm250.4580.84080.43870.9002

ライセンス

MIT License