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]