[NLP]基于向量距离相似度整理

本文介绍了几种常见的相似度度量方法,包括余弦相似度用于高维向量的比较,欧几里得距离衡量空间距离,Jaccard相似度针对集合数据,以及词移距离(WMD)用于计算文本间的语义差异。这些方法在数据分析、文本挖掘和机器学习中有广泛应用。
摘要由CSDN通过智能技术生成
  1. Cosine Similarity(余弦相似度):

    • 侧重点:衡量向量之间的夹角相似度。
    • 原理:计算向量间的余弦值,值越接近1表示越相似,值越接近-1表示越不相似,0表示正交(不相关)。
    • 适用场景:用于衡量向量的方向和相似性,尤其适用于处理高维稀疏向量。
    • import numpy as np
      from sklearn.metrics.pairwise import cosine_similarity
      
      def cosine_similarity_method(vec1, vec2):
          vec1 = np.array(vec1).reshape(1, -1)
          vec2 = np.array(vec2).reshape(1, -1)
          similarity = cosine_similarity(vec1, vec2)
          return similarity[0][0]
  2. Euclidean Distance(欧几里得距离):

    • 侧重点:衡量向量之间的空间距离。
    • 原理:计算向量之间的欧几里得距离,即直线距离。
    • 适用场景:用于测量向量之间的物理距离,适用于低维稠密向量。
    • import numpy as np
      from scipy.spatial.distance import euclidean
      
      def euclidean_distance_method(vec1, vec2):
          return euclidean(vec1, vec2)
  3. Jaccard Similarity(Jaccard相似度):

    • 侧重点:衡量集合之间的相似性。
    • 原理:计算两个集合的交集与并集的比值,值越接近1表示越相似,值越接近0表示越不相似。
    • 适用场景:适用于处理文本或其他类型的集合数据,用于衡量集合之间的相似性。
    • def jaccard_similarity_method(set1, set2):
          intersection = len(set1.intersection(set2))
          union = len(set1.union(set2))
          similarity = intersection / union if union != 0 else 0
          return similarity
  4. Word Mover’s Distance(词移距离,WMD):

    • 侧重点:衡量文本之间的语义距离。
    • 原理:基于词向量的语义相似度计算,通过计算从一个文本转移到另一个文本所需的最小词汇移动距离。
    • 适用场景:适用于文本相似性比较,尤其是处理语义相似性问题。
    • import gensim
      from nltk.tokenize import word_tokenize
      
      def wmd_similarity_method(doc1, doc2, model):
          doc1_tokens = word_tokenize(doc1)
          doc2_tokens = word_tokenize(doc2)
          similarity = model.wv.wmdistance(doc1_tokens, doc2_tokens)
          return similarity

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值