语言:
- 芬兰语 (fi)
任务标签:
- 句子相似度 (sentence-similarity)
标签:
- 句子转换器 (sentence-transformers)
- 特征提取 (feature-extraction)
- 句子相似度 (sentence-similarity)
- 转换器 (transformers)
示例输入:
- 文本: "我觉得住在这里太棒了!"
芬兰语区分大小写版Sentence BERT模型
本模型是基于FinBERT训练的芬兰语句子BERT模型。访问此处演示可查看从4亿句子数据集中检索最相似句子的效果。
训练细节
- 使用库: sentence-transformers
- 基础模型: TurkuNLP/bert-base-finnish-cased-v1
- 训练数据: 来源于此链接,包含芬兰语释义语料库及自动收集的释义候选句(50万正例+500万负例)
- 池化方式: 均值池化
- 训练任务: 二分类判断句子是否为释义对(标签3和4视为释义对,标签1和2为非释义对,详见标签说明)
使用方法
与英文Sentence Transformer文档操作相同,支持以下两种调用方式:
通过SentenceTransformer调用
from sentence_transformers import SentenceTransformer
sentences = ["这是示例句子", "这是另一个句子"]
model = SentenceTransformer('TurkuNLP/sbert-cased-finnish-paraphrase')
embeddings = model.encode(sentences)
print(embeddings)
通过HuggingFace 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 = ["这是示例句子", "这是另一个句子"]
tokenizer = AutoTokenizer.from_pretrained('TurkuNLP/sbert-cased-finnish-paraphrase')
model = AutoModel.from_pretrained('TurkuNLP/sbert-cased-finnish-paraphrase')
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("句子嵌入向量:")
print(sentence_embeddings)
评估结果
相关评估结果的学术论文正在撰写中。
完整模型架构
SentenceTransformer(
(0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
)
引用与作者
论文发表前请引用本项目页面。
参考文献
- J. Kanerva等,《芬兰语释义语料库》,载于NoDaLiDa 2021会议,2021年。
- N. Reimers与I. Gurevych,《Sentence-BERT:使用孪生BERT网络的句子嵌入》,见EMNLP-IJCNLP,第3982-3992页,2019年。
- A. Virtanen等,《多语言不足:芬兰语BERT模型》,arXiv预印本arXiv:1912.07076,2019年。