计算文本相似度的几种方法以及实现原理

第一种基于TF-IDF向量法计算文本相似度

import jieba
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

# 语料库
corpus = [
    '你借的钱什么时候还呀',
    '你到底什么时候还钱',
    '你如果不还钱的话,你的征信将会收到影响',
    '欠钱不还会影响征信',
    '影响征信的原因可能是欠钱不还'
]

# 分词
corpus_cut = [' '.join(list(jieba.cut(text))) for text in corpus]

# TF-IDF向量化
vectorizer = TfidfVectorizer()
corpus_tfidf = vectorizer.fit_transform(corpus_cut)

# 计算相似度
similarity_matrix = cosine_similarity(corpus_tfidf)

print(similarity_matrix)

运行结果如下:

[[1.         0.75203953 0.         0.         0.        ]
 [0.75203953 1.         0.         0.         0.        ]
 [0.         0.         1.         0.32580811 0.21520437]
 [0.         0.         0.32580811 1.         0.66052491]
 [0.         0.         0.21520437 0.66052491 1.        ]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值