今天,在看论文的时候,突然想到了一件事情,爱是相对的,是双方的事情。那么“你爱我”和“你爱我”的相似度是多少呢?采用余弦相似度的方式来进行相似度比较。首先“简单”的介绍一下余弦相似度:

    概念:余弦相似性通过计算两个向量的余弦角来测量两个向量之间的相似性。

    余弦相似性公式如下:

    当时,找关于中文的相似度比较的时候,废了一点点时间,干脆自己写一个,当做笔记了。关于一些过程都放到了代码里面。代码如下所示:

import numpy as np
from numpy.linalg import norm
import jieba
# 1、原始文本
origin_text1 = "我爱你"
origin_text2 = "你爱我"
# 2、NLP 分词 jieba
text1_list=jieba.cut(origin_text1,cut_all=False, HMM=False)
text2_list=jieba.cut(origin_text2,cut_all=False, HMM=False) # 3、使用Python中的collections库,将分词后的文本转换成词汇向量
import collections
A = ['我','爱','你']
B = ['你','爱','我']
text1_counter = collections.Counter(text1_list)
text2_counter = collections.Counter(text2_list) # 4、使用Python中的math库,计算两个词汇向量的余弦相似度:
import math def cos_sim(vector1, vector2):
numerator = sum(a * b for a, b in zip(vector1, vector2))
denominator = math.sqrt(sum(a**2 for a in vector1)) * math.sqrt(sum(b**2 for b in vector2))
return round(numerator / denominator, 3) print(cos_sim(text1_counter.values(), text2_counter.values()))
# 0.577

   其实,从结果来看的话,是0.577。那么是不是说,单纯一方面的爱别人,只能得到一般成功的概率。

      因为,我采用jieba分词的形式,对这两句话进行分词,但是通过结果查看得知,jieba分完词之后,结果还是“我爱你”、“你爱我”。然后我采用['我','爱','你']、['你','爱','我']的形式,发现结果为1。这表明了爱别人是有收获的。

如果有错误,欢迎大家指正,谢谢!!!

    

    

Python - 中文文本进行余弦相似度比较的更多相关文章

  1. python 2 计算字符串 余弦相似度

    def get_ord_list(str): return [ord(i) for i in str] def calcu_approx(str1,str2): def dot(A,B): retur ...

  2. [转]python进行中文文本聚类(切词以及Kmeans聚类)

    简介 查看百度搜索中文文本聚类我失望的发现,网上竟然没有一个完整的关于Python实现的中文文本聚类(乃至搜索关键词python 中文文本聚类也是如此),网上大部分是关于文本聚类的Kmeans聚类的原 ...

  3. Python简单实现基于VSM的余弦相似度计算

    在知识图谱构建阶段的实体对齐和属性值决策.判断一篇文章是否是你喜欢的文章.比较两篇文章的相似性等实例中,都涉及到了向量空间模型(Vector Space Model,简称VSM)和余弦相似度计算相关知 ...

  4. word2vec词向量训练及中文文本类似度计算

    本文是讲述怎样使用word2vec的基础教程.文章比較基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python ...

  5. 余弦相似度及基于python的三种代码实现、与欧氏距离的区别

    1.余弦相似度可用来计算两个向量的相似程度 对于如何计算两个向量的相似程度问题,可以把这它们想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不同的方向.两条线段之间形成一个夹角, ...

  6. SnowNLP:一个处理中文文本的 Python 类库[转]

    SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...

  7. python实现余弦相似度文本比较

    向量空间模型VSM: VSM的介绍: 一个文档可以由文档中的一系列关键词组成,而VSM则是用这些关键词的向量组成一篇文档,其中的每个分量代表词项在文档中的相对重要性. VSM的例子: 比如说,一个文档 ...

  8. Python 余弦相似度与皮尔逊相关系数 计算

    夹角余弦(Cosine) 也可以叫余弦相似度. 几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异. (1)在二维空间中向量A(x1,y1)与向量B(x2,y2 ...

  9. python读入中文文本编码错误

    python读入中文文本编码错误 python读入中文txt文本: #coding:utf-8 def readFile(): fp = open('emotion_dict//neg//neg_al ...

  10. python结巴分词余弦相似度算法实现

    过余弦相似度算法计算两个字符串之间的相关度,来对关键词进行归类.重写标题.文章伪原创等功能, 让你目瞪口呆.以下案例使用的母词文件均为txt文件,两种格式:一种内容是纯关键词的txt,每行一个关键词就 ...

随机推荐

  1. 大语言模型(LLM)在文本分类、语言生成和文本摘要中的应用

    目录 大语言模型(LLM)在文本分类.语言生成和文本摘要中的应用 引言 文本分类.语言生成和文本摘要是人工智能领域中的重要任务,涉及到自然语言处理.机器学习和深度学习等领域.本文将介绍大语言模型(LL ...

  2. 基于Node.js的分布式应用程序架构设计与最佳实践:实现高效、可扩展的分布式系统

    目录 基于Node.js的分布式应用程序架构设计与最佳实践:实现高效.可扩展的分布式系统 随着互联网的普及和发展,分布式系统已经成为现代应用程序中不可或缺的一部分.而Node.js作为当前最流行的Ja ...

  3. TornadoFx 页面之间的数据传递

    原文地址: TornadoFx 页面之间的数据传递 - Stars-One的杂货小窝 和Android开发一样,经常遇到两个页面之间需要进行数据的交互传输,本文讲解下TornadoFx框架中,页面之间 ...

  4. 知识图谱之《海贼王-ONEPICE》领域图谱项目实战(含码源):数据采集、知识存储、知识抽取、知识计算、知识应用、图谱可视化、问答系统(KBQA)等

    知识图谱之<海贼王-ONEPICE>领域图谱项目实战(含码源):数据采集.知识存储.知识抽取.知识计算.知识应用.图谱可视化.问答系统(KBQA)等 实体关系可视化页面可视化页面尝鲜 1. ...

  5. P7561[JOISC 2021 Day2] 道路の建設案 (Road Construction) 题解

    P7561[JOISC 2021 Day2] 道路の建設案 (Road Construction) 题解 题目描述 JOI 国是一个 \(x\times y\) 的二维平面,王国里有 \(n\) 个城 ...

  6. 【Linq】Value cannot be null. (Parameter 'row')

    报错代码: 原因分析: Linq中左连接后,取值需要处理null值;如下图修改后恢复正常.

  7. 动态SQL与静态SQL使用场景

    静态SQL 和动态SQL 的区别 静态SQL(或嵌入式SQL) 是应用程序中的 SQL 语句,它们在运行时不会更改,因此可以硬编码到应用程序中. 动态 SQL是在运行时构造的 SQL 语句:例如,应用 ...

  8. Centos使用keepalived配置MySQL双主热备集群

    目录 安装MySQL 下载安装包 卸载mariadb-lib 安装依赖 安装gcc 安装perl 永久关闭selinux 安装 配置 创建mysql数据库管理用户和组 创建数据目录 修改my.cnf配 ...

  9. sshpiper 在 Kubernetes 上的应用

    sshpiper 在 Kubernetes 上的应用 介绍 GitHub Repo 一个反向代理目标服务器的 proxy,客户端想请求某个 ssh 服务器,直接请求的是 sshpiper 服务,再经由 ...

  10. PerfView专题 (第十三篇):洞察 .NET程序 的非托管句柄泄露

    一:背景 1. 讲故事 前几天写了一篇 如何洞察 .NET程序 非托管句柄泄露 的文章,文中使用 WinDbg 的 !htrace 命令实现了句柄泄露的洞察,在文末我也说了,WinDbg 是以侵入式的 ...