首页 > 其他分享 >余弦相似度

余弦相似度

时间:2022-10-11 14:58:59浏览次数:30  
标签:times1 sqrt times 词频 vec 相似 余弦

计算公式

  • \(\cos (\theta) = \frac{\vec{A} \cdot \vec{B}}{||\vec{A}|| \times ||\vec{B}||}\)
  • 其中 \(\theta\) 是 余弦相似度.
  • 当\(\cos (\theta)\)越靠近1,则表示向量A和向量B在向量空间中的夹角越靠近0,意味着它们之间更相似。
  • 夹角等于0,则表示这俩向量相等。

例子

  • 假如要计算两段文本之间的相似性,总共可以分成以下五个步骤:

    1. 分词
    2. 作出语料库
    3. 计算词频
    4. 将原句转为词频向量
    5. 计算余弦相似性
  • A:今天天气真好,明天天气也一样。

  • B:今天天气不差,明天也一样。

  1. 分词
    今天/天气/真好,明天/天气/也/一样。
    今天/天气/不差,明天/也/一样。
  2. 语料库
    今天,天气,真好,明天,也,一样,不差
  3. 计算词频
    A:今天1,天气2,真好1,明天1,也1,一样1,不差0
    B:今天1,天气1,真好0,明天1,也1,一样1,不差1
  4. 词频向量
    \(\vec{A} = \begin{bmatrix} 1\\2\\1\\1\\1\\1\\0 \end{bmatrix}\)\(\vec{B} = \begin{bmatrix} 1\\1\\0\\1\\1\\1\\1 \end{bmatrix}\)
  5. 余弦相似性计算
    套入上述公式中可得\(\cos(\theta) = \frac{\sum_i^n(A_i \times B_i)}{\sqrt{\sum_i^nA_i^2}\times \sqrt{\sum_i^nB_i^2}} = \frac{1\times1 + 2\times1 + 1\times0 + 1\times1 + 1\times1 + 1\times1 + 0\times1}{\sqrt{1^2 + 2^2 + 1^2 + 1^2 + 1^2 + 1^2 + 0^2} \times \sqrt{1^2 + 1^2 + 0^2 + 1^2 + 1^2 + 1^2 + 1^2}} = \frac{6}{3 \times \sqrt{6}} \approx 0.816\)
  • 最终结果为0.816更靠近1,于是通过余弦相似度计算的结果表示这两个句子之间是颇为相似的。

标签:times1,sqrt,times,词频,vec,相似,余弦
From: https://www.cnblogs.com/GottenZZP/p/16779160.html

相关文章

  • 中文语义相似度匹配模型
       zhaogaofeng611/TextMatch:基于Pytorch的,中文语义相似度匹配模型(ABCNN、Albert、Bert、BIMPM、DecomposableAttention、DistilBert、ESIM、RE2、Roberta、SiaGRU......
  • 【自然语言处理(NLP)】基于PaddleNLP的短文本相似度计算
    【自然语言处理(NLP)】基于PaddleNLP的短文本相似度计算作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与......
  • 力扣872 叶子相似的树
      思路:直接前序遍历两个树获得叶子节点,然后对vector容器进行比较    class Solution {public:    bool leafSimilar(TreeNode* root1, TreeNode* ......
  • git commit、git bisect 和你的生活有什么相似之处?
    gitcommit、gitbisect和你的生活有什么相似之处?你认为一个商人在编程面试中会紧张吗?你能想象gitcommit、gitbisect、你的生活和星际电影?生活不仅可以带您度过......
  • 利用Hugging Face中的模型进行句子相似性实践
      HuggingFace是什么?它作为一个GitHub史上增长最快的AI项目,创始人将它的成功归功于弥补了科学与生产之间的鸿沟。什么意思呢?因为现在很多AI研究者写了大量的论文和开源......
  • pytorch模型转mindspore模型的相似度
    test_image='images/hand.jpg'oriImg=cv2.imread(test_image) #B,G,Rorderw=body_estimation(oriImg)#直接存w0就行。np.save('input.npy',oriImg)np.save('o......
  • 向量距离与相似度函数
    假设当前有两个nn维向量xx和yy (除非特别说明,本文默认依此写法表示向量),可以通过两个向量之间的距离或者相似度来判定这两个向量的相近程度,显然两个向量之间距离越小,相似......
  • 相似
    相似形 放缩与相似形形状相同的图形叫相似的图形,或者叫相似形 ps:大小相同的两个相似形,它们可以重合,这时它们是全等形如果两个多边形是相似形,那么这两个多边形的对......
  • 相似矩阵
    定义A~B,即存在可逆矩阵P,使得P^(-1)AP=B 性质1、传递性,A~B,B~C,则A~C2、对称性,若A~B<=>B~A3、反身性,A~A 若A~B则...1、特征多项式相同,即|lamdaE-A|=|lamdaE-B|,AB......