🚀 camembert-base-lleqa
這是一個基於 sentence-transformers 的模型,它能夠將句子和段落映射到 768 維的密集向量空間,可用於聚類或語義搜索等任務。該模型在 LLeQA 數據集上進行訓練,用於法語法律信息檢索。
🚀 快速開始
本模型可通過 sentence-transformers
庫或 transformers
庫使用,以下是詳細的使用方法。
✨ 主要特性
- 能夠將句子和段落映射到 768 維的密集向量空間。
- 可用於聚類、語義搜索等任務。
- 在法語法律信息檢索任務中表現出色。
📦 安裝指南
若要使用此模型,需先安裝 sentence-transformers
庫,可使用以下命令進行安裝:
pip install -U sentence-transformers
💻 使用示例
基礎用法
使用 sentence-transformers
庫
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer('maastrichtlawtech/camembert-base-lleqa')
embeddings = model.encode(sentences)
print(embeddings)
使用 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/camembert-base-lleqa')
model = AutoModel.from_pretrained('maastrichtlawtech/camembert-base-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 測試集上對模型進行了評估,該測試集包含 195 個法律問題和 27.9K 篇候選文章的知識庫。我們報告了平均倒數排名(MRR)、歸一化折損累積增益(NDCG)、平均精度均值(MAP)以及不同截斷點的召回率(R@k)。
MRR@10 |
NDCG@10 |
MAP@10 |
R@10 |
R@100 |
R@500 |
36.55 |
39.27 |
30.64 |
58.27 |
82.43 |
92.41 |
訓練詳情
背景
我們使用 camembert-base 模型,並在 9.3K 個法語問題 - 文章對上進行了微調。我們採用了對比學習目標:給定一個簡短的法律問題,模型應預測出在數據集中與該問題實際配對的法律文章。具體而言,我們計算批次中每對可能組合的餘弦相似度,然後通過與真實配對進行比較,應用溫度為 0.05 的交叉熵損失。
超參數
我們在單個具有 32GB 內存的 Tesla V100 GPU 上對模型進行了 20 個 epoch(即 5.4k 步)的訓練,使用的批量大小為 32。我們使用 AdamW 優化器,初始學習率為 2e-05,權重衰減為 0.01,在前 50 步進行學習率預熱,並採用線性衰減的學習率。序列長度限制為 384 個 token。
數據
我們使用 Long-form Legal Question Answering (LLeQA) 數據集對模型進行微調。LLeQA 是一個法語原生數據集,用於研究法律信息檢索和問答任務。它包含一個由 27,941 篇比利時立法中的法定文章組成的知識庫,以及 1,868 個由比利時公民提出的法律問題,這些問題由經驗豐富的法學家根據相關文章進行了全面標註。
📄 許可證
本項目採用 Apache-2.0 許可證。
📖 引用
如果您在研究中使用了本模型,請使用以下 BibTeX 引用:
@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},
}