Python 将文本先转化为bert向量,然后计算相似度,bert代码实战

将文本先转化为bert向量,然后计算相似度

from transformers import BertTokenizer, BertModel
import torch

# 加载BERT模型和tokenizer
tokenizer = BertTokenizer.from_pretrained('bert-base-chinesed')
model = BertModel.from_pretrained('bert-base-chinesed')

# 输入文本
text1 = "I am happy"
text2 = "I am glad"

# 将文本转换为BERT输入格式
encoded_input1 = tokenizer(text1, return_tensors='pt')
encoded_input2 = tokenizer(text2, return_tensors='pt')

# 获取BERT向量
with torch.no_grad():
    output1 = model(**encoded_input1)
    output2 = model(**encoded_input2)

# 获取文本对应的BERT向量
bert_vector1 = output1.last_hidden_state.mean(dim=1).squeeze()
bert_vector2 = output2.last_hidden_state.mean(dim=1).squeeze()

# 计算余弦相似度
cos_sim = torch.cosine_similarity(bert_vector1, bert_vector2, dim=0)

print("文本1的BERT向量:", bert_vector1)
print("文本2的BERT向量:", bert_vector2)
print("文本相似度:", cos_sim.item())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

医学小达人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值