PaECTER: 深度学习驱动的专利相似度模型安装与使用教程

PaECTER: 深度学习驱动的专利相似度模型安装与使用教程

paecter paecter 项目地址: https://gitcode.com/mirrors/mpi-inno-comp/paecter

随着人工智能和深度学习技术的不断发展,专利分析领域也在逐步引入先进的模型和方法。PaECTER(Patent Embeddings using Citation-informed TransformERs)模型作为一款基于专利文本的深度学习模型,正逐渐受到广泛关注。本文将详细介绍PaECTER模型的安装和使用方法,帮助读者更好地理解和应用这款先进的专利分析工具。

PaECTER模型简介

PaECTER是一款用于专利相似度计算的模型,它基于Google的BERT for Patents模型进行构建,能够从专利文本中生成1024维的密集向量嵌入。这些向量嵌入能够捕捉到专利文本的语义特征,从而为各种下游任务,如语义搜索、先前艺术搜索、聚类和专利景观分析等,提供了强有力的支持。

安装PaECTER模型

在使用PaECTER模型之前,您需要安装以下必备软件和依赖项:

  • Python 3.6或更高版本
  • PyTorch库
  • Transformers库
  • Sentence-Transformers库(可选)

安装Sentence-Transformers库的命令如下:

pip install -U sentence-transformers

PaECTER模型的使用

使用Sentence-Transformers库

如果您已经安装了Sentence-Transformers库,那么使用PaECTER模型将变得非常简单。以下是一个使用PaECTER模型的示例代码:

from sentence_transformers import SentenceTransformer

# 加载模型
model = SentenceTransformer('mpi-inno-comp/paecter')

# 定义待转换的句子
sentences = ["This is an example sentence", "Each sentence is converted"]

# 获取句子嵌入
embeddings = model.encode(sentences)

# 打印嵌入向量
print(embeddings)

使用HuggingFace Transformers库

如果您没有安装Sentence-Transformers库,您也可以直接使用HuggingFace Transformers库来使用PaECTER模型。以下是一个使用HuggingFace Transformers库的示例代码:

from transformers import AutoTokenizer, AutoModel
import torch

# 定义句子平均池化函数
def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0]  # 获取所有token嵌入
    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('mpi-inno-comp/paecter')
model = AutoModel.from_pretrained('mpi-inno-comp/paecter')

# 分词
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=512)

# 获取token嵌入
with torch.no_grad():
    model_output = model(**encoded_input)

# 执行句子平均池化
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])

# 打印嵌入向量
print("Sentence embeddings:")
print(sentence_embeddings)

PaECTER模型的评估结果

PaECTER模型的评估结果可以在我们的论文PaECTER: Patent-level Representation Learning using Citation-informed Transformers中找到。

PaECTER模型的训练

PaECTER模型使用了以下参数进行训练:

  • DataLoader参数:torch.utils.data.dataloader.DataLoader,长度为318750,参数包括batch_sizesamplerbatch_sampler
  • 损失函数参数:sentence_transformers.losses.CustomTripletLoss.CustomTripletLoss,参数包括distance_metrictriplet_margin
  • fit()方法参数:包括epochsevaluation_stepsevaluatormax_grad_normoptimizer_classoptimizer_paramsschedulersteps_per_epochwarmup_steps

PaECTER模型的完整架构

PaECTER模型的完整架构如下:

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False})
)

引用与作者

如果您在论文或项目中使用了PaECTER模型,请引用以下文献:

@misc{

paecter paecter 项目地址: https://gitcode.com/mirrors/mpi-inno-comp/paecter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱隽美Famous

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值