基于Bert模型的中文语义相似度匹配算法(离线模式)

news2024/12/27 9:50:33

1、准备中文离线模型

配置文件夹

文件获取方法: 

访问官网:https://huggingface.co/bert-base-chinese/tree/main

下载以下文件 

2、测试代码

# -*- coding: utf-8 -*-
#pip install transformers -i https://mirrors.aliyun.com/pypi/simple/
#pip install torch -i https://mirrors.aliyun.com/pypi/simple/
#pip install numpy -i https://mirrors.aliyun.com/pypi/simple/
#from transformers import AutoModel, AutoTokenizer
from transformers import BertModel, BertTokenizer
import torch
import numpy as np

# 加载预训练的中文BERT模型和分词器

# 这里手动下载模型与分词器,根据目录加载使用
vocab_file = 'model/vocab.txt'
tokenizer = BertTokenizer(vocab_file)
model = BertModel.from_pretrained("model/bert-base-chinese/")

# 定义计算相似度的函数
def calc_similarity(s1, s2):
    # 对句子进行分词,并添加特殊标记
    inputs = tokenizer([s1, s2], return_tensors='pt', padding=True, truncation=True)
    # 将输入传递给BERT模型,并获取输出
    with torch.no_grad():
        outputs = model(**inputs)
        embeddings = outputs.last_hidden_state[:, 0, :].cpu().numpy()

    # 计算余弦相似度,并返回结果
    sim = np.dot(embeddings[0], embeddings[1]) / (np.linalg.norm(embeddings[0]) * np.linalg.norm(embeddings[1]))
    return sim

# 测试函数
s1 = "早泄症状早期症状:精神抑郁、头晕、神疲乏力,在接触或刚接触女方外阴,或时间短暂,尚未进入高潮即射精,还伴有长期精神不振,夜寐不安,精薄清冷等情况。晚期症状:射精过快,插入后,在女士尚未达到性高潮,而男性的时间短于2分钟,提早射精而出现的不和谐性障碍。相关症状:器质性早泄男子性功能障碍一、早泄症状早泄的临床表现主要是射精过快。典型症状是指插入后,在女士尚未达到性高潮,而男性的时间短于2分钟,提早射精而出现的不和谐障碍,一般男性30%均有此情况。一般以为,早泄是指男子在勃起之后,未进入之前,或正当纳入、以及刚刚进入而尚未抽动时便已射精,也自然随之疲软并进入不应期的现象。临床上对勃起未进入即射精,诊断为早泄。男性初期早泄症状主要是精神抑郁、头晕、神疲乏力,在接触或刚接触女方外阴,或时间短暂,尚未进入高潮即射精,还伴有长期精神不振,夜寐不安,精薄清冷等情况。二、早泄判断标准早泄的判断标准是什么?早泄可以说是先在社会中男性常见的一种现象,不规律的生活习惯等都可能导致得了早泄。偶尔的一次射精过快很多人就觉得得了早泄,其实不然有时候早泄也是会被男性自身错误判断给误导,因而导致心情闷闷不乐,对生活、工作都套上了阴影开始自惭形愧。早泄的判断标准是什么?专家表示判断早泄的标准主要看以下几方面:1、以时间为标准从阴茎插入阴道至射精的时间,一般认为短于2分钟即为早泄,但严格者认为应短于30秒才能算早泄。2、以抽动次数为标准阴茎插入阴道中抽动次数少于10次至30次为早泄。3、以性伴侣的反应为标准在性活动中,如果有半数以上的性生活机会中,不能使女方达到性高潮亦可称为早泄。4、以控制射精反射的能力为标准在性交时射精过快,可于当晚再次性交,如射精时间相对较长,可不必担忧。这种重复性交亦可作为对待早泄的偶一为之的办法,但不宜常规使用。另有一种情况就是由于男子性激动,尿道口分泌出一些液体,其实是一种尿道球腺等腺体分泌的粘液,不可误认为是早泄的精液。过度度疲劳时性交偶有一次过早射精,新婚或久别重逢第一次性交,男方过于激动,往往射精较快。偶尔一次并不是病态,经常如此,才能说是早泄。所以当男性偶尔出现早泄症状时千万不要着急,要调整好心态相信自己。但是经常如此,那么就是得了早泄了。分居两地的夫妇,相逢第一晚男方偶然发生了早泄,思想负担太重,在大脑皮层里留下了不良刺激痕迹,以后每次久别重逢第一夜过性生活时都会发生早泄,如果二、三晚连续出现,这种特殊现象,就属于病态早泄。一些人入睡前性交容易发生过快射精,而下半夜睡醒之后性交,则射精时间较长,这种情况不应视为早泄,可以因事之宜而为之。国际性医学会(InteRNAtionalSocietyforSexualMedicineISSM)从循证医学的角度上指出早泄的定义应包括以下三点:①射精总是或者几乎总是发生在阴茎插入阴道1分钟以内;②不能全部或几乎全部进入阴道后延迟射精;③消极的个人精神心理因素,比如苦恼、忧虑、挫折感和/或逃避性活动等。三、分类1.原发性早泄原发性早泄少见,难以诊断。特点是:(1)第一次性交出现;(2)对性伴侣,没有选择性;(3)每次性交都发生过早射精。2.继发性早泄继发性早泄是后天获得的早泄,有明确的生理或者心理病因。特点是:(1)过早射精发生在一个明确的时间;(2)发生过早射精前射精时间正常;(3)可能是逐渐出现或者突然出现:(4)可能继发于泌尿外科疾病、甲状腺疾病[9]或者心理疾病等。3.境遇性早泄国内也有学者将此类早泄称为自然变异性早泄。此类患者的射精时间有长有短,过早射精时而出现。这种早泄不一定是都病理过程,具体特点是:(1)过早射精不是持续发生,发生时间没有规律。(2)在将要射精时,控制射精的能力降低,但有时正常,这点不是诊断的必要条件。4.早泄样射精功能障碍此类患者射精潜伏时间往往在正常范围,患者主观上认为自己早泄,此类早泄不能算是真正的病理过程,通常隐藏着心理障碍或者与性伴侣的关系问题。此类早泄的特点是:(1)主观认为持续或者非持续射精过快;(2)患者自己想象中的过早射精或者不能控制射精焦虑;(3)实际插入阴道射精潜伏时间正常甚至很长;(4)在将要射精时,控制射精的能力变低;(5)用其他精神障碍不能解释患者的焦虑。还是勃起功能障碍,当然,也有不少病人既有早泄又有勃起功能障碍。"
s2 = "阳痿症状典型症状:男性在性交开始阶段勃起缓慢或者难以勃起;有时虽然勃起了,但勃起的硬度不够而造成插入困难或者根本不能插入阴道。相关症状:心理性性功能障碍男子性功能障碍雄激素过少阳痿症状主要表现为:男性在性交开始阶段勃起缓慢或者难以勃起;有时虽然勃起了,但勃起的硬度不够而造成插入困难或者根本不能插入阴道。男性朋友如果身体有下面这些表现时,就要注意是否患上ED了。性欲障碍:包括无性欲、性欲低下、性厌恶、性欲亢进等;阴茎勃起障碍:包括阳痿、阴茎勃起不坚、阴茎异常勃起等;性交障碍:包括性交昏厥、性交失语、性交癔病、性交恐惧症等;射精障碍:包括早泄、遗精、不射精、射精延迟、逆行射精、射精疼痛、血精等。上述这几个方面可以单独出现,也可多个同时出现,其中最多见的是阴茎勃起障碍和射精障碍。需要强调的是,正常男性的性功能也存在着生理性的波动。当性功能在精神、情绪不稳定,疲劳,健康状况不佳或女方对性生活冷淡或持反对态度等因素刺激时,均可出现一时性的“阳痿”,这种偶然现象不能视为病态。只有在排除上述诸因素的影响,在正常性刺激下,反复多次出现性交失败,方能认为是阳痿。如果一旦患了阳痿或怀疑自己患了本病,就应该及时到正规医院找专科医生诊治,且勿讳疾忌医,贻误病机。"
similarity = calc_similarity(s1, s2)
print(f"相似度:{similarity:.4f}")


'''
#from transformers import AutoModel, AutoTokenizer
from transformers import BertModel, BertTokenizer
import torch
import numpy as np

# 加载预训练的中文BERT模型和分词器

#model_name = "bert-base-chinese"  # 中文BERT模型的名称
#model = AutoModel.from_pretrained(model_name)
#tokenizer = AutoTokenizer.from_pretrained(model_name)

# 输入两个中文句子
sentence1 = "哈哈哈哈哈哈哈哈哈。"
sentence2 = "我没吃呢。"

# 使用分词器对句子进行标记化
tokens = tokenizer(sentence1, sentence2, return_tensors='pt', padding=True, truncation=True)

# 获取模型的输出
with torch.no_grad():
    outputs = model(**tokens)

# 提取句子的嵌入向量
embeddings = outputs.last_hidden_state

# 获取句子1和句子2的嵌入向量
embeddings_sentence1 = embeddings[0, 0, :].numpy()
embeddings_sentence2 = embeddings[0, 0, :].numpy()

# 计算余弦相似度
similarity = np.dot(embeddings_sentence1, embeddings_sentence2) / (np.linalg.norm(embeddings_sentence1) * np.linalg.norm(embeddings_sentence2))

print("相似度:", similarity)
'''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1100706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年中国机场建设标准、机场数量及机场系统投资完成情况分析[图]

机场,亦称飞机场、空港,较正式的名称是航空站。机场有不同的大小,除了跑道之外,机场通常还设有塔台、停机坪、航空客运站、维修厂等设施,并提供机场管制服务、空中交通管制等其他服务。 机场建设资质等级标准 资料来源…

当遇到修复错误0xc000000e时,你的电脑需要修复。如何在Windows 11/10上修复此错误

恢复错误代码0xc000000e,你的电脑需要修复,表示硬件故障或驱动器配置不正确,并可能伴随不同的错误消息,如: 所需设备未连接或无法访问 无法加载所选条目 由于应用程序丢失或损坏,无法加载所选条目 启动选择失败,因为无法访问所需的设备。 0xC000000E或STATUS_NO_SUCHDEV…

MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸

编辑:ll MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸 型号:MBR20100CT 品牌:ASEMI 芯片个数:2 封装:TO-220 恢复时间:>50ns 工作温度:-65C~175C 浪涌电流&#xff1a…

LeetCode //C++ - 427. Construct Quad Tree

427. Construct Quad Tree Given a n * n matrix grid of 0’s and 1’s only. We want to represent grid with a Quad-Tree. Return the root of the Quad-Tree representing grid. A Quad-Tree is a tree data structure in which each internal node has exactly four c…

2023年中国脱硫石膏产量、均价、综合利用量及市场规模分析[图]

脱硫石膏主要成分和天然石膏一样,为二水硫酸钙CaSO42H2O,含量≥93%。脱硫石膏是FGD过程的副产品,FGD过程是一项采用石灰-石灰石回收燃煤或油的烟气中的二氧化硫的技术,其中2022年中国脱硫石膏产量同比增长2.0%;综合利用…

[已解决]llegal target for variable annotation

llegal target for variable annotation 问题 变量注释的非法目标 思路 复制时编码错误,自己敲一遍后正常运行 #** 将垂直知识加入prompt,以使其准确回答 **# prompt_templates { # "recommand":"用户说:__INPUT__ …

上抖音热搜榜需要做哪些准备?

要想在抖音上获得高曝光,首先需要了解抖音热搜榜的算法和规则。抖音热搜榜的排名主要取决于作品的点赞数、评论数、分享数和播放量。其中,播放量是影响排名的关键因素。因此,在创作作品时,要注重提高作品的播放量。此外&#xff0…

最新JustMedia V2.7.3主题破解版去授权WordPress主题模板

JustMedia主题是一款针对有图片或者视频发布需求的网站量身定制开发的wordpress主题,适合各类图片展示类网站使用。 同时JustMedia主题首次加入了我们WPCOM团队独立自主开发的前端用户中心模块,相比用户中心插件可提供更好的体验效果。 新版用户中心为…

麒麟kylinOS 2303通过模板设置电源

原文链接:麒麟kylinOS 2303上通过模板设置电源 hello,大家好啊,今天给大家带来一篇在麒麟kylinOS 2303上通过模板设置电源的文章,主要通过开机启动脚本实现,开机脚本内容主要为gsettings的设置,关于gestati…

超简单小白攻略:如何利用黑群晖虚拟机和内网穿透实现公网访问

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

在 GeoServer 上发布 Shapefile 文件作为 WMS 数据

首先需要有 java 环境:https://zhuhukang.blog.csdn.net/article/details/132814744 1. 数据发布 点击数据存储,添加存储Shapefile 文件数据源添加 新建矢量数据源 点击保存,然后跳转下个页面进行发布 查找选择4326,然后从数据中进行计算 查看

SpringBoot整合Activiti7——执行监听器(六)

文章目录 一、执行监听器事件类型生命周期配置方式(选)代码实现xml文件创建监听器class方法expression方法delegateExpression 测试流程部署流程启动流程完成任务 一、执行监听器 在流程实例执行过程中触发某个事件时,Activiti提供的执行监听器可以捕获该事件并执行…

AI原生应用速通指南

作者 | 百度文库APP 导读 百度创始人、董事长兼首席执行官李彦宏早在今年年初所预测的:大模型时代最大的机会在于应用层,会出现“杀手级”应用。 全文4448字,预计阅读时间12分钟。 前言 “我们要让AI走下技术的“神坛”,深入应用的…

强化学习与视觉语言模型之间的碰撞,UC伯克利提出语言奖励调节LAMP框架

文章链接: https://arxiv.org/abs/2308.12270 代码仓库: https://github.com/ademiadeniji/lamp 在强化学习(RL)领域,一个重要的研究方向是如何巧妙的设计模型的奖励机制,传统的方式是设计手工奖励函数&…

微信小程序修改van-popup的背景颜色

效果图&#xff1a; van-popup背景颜色渐变 使用深度修改样式不生效&#xff0c;直接在 custom-style里面修改即可&#xff1b; <van-popup position"bottom"custom-style"height:25%;background:linear-gradient(95deg, #F8FCFF -0.03%, #EDF5FF 64.44…

JIRA 在 2024 年完全停止服务器版本支持

在服务器上的开源许可证版本已经要过期了&#xff0c;想去更新下。 发现&#xff0c;JIRA 的所有服务器版本的支持马上就要结束了。 这就意味着&#xff0c;如果你部署的服务器版本的 JIRA 的话&#xff0c;你将没有办法对服务器进行更新。 貌似&#xff0c;必须使用 JIRA 提供…

用建筑中智能消防应急照明系统的应用

【摘要】&#xff1a;火灾应急照明是火灾安全疏散、保障消防人员生命安全的关键。对电气设计人员来说&#xff0c;火灾紧急照明系统的设计非常必要&#xff0c;消防紧急照明系统启动与其正常工作状态有直接的关系&#xff0c;但由于其存在的问题通常不能被及时发现&#xff0c;…

苏轼的人生足迹

传说徐霞客游历了中国所有角落&#xff0c;但实际上北宋才子苏东坡也同样历经千辛万苦&#xff0c;漫游天涯海角。这两者的不同之处在于&#xff0c;徐霞客是为了旅游而旅游&#xff0c;而苏东坡的大部分旅程则是由于他的贬谪之事导致的。 苏东坡一生到过很多地方&#xff0c;…

如何打造智能公厕:实现智慧监测、自动化运营和智慧化管理

在现代城市里&#xff0c;公共厕所是人们不可或缺的基础设施之一。然而&#xff0c;传统的公厕管理方式已经无法满足人们对公厕的期望&#xff0c;因此需要采用智慧公厕管理系统来提升公厕服务的质量。本文将以智慧公厕领先厂家广州中期科技有限公司&#xff0c;大量精品案例现…

实验笔记之——可见光通信调制驱动芯片模组

本博文记录本团队研发出的VLC驱动调制芯片模组&#xff08;如下图所示&#xff09;的驱动调制代码烧录过程。 实物模组正面 实物模组反面 首先需要安装keil5&#xff0c;其安装与编译过程请参考博客&#xff1a;实验笔记之——单片机烧录的实验过程_烧录程序的基本步骤-CSDN博客…