NLP:文本相似度计算

前面我们已经实现了把长段的句子,利用HanLP拆分成足够精炼的分词,后面我们要实现"联想"功能,我这里初步只能想到通过文本相似度计算来实现。下面介绍一下文本相似度计算

(当然HanLP也有文本相似度计算的方法,这里我应该上一节也说过,但是使用之后效果并不理想,因此,我们要换其他的方法)

这里我们采取的是text2vec,事实上网上通用的是word2vec,但是他要求自己训练模型,而且github上的流程我没看得懂,所以我就在github上找了别人现成的模型来使用

  • 下载
bash 复制代码
pip install torch # conda install pytorch
pip install -U text2vec

这里下载第二个的时候建议用上镜像,并且请在网络较好的地方下载

  • 测试
bash 复制代码
import sys


sys.path.append('..')
from text2vec import Similarity

# Two lists of sentences
sentences1 = ['c++开发十年经验',
              '善于沟通,领导他人',
              '全栈开发',
              '你好']

sentences2 = ['擅长编程',
              '体贴',
              'web 开发',
              '有领导能力']

sim_model = Similarity()
for i in range(len(sentences1)):
    for j in range(len(sentences2)):
        score = sim_model.get_score(sentences1[i], sentences2[j])
        print("{} \t\t {} \t\t Score: {:.4f}".format(sentences1[i], sentences2[j], score))

放上运行结果

可以发现,联想的效果还是有的,至少在我当前的需求下,它是完全够用的。

这是一个很关键的报错,具体可以参考这位老哥的博客:解决办法

(不过确实,因为围墙的存在,在一定程度上是阻碍了国内科研和学习的发展)

亲测可行的方法则是在代码前面补充上下面两行代码(即利用镜像)

bash 复制代码
import os
os.environ['HF_ENDPOINT']='https://hf-mirror.com'

之后如果有闲工夫的话,我还是想利用word2vec来训练一个自己的模型,毕竟数据摆在这里,不用而去调别人现成的模型,多少是不会满足特定场景的需求。

参考文献:

python实现文本相似度的计算

python利用word2vec计算文本相似度

wiki. model下载

相关推荐
无忧智库15 分钟前
智慧电厂:引领发电行业新革命(PPT)
大数据·人工智能
Oflycomm22 分钟前
物理AI时代的“连接底座”:Wi-Fi 7模组如何撑起具身智能的神经网络
人工智能·深度学习·神经网络·物联网·具身智能·wifi7
hughnz39 分钟前
海上钻井平台的“绿色革命”:如何破解能源世界的“不可能三角”
人工智能
遥感知识服务43 分钟前
盐碱地、白屋顶和裸土都很亮,卫星怎样分清?
人工智能·算法·机器学习
Microvision维视智造1 小时前
火腿肠里有没有异物?穿刺针尖有没有毛刺?——视觉检测守护“舌尖上的安全“
人工智能·计算机视觉·视觉检测
147API1 小时前
Claude for Teachers 发布后,教育 AI 工作流怎样做标准对齐与数据验收
人工智能
浪潮BB机1 小时前
解决会议纪要错字多,2026年主流语音识别软件横评与优化方案
人工智能·语音识别·效率工具·ai工具·录音转写·会议纪要
飞凌嵌入式1 小时前
工业无死角视觉方案:RV1126B平台AVS全景拼接+目标检测
人工智能·数码相机·目标检测
数智工坊1 小时前
IFCSR:面向一步扩散式真实世界图像超分辨率的无需额外推理保真度-真实感控制
人工智能
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-07-16
人工智能·经验分享·深度学习·神经网络·产品运营