标签:
- 特征提取
- 句子转换器
- 转换器
库名称: sentence-transformers
语言: 英文
数据集:
- SciDocs
- s2orc
评估指标:
- F1值
- 准确率
- 平均精度均值(map)
- 归一化折损累积增益(ndcg)
许可证: mit
SciNCL模型
SciNCL是一个预训练的BERT语言模型,用于生成研究论文的文档级嵌入表示。该模型利用引文图的邻域关系生成对比学习样本。在进行对比训练前,模型权重初始化为scibert-scivocab-uncased的参数。底层引文嵌入基于S2ORC引文图训练完成。
论文: 基于引文嵌入的科学文献邻域对比表示学习(EMNLP 2022)。
代码库: https://github.com/malteos/scincl
生物医学领域应用: 如需处理生物医学论文,请尝试PubMedNCL模型。
预训练模型使用方法
句子转换器库
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("malteos/scincl")
papers = [
"BERT [SEP] 我们提出了一种名为BERT的新型语言表示模型",
"注意力机制就是全部 [SEP] 主流的序列转换模型基于复杂的循环或卷积神经网络",
]
embeddings = model.encode(papers)
similarity = model.similarity(embeddings[0], embeddings[1])
print(similarity.item())
转换器库
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained('malteos/scincl')
model = AutoModel.from_pretrained('malteos/scincl')
papers = [{'title': 'BERT', 'abstract': '我们提出了一种名为BERT的新型语言表示模型'},
{'title': '注意力机制就是全部', 'abstract': '主流的序列转换模型基于复杂的循环或卷积神经网络'}]
title_abs = [d['title'] + tokenizer.sep_token + (d.get('abstract') or '') for d in papers]
inputs = tokenizer(title_abs, padding=True, truncation=True, return_tensors="pt", max_length=512)
result = model(**inputs)
embeddings = result.last_hidden_state[:, 0, :]
embeddings = torch.nn.functional.normalize(embeddings, p=2, dim=1)
similarity = (embeddings[0] @ embeddings[1].T)
print(similarity.item())
三元组挖掘参数配置
参数设置 |
取值 |
随机种子 |
4 |
每个查询的三元组数 |
5 |
简单正例数量 |
5 |
简单正例策略 |
5 |
简单正例k值范围 |
20-25 |
简单负例数量 |
3 |
简单负例策略 |
随机非近邻 |
困难负例数量 |
2 |
困难负例策略 |
近邻法 |
困难负例k值范围 |
3998-4000 |
SciDocs评估结果
本模型权重在SciDocs数据集上取得最佳表现(随机种子=4
)。论文中报告的是十次随机种子的平均结果。
模型 |
mag-f1 |
mesh-f1 |
共现-map |
共现-ndcg |
共读-map |
共读-ndcg |
引用-map |
引用-ndcg |
共引-map |
共引-ndcg |
推荐-ndcg |
推荐-P@1 |
平均 |
Doc2Vec |
66.2 |
69.2 |
67.8 |
82.9 |
64.9 |
81.6 |
65.3 |
82.2 |
67.1 |
83.4 |
51.7 |
16.9 |
66.6 |
fasttext-sum |
78.1 |
84.1 |
76.5 |
87.9 |
75.3 |
87.4 |
74.6 |
88.1 |
77.8 |
89.6 |
52.5 |
18 |
74.1 |
SGC |
76.8 |
82.7 |
77.2 |
88 |
75.7 |
87.5 |
91.6 |
96.2 |
84.1 |
92.5 |
52.7 |
18.2 |
76.9 |
SciBERT |
79.7 |
80.7 |
50.7 |
73.1 |
47.7 |
71.1 |
48.3 |
71.7 |
49.7 |
72.6 |
52.1 |
17.9 |
59.6 |
SPECTER |
82 |
86.4 |
83.6 |
91.5 |
84.5 |
92.4 |
88.3 |
94.9 |
88.1 |
94.8 |
53.9 |
20 |
80 |
SciNCL(10次平均) |
81.4 |
88.7 |
85.3 |
92.3 |
87.5 |
93.9 |
93.6 |
97.3 |
91.6 |
96.4 |
53.9 |
19.3 |
81.8 |
SciNCL(种子4) |
81.2 |
89.0 |
85.3 |
92.2 |
87.7 |
94.0 |
93.6 |
97.4 |
91.7 |
96.5 |
54.3 |
19.6 |
81.9 |
更多评估细节详见论文。
许可证
MIT协议