🚀 distilcamembert-lleqa
このモデルはsentence-transformersモデルです。文章や段落を768次元の密ベクトル空間にマッピングし、クラスタリングや意味検索などのタスクに使用できます。このモデルは、フランス語の法的情報検索のためにLLeQAデータセットで学習されました。
🚀 クイックスタート
このモデルを使用するには、いくつかの方法があります。以下に、それぞれの方法の説明とコード例を示します。
📦 インストール
sentence-transformersを使用する場合
sentence-transformersをインストールすると、このモデルの使用が簡単になります。
pip install -U sentence-transformers
💻 使用例
基本的な使用法
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer('maastrichtlawtech/distilcamembert-lleqa')
embeddings = model.encode(sentences)
print(embeddings)
高度な使用法
sentence-transformersを使用せずにモデルを使用するには、まず入力をトランスフォーマーモデルに通し、その後、文脈化された単語埋め込みに対して適切なプーリング操作を適用する必要があります。
from transformers import AutoTokenizer, AutoModel
import torch
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
sentences = ['This is an example sentence', 'Each sentence is converted']
tokenizer = AutoTokenizer.from_pretrained('maastrichtlawtech/distilcamembert-lleqa')
model = AutoModel.from_pretrained('maastrichtlawtech/distilcamembert-lleqa')
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print(sentence_embeddings)
📚 ドキュメント
評価
このモデルは、LLeQAのテストセットで評価されました。このテストセットは、27.9Kの候補記事の知識コーパスを持つ195の法的質問で構成されています。平均逆順位(MRR)、正規化割引累積ゲイン(NDCG)、平均平均精度(MAP)、およびさまざまなカットオフでの再現率(R@k)を報告します。
MRR@10 |
NDCG@10 |
MAP@10 |
R@10 |
R@100 |
R@500 |
36.67 |
37.24 |
29.26 |
52.95 |
78.07 |
90.17 |
学習
背景
distilcamembert-baseモデルを利用し、9.3Kのフランス語の質問-記事ペアで微調整しました。対照学習の目的を使用しました。つまり、短い法的質問が与えられた場合、モデルはサンプリングされた一連の法的記事の中から、実際にデータセットでペアになっている記事を予測する必要があります。形式的には、バッチ内のすべての可能なペアからコサイン類似度を計算します。その後、真のペアと比較して、温度0.05でクロスエントロピー損失を適用します。
ハイパーパラメータ
このモデルは、32GBのメモリを持つ単一のTesla V100 GPUで、バッチサイズ32を使用して20エポック(つまり5.4kステップ)学習されました。AdamWオプティマイザを使用し、初期学習率は2e-05、重み減衰は0.01、最初の50ステップで学習率をウォームアップし、学習率を線形に減衰させました。シーケンス長は384トークンに制限されました。
データ
モデルの微調整には、Long-form Legal Question Answering (LLeQA)データセットを使用しました。LLeQAは、法的情報検索と質問応答を研究するためのフランス語のネイティブデータセットです。これは、ベルギーの法令から収集された27,941の法定記事の知識コーパスと、ベルギーの市民によって提起され、経験豊富の法学者によってコーパスからの関連記事に根ざした包括的な回答でラベル付けされた1,868の法的質問で構成されています。
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
📚 引用
@article{louis2023interpretable,
author = {Louis, Antoine and van Dijck, Gijs and Spanakis, Gerasimos},
title = {Interpretable Long-Form Legal Question Answering with Retrieval-Augmented Large Language Models},
journal = {CoRR},
volume = {abs/2309.17050},
year = {2023},
url = {https://arxiv.org/abs/2309.17050},
eprinttype = {arXiv},
eprint = {2309.17050},
}
属性 |
详情 |
パイプラインタグ |
文章類似度 |
言語 |
フランス語 |
ライセンス |
Apache-2.0 |
データセット |
maastrichtlawtech/lleqa |
評価指標 |
再現率 |
タグ |
特徴抽出、文章類似度 |
ライブラリ名 |
sentence-transformers |
推論 |
有効 |