企业分类相似度筛选实战:基于规则与向量方法的对比分析

news2025/1/19 11:31:41

文章目录

  • 企业表相似类别筛选实战
    • 项目背景
    • 介绍
    • 效果展示
      • 基于规则的效果
      • 基于向量相似的效果
    • 说明
    • 相关文章推荐

企业表相似类别筛选实战

项目背景

在当下RAG(检索增强生成)技术应用不断发展的背景下,掌握文本相似算法不仅能够助力信息检索,还可用于评估生成式LLM的效果。

介绍

文本分类是现实生活中常见的任务之一。在企业分类中,类别数量通常达到数百个,为了方便理清这些类别间的关系、筛选出相似类别变得尤为重要。本项目旨在解决这一需求。

本项目的代码开源在GitHub,欢迎Star和Donate! 地址:https://github.com/JieShenAI/csdn/tree/main/25/01/文本相似_企业表筛选_实战

效果展示

本文通过基于规则的google_bleu方法基于向量的相似度计算,对企业类别间的相似度进行测算,并展示了两种方法的筛选结果。

候选集的表格为 alter_values.xls,通过遍历 init_values.xls 中的条目,从候选集中筛选出前 TopK 个最相似的条目。

基于规则的效果

规则方法主要基于字符层面的相似度计算,使用 google_bleu 算法完成,效果如下图所示:

在这里插入图片描述

行业分类属性列 来自 init_values.xls

【0-9】属性列,代表与行业分类属性列中值相似的前 Top 10 个值,相似程度从高到低递减,0 属性列为最相似。

google_bleu 支持字符串的相似得分计算,主要是基于字符层面的。

可以改进的点:在分词的时候,采用字分词,每个单字为一个词。在分词时,可通过引入 jieba分词 和自定义领域词典进行优化。

基于向量相似的效果

向量相似方法采用嵌入模型,能够抓取文本的深层语义信息,避免仅局限于字符表面匹配。

使用 jina-embeddings-v2-base-zh 作为嵌入模型,点击查看该模型的介绍 https://modelscope.cn/models/jinaai/jina-embeddings-v2-base-zh

在这里插入图片描述

使用基于向量的相似度计算,能够把握住文本深层次的语义信息,不会仅仅是表面的字符。

相比规则算法,向量方法能有效筛选出语义相近的类别,例如:

  • 规则方法可能错误地将“房地产中介服务”筛选为与“中 国 共 产 党 机 关”相关的条目;
  • 向量方法则能准确找到更贴合语义的结果,如“国家权力机构”或“共青团”。

基于规则

行业分类0123456789
中国共产党机关中国共产党机关中成药生产房地产中介服务国家机构国家权力机构国家行政机构其他国家机构公共安全管理机构生产专用起重机制造其他未列明国家机构

基于向量

行业分类0123456789
中国共产党机关中国共产党机关国家权力机构共青团国家行政机构人民检察院国家机构监察委员会、人民法院和人民检察院人民政协、民主党派人民政协基层群众自治组织及其他组织

可以发现基于规则找出的与中 国 共 产 党 机 关相关条目,其中居然包含有中成药生产房地产中介服务

说明

在这里插入图片描述

data: 存放原始数据目录;

rule.py: 基于规则的相似度筛选代码;

vector.py: 基于向量的相似度筛选代码;参考 chroma. https://python.langchain.com/docs/integrations/vectorstores/chroma/

向量筛选.csv规则筛选.csv 是最终的输出结果;

  • 代码复用:通过对两个表格与表头的替换,即可实现代码复用;

相关文章推荐

三种文本相似计算方法:规则、向量与大模型裁判.https://blog.csdn.net/sjxgghg/article/details/145209050

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2278894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)角点检测

角点检测(Corner Detection)是计算机视觉和图像处理中重要的步骤,主要用于提取图像中的关键特征,以便进行后续的任务,比如图像匹配、物体识别、运动跟踪等。下面介绍几种常用的角点检测方法及其应用。 1. Harris角点检…

RC2在线加密工具

RC2是由著名密码学家Ron Rivest设计的一种传统对称分组加密算法,它可作为DES算法的建议替代算法。RC2是一种分组加密算法,RC2的密钥长度可变,可以从8字节到128字节,安全性选择更加灵活。 开发调试上,有时候需要进行对…

玩转大语言模型——使用graphRAG+Ollama构建知识图谱

系列文章目录 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用graphRAGOllama构建知识图谱 文章目录 系列文章目录前言下载和安装用下载项目的方式下载并安装用pip方式下载并安装 生成知…

【王树森搜索引擎技术】相关性01:搜索相关性的定义与分档

工业界是怎么做的? 制定标注规则 -> 标注数据 -> 训练模型 -> 线上推理搜索产品和搜索算法团队定义相关性标注规则 认为地将 (q,d) 相关性划分为 4个 或 5个 档位相关性文档规则非常重要!假如日后有大幅度变动,需要重新标注数据&am…

学习threejs,使用FlyControls相机控制器

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.FlyControls 相机控制…

LabVIEW 程序中的 R6025 错误

R6025错误 通常是 运行时库 错误,特别是与 C 运行时库 相关。这种错误通常会在程序运行时出现,尤其是在使用 C 编译的程序或依赖 C 运行时库的程序时。 ​ 可能的原因: 内存访问冲突: R6025 错误通常是由于程序在运行时访问无效内…

第4章 Kafka核心API——Kafka客户端操作

Kafka客户端操作 一. 客户端操作1. AdminClient API 一. 客户端操作 1. AdminClient API

Tarjan算法笔记

Tarjan 内容概要 dfs 搜索树 首先,我们要知道,Tarjan 算法来源于搜索树,那是什么呢,顾名思义就是按照搜索的顺序来遍历,所产生的顺序构成的树。首先我们可以来举个有向图的例子: 所以我们可以知道 dfs 生…

socket网络通信基础

目录 一、套接字编程基本流程 二、TCP流式协议及Socket编程的recv()和send() 三、读写无阻塞-完美掌握I/O复用 select()函数详解 poll()函数详解 epoll () 函数详解 一、套接字编程基本流程 原文链接:Socket编程…

接口防篡改+防重放攻击

接口防止重放攻击:重放攻击是指攻击者截获了一次有效请求(如交易请求),并在之后的时间里多次发送相同的请求,从而达到欺骗系统的目的。为了防止重放攻击,通常需要在系统中引入一种机制,使得每个请求都有一个唯一的标识符(如时间戳…

庄小焱——2024年博文总结与展望

摘要 大家好,我是庄小焱。岁末回首,2024 年是我在个人成长、博客创作以及生活平衡方面收获颇丰的一年。这一年的经历如同璀璨星辰,照亮了我前行的道路,也为未来的发展奠定了坚实基础。 1. 个人成长与突破 在 2024 年&#xff0c…

在线base64转码工具

在线base64转码工具,无需登录,无需费用,用完就走。 官网地址: https://base64.openai2025.com 效果:

鸿蒙学习构建视图的基本语法(二)

一、层叠布局 // 图片 本地图片和在线图片 Image(https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/080662.png) Entry Component//自适应伸缩 设置layoutWeight属性的子元素与兄弟元素 会按照权重进行分配主轴的空间// Position s…

OA-CNN:用于 3D 语义分割的全自适应稀疏 CNN

大家读完觉得有帮助记得及时关注和点赞!!! 1介绍 2相关工作 基于点的学习。 基于 CNN 的学习。 动态卷积。 3全能自适应 3D 稀疏 CNN 3.1空间适应性感受野 赋予动机。 体素网格。 金字塔网格分区。 Adaptive 聚合器。 3.2自适应关…

利用 LNMP 实现 WordPress 站点搭建

部署MySQL数据库 在主机192.168.138.139主机部署数据库服务 包安装数据库 apt-get install mysql-server 创建wordpress数据库和用户并授权 mysql> create database wordpress;#MySQL8.0要求指定插件 mysql> create user wordpress192.168.138.% identified with mys…

Vue2.0的安装

1.首先查看是否已经安装了node.js 选择以管理员方式打开命令提示符(权限较高),或者通过cmd的方式打开 打开后输入node -v 查看自己电脑是否安装node,以及版本号 node -v 如果没有的话,请查看Node.js的安装 2.Vue和脚…

OpenEuler学习笔记(一):常见命令

OpenEuler是一个开源操作系统,有许多命令可以用于系统管理、软件安装、文件操作等诸多方面。以下是一些常见的命令: 一、系统信息查看命令 uname 用途:用于打印当前系统相关信息,如内核名称、主机名、内核版本等。示例&#xff…

无纸化同屏解决方案探究和技术展望

好多开发者,在了解到我们在无纸化同屏、智慧教育场景的碾压式行业积累后,希望我们做些无纸化同屏相关的技术探讨,实际上这块方案并不复杂,很容易做到实际使用场景契合的方案,主要是如何达到客户期望的功能和体验。 无…

nss刷题3

[SWPUCTF 2022 新生赛]webdog1__start level1: 打开环境后什么也,没有,查看源码,看到第一关是MD5值,要get传参web,然后web的值的MD5和它原来值相等,0e开头的字符在php中都是0,传入…

深入了解计算机网络中的路由协议与性能优化

在计算机网络中,路由协议是决定数据如何从源节点到达目标节点的关键组成部分。不同的路由协议各有特点,如何根据实际需求选择合适的协议,并对网络性能进行优化,是每个网络管理员需要面临的重要课题。 本篇文章将深入探讨计算机网…