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

文章目录

企业表相似类别筛选实战

项目背景

在当下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

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

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

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

基于规则

行业分类 0 1 2 3 4 5 6 7 8 9
中国共产党机关 中国共产党机关 中成药生产 房地产中介服务 国家机构 国家权力机构 国家行政机构 其他国家机构 公共安全管理机构 生产专用起重机制造 其他未列明国家机构

基于向量

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

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

说明

data: 存放原始数据目录;

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

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

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

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

相关文章推荐

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

相关推荐
亚马逊云开发者6 小时前
Q CLI 助力合合信息实现 Aurora 的升级运营
人工智能
超龄超能程序猿6 小时前
YOLOv8 五大核心模型:从检测到分类的介绍
yolo·分类·数据挖掘
全栈胖叔叔-瓜州7 小时前
关于llamasharp 大模型多轮对话,模型对话无法终止,或者输出角色标识User:,或者System等角色标识问题。
前端·人工智能
坚果派·白晓明7 小时前
AI驱动的命令行工具集x-cmd鸿蒙化适配后通过DevBox安装使用
人工智能·华为·harmonyos
GISer_Jing7 小时前
前端营销技术实战:数据+AI实战指南
前端·javascript·人工智能
Dekesas96957 小时前
【深度学习】基于Faster R-CNN的黄瓜幼苗智能识别与定位系统,农业AI新突破
人工智能·深度学习·r语言
大佐不会说日语~8 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
CeshirenTester8 小时前
Playwright元素定位详解:8种定位策略实战指南
人工智能·功能测试·程序人生·单元测试·自动化
世岩清上9 小时前
AI驱动的智能运维:从自动化到自主化的技术演进与架构革新
运维·人工智能·自动化
K2_BPM9 小时前
告别“单点智能”:AI Agent如何重构企业生产力与流程?
人工智能