malteos/scincl-SciNCL SciNCL is a pre-tr...

作者:袖梨 2026-08-05

处理malteos/scincl-SciNCL SciNCL is a pre-tr...这类问题时,先确认目标场景,再按步骤核对配置或玩法细节。

SciNCL

SciNCL is a pre-trained BERT language model to generate document-level embeddings of research papers.

It uses the citation graph neighborhood to generate samples for contrastive learning.

Prior to the contrastive training, the model is initialized with weights from scibert-scivocab-uncased.

The underlying citation embeddings are trained on the S2ORC citation graph.

Paper: Neighborhood Contrastive Learning for Scientific Document Representations with Citation Embeddings (EMNLP 2022 paper).

Code: https://github.com/malteos/scincl

PubMedNCL: Working with biomedical papers? Try PubMedNCL.

How to use the pretrained model

from transformers import AutoTokenizer, AutoModel

# load model and tokenizer

tokenizer = AutoTokenizer.from_pretrained('malteos/scincl')

model = AutoModel.from_pretrained('malteos/scincl')

papers = [{'title': 'BERT', 'abstract': 'We introduce a new language representation model called BERT'},

{'title': 'Attention is all you need', 'abstract': ' The dominant sequence transduction models are based on complex recurrent or convolutional neural networks'}]

# concatenate title and abstract with [SEP] token

title_abs = [d['title'] + tokenizer.sep_token + (d.get('abstract') or '') for d in papers]

# preprocess the input

inputs = tokenizer(title_abs, padding=True, truncation=True, return_tensors="pt", max_length=512)

# inference

result = model(inputs)

# take the first token ([CLS] token) in the batch as the embedding

embeddings = result.last_hidden_state[:, 0, :]

Triplet Mining Parameters

SettingValue
seed4
triples_per_query5
easy_positives_count5
easy_positives_strategy5
easy_positives_k20-25
easy_negatives_count3
easy_negatives_strategyrandom_without_knn
hard_negatives_count2
hard_negatives_strategyknn
hard_negatives_k3998-4000

malteos/scincl官网入口:https://huggingface.co/malteos/scincl

相关文章

精彩推荐