Python计算向量余弦相似度——从入门到实践

悠悠 2024-03-25 21:13 175阅读 0赞

Python计算向量余弦相似度——从入门到实践

在文本挖掘、自然语言处理等领域,常常需要计算文本的相似度,而向量余弦相似度是较为常用的一种计算方式。本篇文章将介绍使用Python计算向量余弦相似度的方法。

  1. 向量余弦相似度的概念

向量余弦相似度是一种衡量两个向量方向差异的度量方法,通常用于计算文本之间的相似度。其计算公式如下:

cosine(A,B) = (A·B) / (||A|| * ||B||)

其中A和B为两个向量,A·B表示它们的点积,||A||和||B||表示它们的模长。

  1. Python计算向量余弦相似度的实现

Python中有多种库可以实现向量余弦相似度的计算,比如NumPy、SciPy和sklearn等。这里以NumPy为例,演示使用Python计算向量余弦相似度的过程。

以下是一个简单的示例代码,用于计算两个向量a和b的余弦相似度:

  1. import numpy as np
  2. def cosine_similarity(a, b):
  3. return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
  4. a = np.array([1, 2, 3])
  5. b = np.array([4, 5, 6])
  6. print(cosine_similarity(a, b))

运行结果为:

  1. 0.9746318461970762
  1. 应用实例——文本相似度计算

在自然语言处理领域,常常需要计算文本之间的相似度。下面以两篇新闻报道为例,演示使用Python计算它们的相似度。

  1. import jieba
  2. i

发表评论

表情:
评论列表 (有 0 条评论,175人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ES计算余弦相似

    一、前言 最近在项目中做数据推荐的功能,比如,猜你喜欢。主动给用户推荐用户喜欢的商品。如何判断某个商品是不是用户喜欢的呢?在调研过程中,发现es可以做相似度的计算,相似度

    相关 余弦相似计算

    余弦相似度计算 余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。