立聪堂德州十三局店 发表于 2025-1-25 09:39:07

python实现文本向量化求相似度

​ 工作中,必要在数据堆栈找出相似的表目录,以致碎片化情况,由于定名方式不规范,使用简单的sql文本切分可能不好获取结果,采用了python脚本实现。
题目分析

首先使用python对目录文本向量化,
然后计算余弦相似度,
末了调参获取相似目录清单。
题目处理

# -*- coding:utf-8 -*-
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import jieba
import numpy as np
import pandas as pd

# 1.读取数据
documents = [
   '上海市经信局2025信创项目',
   '上海市教育局2025信创项目',
   '市人社局2025信创项目',
   '市中小学生教育信息表',
   '市高中学生教育信息表'
]
# 2.数据处理
# jieba进行分词
texts_cut =
getDocuments = []

for text in texts_cut:
    strOne = ''
    for i in range(len(text)):
      strOne += text + ' '
    getDocuments.append(strOne)
# 生成向量化矩阵
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(getDocuments)

# 计算余弦相似度
resList = []
for i in range(len(getDocuments)):
    similarity_scores = cosine_similarity(tfidf_matrix, tfidf_matrix)
    rowList = []
    for j in range(similarity_scores.shape):
      if similarity_scores >= 0.4:
            rowList.append(documents)
    resList.append(rowList)

# 结果去重
res = list(set(tuple(sorted(sub)) for sub in resList))
print(res)

# 3.保存结果
pd.DataFrame(res).to_excel('./output.xlsx')

结果呈现

https://i-blog.csdnimg.cn/direct/9a7a515fc48d4e468c21c8373068d416.png#pic_center
文章鉴戒

python实战(三)——文本向量化/文本表现

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: python实现文本向量化求相似度