【深度学习应用】基于Bert模型的中文语义相似度匹配算法[离线模式]

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)
'''

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在整个价值链构建负责任的 AI

在整个价值链构建负责任的 AI:从数据到部署,以合乎伦理道德的方式构建 AI 构建合乎伦理道德的 AI 是所有人工智能企业的责任,这一点再怎么强调都不为过。负责任或合乎伦理道德的 AI 能够做到公正、公平,并能改善AI服务人群的生活…

2024年主攻外贸爆款产品,聚焦10个重要国家

2024年中企出海趋势明显,中小微企业纷纷布局。提供15个国家重点进口产品供参考,助力选品和行业开发。 以下是15个重点国家的爆款产品: 一、美国进口频次前10位 二、俄罗斯进口频次前10位 三、英国进口频次前10位 四、越南进口频次前10位 五…

Claude 3超越GPT-4?Anthropic发布新一代AI模型,Opus在多领域展现行业新水准,你不得不看的全面解析!

Anthropic发布了新一代AI模型——Claude 3。 这个系列包括Haiku、Sonnet和Opus三个模型。 特别是Opus,在多个基准测试中,它的表现都超过了我们熟知的GPT-4和Gemini 1.0 Ultra。 在数学、编程、多语言理解和视觉处理等多个方面,Opus都展现了…

期货开户交易切勿满仓操作

平时我们交易主要是仓位管理风险,切勿不要满仓操作,满仓相当于一锤子买卖,我们做交易要有交易计划,计划中除了开仓点.止损点.止盈点外,还有加仓点,所以我们要留下充足的加仓仓位,有很多投资者是…

如何处理Docker容器占用空间不断变大

在使用Docker容器时,一个常见的问题是容器占用的空间会不断增大,导致磁盘空间的快速耗尽。这种情况可能会给系统带来不必要的负担,因此需要及时处理。本文将介绍一些解决Docker容器占用空间不断增大问题的方法。 首先,我们需要了…

基于vgg16进行迁移学习服装分类

pytorch深度学习项目实战100例 的学习记录 我的环境: 白票大王: google colab 用其他的话,其实实现也行,但是让小白来重环境来开始安装的话,浪费时间 数据集 Clothing dataset 20 个不同类别的 5000 多张图片。 该…

基于springboot+vue实现电子商务平台管理系统项目【项目源码+论文说明】

基于springboot实现电子商务平台管理系统演示 研究的目的和意义 据我国IT行业发布的报告表明,近年来,我国互联网发展呈快速增长趋势,网民的数量已达8700万,逼近世界第一,并且随着宽带的实施及降价,每天约有…

【机器学习】包裹式特征选择之递归特征消除法

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

基于Arduino的智能寻迹小车设计

目 录 摘 要 Ⅰ Abstract Ⅱ 引 言 1 1系统方案设计 3 1.1 方案论证 3 1.2 项目的总体设计 4 2 项目硬件设计 6 2.1 Arduino平台简介 6 2.2 ATmega328P单片机的最小系统 8 2.3 寻迹模块的设计 9 2.4 驱动模块的设计 11 2.5 电源模块的设计 14 2.6 按键电路的设计 15 2.7 蜂鸣器…

c++|内存管理

c|内存管理 C/C内存分布strlen 和 sizeof的区别 c语言动态内存管理方式malloccallocrealloc例题 c管理方式new/delete操作内置类型new/delete操作自定义类型证明 new 和 delete 的底层原理operator new与operator delete函数operator new 和 operator delete的 用法构造函数里面…

独家揭秘:AI大模型的神秘面纱

AI大模型,是当下人工智能领域里备受瞩目的技术,在推动科技进步和社会发展方面发挥着重要作用。然而,AI大模型的神秘面纱始终让人们充满好奇和探究。 首先,让我们来揭开AI大模型的面纱。在人工智能领域中,大模型是指参…

Idea 开启热部署 Devtools

一、背景 当我们在 idea 中修改代码的时候,idea 并不会自动的重启去响应我们修改的内容,而是需要我们手动的重新启动项目才可以生效,这个是非常不方便,但是可以在 idea 中开启这个自动热部署的功能。 我的 idea 版本为 2022.3.3 。…

Mosquitto介绍

一、Mosquitto介绍 Eclipse Mosquitto是一个开源的MQTT消息代理(服务器)软件。提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手…

怎么将电脑excel文档内的数据转换为图片形式

你平时在办公室会遇到格式转换的问题吗?比如PDF转Word,WPS转PDF,PDF转TXT,图片转PDF等。边肖最近在工作过程中遇到了类似的问题。为了更方便的查看表格,需要将Excel表格转换成图片格式。遇到这样的问题,很多…

Excel小技巧 (2) - 如何去除和增加前导0

1. 如何去除前导0 公式:SUBSTITUTE(A2,0,""),然后拖动十字架,同步所有列数据,轻松搞定。 2. 如何补充前导0 公式:TEXT(D2,"0000000") ,0的个数是数字的完整位数。然后拖动十字架&a…

LiveNVR监控流媒体Onvif/RTSP功能-视频广场点击在线或离线时展示状态记录快速查看通道离线原因

LiveNVR视频广场点击在线或离线时展示状态记录快速查看通道离线原因 1、状态记录1.1、点击在线查看1.2、点击离线查看 2、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、状态记录 1.1、点击在线查看 可以点击视频广场页面中, 在线 两个字查看状态记录 1.2、点击离线查…

解决Windows自定义快捷键打开快捷方式慢的问题

主要是微软拼音的自学习在捣鬼。 关闭自学习即可。

免费IP地址证书

IP地址证书,又称为IP证书或IP地址所有权证书,是一种证明特定IP地址归属和合法使用的电子凭证。它通常由权威机构颁发,如互联网地址分配机构(IANA)或其下属的区域互联网注册管理机构(RIRs)。IP地…

MySQL 元数据锁及问题排查(Metadata Locks MDL)

"元数据"是用来描述数据对象定义的,而元数据锁(Metadata Lock MDL)即是加在这些定义上。通常我们认为非锁定一致性读(简单select)是不加锁的,这个是基于表内数据层面,其依然会对表的元…

第106讲:Mycat实践指南:范围分片下的水平分表详解

文章目录 1.Mycat水平拆分的分片规则2. Mycat水平拆分之范围分片2.1.使用范围分片水平分表的背景2.2.水平分表范围分片案例2.3.准备测试的表结构2.4.配置Mycat实现范围分片的水平分表2.4.1.配置Schema配置文件2.4.2.配置Rule分片规则配置文件2.4.3.配置Server配置文件2.4.4.重启…