文本相似度方案
文章目录
- SequenceMatcher
- 余弦相似度
- 基于逆向文档频率向量化
SequenceMatcher
from difflib import SequenceMatcher s1 = "1.2 章节标题【abc】"
s2 = "1.2 章节标题【abc】、【she】、【this】"
SequenceMatcher(None, s1, s2).ratio()
# 0.6666666666666666
余弦相似度
- 文本向量化
import jieba # 分词库# 基于词频的向量化
s1_list = list(jieba.cut(s1))
# ['1.2', ' ', '章节', '标题', '【', 'abc', '】']s2_list = list(jieba.cut(s2))
# ['1.2', ' ', '章节', '标题', '【', 'abc', '】', '、', '【', 'she', '】', '、', '【', 'this', '】']# 统计语料库
corpus = set(s1_list) | set(s2_list)
# {' ', '1.2', 'abc', 'she', 'this', '、', '【', '】', '标题', '章节'}# 文档词频统计
arr1 = np.array([s1_list.count(i) for i in corpus])
# array([0, 1, 1, 1, 0, 0, 1, 1, 1, 1])arr2 = np.array([s2_list.count(i) for i in corpus])
# array([2, 1, 1, 1, 1, 1, 1, 1, 3, 3])
- 计算cosine_theta值
from sklearn.metrics.pairwise import cosine_similarity# 计算余弦相似度
score = cosine_similarity(arr1.reshape(1, -1), arr2.reshape(1, -1))
# array([[0.77204865]])
可以看出余弦相似度比普通的SequenceMatcher具有更好的效果。
基于逆向文档频率向量化
ss1 = " ".join(s1_list)In [42]: ss1
Out[42]: '1.2 章节 标题 【 abc 】'In [43]: ss2 = " ".join(s2_list)In [44]: ss2
Out[44]: '1.2 章节 标题 【 abc 】 、 【 she 】 、 【 this 】'In [45]: from sklearn.feature_extraction.text import TfidfVectorizerIn [46]: vector = TfidfVectorizer()In [47]: r = vector.fit_transform([ss1, ss2])In [48]: r
Out[48]:
<2x5 sparse matrix of type '<class 'numpy.float64'>'with 8 stored elements in Compressed Sparse Row format>In [49]: r.toarray()
Out[49]:
array([[0.57735027, 0. , 0. , 0.57735027, 0.57735027],[0.37930349, 0.53309782, 0.53309782, 0.37930349, 0.37930349]])In [50]: rr = r.toarray()In [51]: r
Out[51]:
<2x5 sparse matrix of type '<class 'numpy.float64'>'with 8 stored elements in Compressed Sparse Row format>In [52]: rr
Out[52]:
array([[0.57735027, 0. , 0. , 0.57735027, 0.57735027],[0.37930349, 0.53309782, 0.53309782, 0.37930349, 0.37930349]])
相关文章:
文本相似度方案
文章目录 SequenceMatcher余弦相似度基于逆向文档频率向量化 SequenceMatcher from difflib import SequenceMatcher s1 "1.2 章节标题【abc】" s2 "1.2 章节标题【abc】、【she】、【this】" SequenceMatcher(None, s1, s2).ratio() # 0.6666666666666…...
appium 的工作原理
** 安卓: ** 1.1 appuim 基于 uiautomator2 的原理 appium 服务启动后默认在 4723 端口上创建一个 http 服务,脚本通过服务地址 http://xxxx:4723/wd/hub 和 appium 进行通信 在 初 始 化 脚 本 和 appium 连 接 的 过 程 中 appium 会 向 手 机 就 …...
ECharts饼图-富文本标签,附视频讲解与代码下载
引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详…...
关于在windows10系统64位安装luasocket问题
luarocks install luasocket 原本以为按下enter键就会一帆风顺:结果事事出人意料之外。 C:\Users\40341>luarocks install luasocket Installing https://luarocks.org/luasocket-3.1.0-1.src.rockluasocket 3.1.0-1 depends on lua > 5.1 (5.4-1 provided …...
模型拆解(二):GeleNet
文章目录 一、GeleNet1.1编码器:PVT-v2-b21.3D-SWSAM:方向-置换加权空间注意力模块1.4KTM:知识转移模块1.5解码器模块 一、GeleNet 论文:Salient Object Detection in Optical Remote Sensing Images Driven by Transformer&#…...
RTE 2024 隐藏攻略
大家好!想必今年 RTE 大会议程大家都了解得差不多了,这将是一场实时互动和多模态 AI builder 的年度大聚会。 大会开始前,我们邀请了参与大会策划的 RTE 开发者社区和超音速计划的成员们,分享了不同活动的亮点和隐藏攻略。 请收…...
django 部署服务器后 CSS 样式丢失的问题
原因: nginx除了提供反向代理,负载均衡以外,还提供了静(html, css, js)动(视图,模板需要进行解析执行的,或者操作数据库的)分离的功能。 原本django项目中的静态资源存…...
基于springboot的网上服装商城推荐系统的设计与实现
基于springboot的网上服装商城推荐系统的设计与实现 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:idea 源码获取…...
盘古信息IMS系统助力制造企业释放新质生产力
在全球制造业竞争日益激烈的背景下,提升新质生产力已成为制造企业普遍追求的核心目标。因此,众多制造企业开始对生产流程、管理模式乃至整个企业生态系统进行全面的优化与升级,以期在市场竞争中占据优势地位,迎来更广阔的发展空间…...
ArcGIS 10.8 安装教程
目录 一、ArcGIS10.8二、安装链接三、安装教程四、ArcGIS实战 (一)ArcGIS10.8 1. 概述 ArcGIS 10.8是由美国Esri公司开发的GIS平台,用于处理、分析、显示和管理地理数据,并实现数据共享。它具有新特性和功能,性能更…...
Redis学习笔记(二)--Redis的安装与配置
文章目录 一、Redis的安装1、克隆并配置主机2、安装前的准备工作1.安装gcc2.下载Redis3.上传到Linux 3、安装Redis1.解压Redis2.编译3.安装3.查看bin目录 4、Redis启动与停止1.前台启动2.命令式后台启动3.Redis的停止4.配置式后台启动 二、连接前的配置1、绑定客户端IP2、关闭保…...
软件工程之软件系统设计与软件开发方法
一.软件系统设计 1.体系结构设计就是架构设计,软件设计包含4个方面: 接口(人机界面设计)设计:软件与操作系统、软件与人之间如何交互; 架构(结构)设计:定义软件系统各…...
pip命令行安装pytest 一直报错
其实就是切换不同镜像安装 我最终成功的是阿里云镜像 pip install --trusted-host mirrors.aliyun.com pytest 也可以用其他的 pip install -i https://pypi.org/simple pytest # 或者使用其他的镜像源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pytest...
如何在Debian操作系统上安装Doker
本章教程,主要介绍如何在Debian 11 系统上安装Docker。主要使用一键安装Docker脚本和一键卸载脚本来完成。 一、安装Docker #!/bin/bashRED\033[0;31m GREEN\033[0;32m YELLOW\033[0;33m BLUE\033[0;34m NC\033[0mCURRENT_DIR$(cd "$(dirname "$0")…...
代码随想录刷题学习日记
仅为个人记录复盘学习历程,解题思路来自代码随想录 代码随想录刷题笔记总结网址:代码随想录 二叉树的迭代遍历(不使用递归实现遍历) 递归的实现就是:每一次递归调用都会把函数的局部变量、参数值和返回地址等压入调用栈中,递归是通过栈实现…...
OpenText ALM Octane,为您的 DevOps 管道提供质量保证
实现更高水平的敏捷性、可追溯性和可预测性是一个持续的过程。ALM Octane 可帮助您改进开发和测试流程,从而改善整个软件交付价值流中的工作流程。 产品亮点 对基于软件的创新的需求已经加速,扰乱了几乎每个行业,也改变了我们的生活。快速交…...
【python实操】python小程序之参数化以及Assert(断言)
引言 python小程序之参数化以及Assert(断言) 文章目录 引言一、参数化2.1 题目2.2 代码2.3 代码解释 二、Assert(断言)2.1 概念2.1.1 Assert语句的基本语法:2.1.2 基本断言2.1.3 断言函数参数2.1.4 断言前后状态一致 2…...
探索CSS动画下的按钮交互美学
效果演示 这段代码通过SVG和CSS动画创建了一个具有视觉吸引力的按钮,当用户与按钮交互时(如悬停、聚焦或按下),按钮会显示不同的动画效果。 HTML <button class"button"><div class"dots_border"…...
241024-Ragflow离线部署Docker-Rootless环境配置修改
A. 最终效果 B. 文件修改 docker-compose.yml include:- path: ./docker-compose-base.ymlenv_file: ./.envservices:ragflow:depends_on:mysql:condition: service_healthyes01:condition: service_healthyimage: ${RAGFLOW_IMAGE}container_name: ragflow-serverports:- ${…...
网络基础概念:广播域、冲突域与VLAN解析
一、网络基础概念 在现代计算机网络中,广播域、冲突域和虚拟局域网(VLAN)是网络架构和管理的核心概念。了解这些概念对网络性能优化、流量管理和安全性提升至关重要。 二、广播域 1. 定义 广播域是一个网络逻辑区域,在这个区域…...
【MySQL】C语言连接MySQL数据库3——事务操作和错误处理API
目录 1.MySQL事务处理机制 1.1.autocommit 1.2.autocommit的设置与查看 1.3.使用示例 2.事务操作API 2.1.设置事务提交模式——mysql_autocommit() 2.2.提交事务——mysql_commit() 2.3.事务回滚——mysql_rollback() 3.错误处理的API 3.1.返回错误的描述——mysql_er…...
ARM嵌入式学习--第六天(电子电路基础知识)
电子电路基础知识 -基本元器件 -电阻 电阻(Resistance,通常用“R”表示),表示导体对电流的阻碍作用的大小;电阻导体本身的一种特性;超导体没有电阻,作用是用来降压 上拉电阻:将状态…...
JAVA----单例模式
1.单例模式概念: 单例模式是一种设计模式,他的核心是确保一个类只有一个实例,单例模式主要有两种方式:饿汉式与懒汉式 2.饿汉式 饿汉就是一个迫切的意思,类加载就会导致该单实例被创建 饿汉式第一种方式:…...
基于递推式最小二乘法的PMSM参数辨识MATLAB仿真模型
微❤关注“电气仔推送”获得资料(专享优惠) 模型简介 最小二乘法是一种回归估计法,适用于被辨识的参数与系统输出为线性关 系的情况。它是在一定数据量下,基于系统输出误差的平方和最小的准则对参 数进行辨识的方法。此模型通过…...
记录一次部署 k8s 集群无法启动
情况是这样的,k8s 集群(v1.31)所需要的组件已安装完成,通过 kubeadm init 已经安装部署成功,但是等几分钟,集群组件就一直在重启,查看日志是连接 etcd 超时,所以查看了 etcd 的日志&…...
Linux下MySQL8.x的编译安装与使用
Linux下MySQL的安装与配置 1. 安装环境初始化 1.1 查看是否安装过MySQL 如果使用rpm安装, 检查一下RPM PACKAGE rpm -qa | grep -i mysql # -i 忽略大小写 # 或者 yum list installed | grep mysql如果存在mysql-libs的旧版本包,显示如下 #存在 [rootlocalhost ~]…...
cpuinfo实践记录
py-cpuinfo 是一个用于获取 CPU 信息的 Python 库。它可以帮助你获取 CPU 的详细信息,如 CPU 型号、核心数、频率、缓存大小等。以下是对 py-cpuinfo 模块的详细介绍: 安装 你可以使用 pip 来安装 py-cpuinfo 库: pip install py-cpuinfo …...
【Java】ArrayList相关操作及其案例
ArrayList相当于集合,作为一种容器存储数据,与数组类似。不同的是,ArrayList中长度可变,而数组长度不可变。 ArrayList相关API 构造器 public ArrayList() 创建一个空的集合对象 ArrayList<String>arrnew ArrayList<>…...
手机pdf阅读器,用手机也能够阅读、编辑pdf文件
在日常的学习或办公过程中,PDF格式的文件是我们最常遇见的文件格式之一,那么为了更高效、便捷地处理这些文件,选择一款合适的PDF阅读器至关重要,可以帮助我们在阅读文件的同时还可以对文件进行适当编辑处理。今天小编给大家带来几…...
通过 Twitter Token 实现授权与操作
通过 Twitter Token 实现授权与操作 一、Twitter API 概览 1.1 Twitter API 简介 Twitter API 是 Twitter 公司提供的一种编程接口,它允许开发者访问 Twitter 的海量数据,包括用户信息、推文内容、关系网络等。通过这些接口,开发者可以创建应用程序,实现自动化的社交媒体…...
企业局域网的组建与网站建设论文/营销方案案例范文
今天分享一份来自中国移动的《5G落地:应用融合与创新》。如需下载《5G落地:应用融合与创新》,请扫码前往我们公众号对话框回复“落地”。ps:链接有效期至3月5日,建议尽快下载保存哦!编辑:陈颖思…...
企业网站建设一般包含哪些内容/能翻到国外的浏览器
title: Spring加载资源文件冲突问题 tags: tomcat8springmacwebjarsj2cache categories: spring date: 2017-11-14 16:42:08背景 开发者在使用Spring做Properties文件载入时,这也是spring做placeholder的便捷之处。 classpath:和classpath*:想必也是大部分开发都会写…...
左右布局的网站/外贸网站免费推广
iOS,Android原型图设计软件 –>Axure RP,UIDesigner,Pencil,iPhone Mockup,Justinmind<– #Axure RP AxureRP - 快速原型制作软件 – 线框图,原型,规格文档,由美国Axure Software Solutions, Inc.公司开发。 AxureRP也分商业版和免费…...
wordpress 模板吧/日本预测比分
云计算的特点,主要有哪些? 1.超大规模 “云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的…...
教育类php开源网站/网站空间租用
定义和用法当拖拽对象时定位光标。默认情况下,光标是出现在被拖拽对象的中间。使用 cursorAt 选项来指定相对于 draggable 的另一个 位置(指定一个相对于 top、right、bottom、left 的像素值)。通过提供一个带有有效的 CSS 光标值的 cursor 选…...
so域名网站/佛山疫情最新消息
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言(1)EKF工作原理(2)话题数据接口(3)配置robot_pose_ekf.…...