mysql 短文本相似度_深度学习-5.短文本相似度计算

本文介绍了短文本相似度计算的重要性和应用场景,并详细讲解了Jaccard相似系数、最长公共子序列、最小可编辑距离和余弦相似度四种算法,包括它们的原理和Python实现。通过示例展示了不同算法的计算结果。
摘要由CSDN通过智能技术生成

短文本相似度的计算在nlp自然语言处理中是十分重要的知识,它运用于很多领域,例如文本分类,文本去燥等等。

今天来看几种文本相似度的计算算法,有些会讲原理有些会直接给出算法。基于文本字符的相似度计算

Jaccard

最长公共子序列(LCS)

最小可编辑距离

基于词频向量的相似度计算

余弦相似度

主要有这么几种吧,接下来我们一一介绍。

基于文本字符的相似度计算

Jaccard :

Jaccard index , 又称为Jaccard相似系数(Jaccard similarity coefficient),对于字符串A、B,分别做分词得到分词集SA,SB,那么Jaccard系数=SA与SB交集/SA与SB并集。jaccard index 巧妙的把文本,变成数学的集合运算:

基础代码如下:

def jaccard_similarity(str_a,str_b):

seta = split_words(str_a)

setb = split_words(str_b)

print(seta)

print(setb)

sa_sb = 1.0 * len(seta & setb) / len(seta | setb)

return sa_sb

最长公共子序列(LCS)1.子序列(subsequence): 一个特定序列的子序列就是将给定序列中零个或多个元素去掉后得到的结果(不改变元素间相对次序)。例如序列的子序列有:、

2.公共子序列(common subsequenc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算从 4 个 MySQL 表中检索到的所有可能的文本对的余弦相似度,你可以按照以下步骤进行操作: 1. 将 4 个表中的文本字段连接起来,形成一个大的文本集合。 2. 对文本集合进行分词处理,将每个文本转换为一个词向量。 3. 对每文本的词向量进行计算,得到它们之间的余弦相似度。 4. 将结果存储到一个新的表中。 以下是一个示例 SQL 查询语句,用于计算 4 个表中所有文本对之间的余弦相似度: ``` SELECT CONCAT_WS('-', t1.id, t2.id) AS id_pair, COSINE_SIMILARITY(t1.vector, t2.vector) AS similarity FROM ( SELECT id, TEXT_VECTOR(text) AS vector FROM table1 UNION ALL SELECT id, TEXT_VECTOR(text) AS vector FROM table2 UNION ALL SELECT id, TEXT_VECTOR(text) AS vector FROM table3 UNION ALL SELECT id, TEXT_VECTOR(text) AS vector FROM table4 ) t1 JOIN ( SELECT id, TEXT_VECTOR(text) AS vector FROM table1 UNION ALL SELECT id, TEXT_VECTOR(text) AS vector FROM table2 UNION ALL SELECT id, TEXT_VECTOR(text) AS vector FROM table3 UNION ALL SELECT id, TEXT_VECTOR(text) AS vector FROM table4 ) t2 ON t1.id < t2.id; ``` 其中,TEXT_VECTOR() 函数用于将文本转换为词向量,COSINE_SIMILARITY() 函数用于计算余弦相似度。使用 CONCAT_WS() 函数将每个文本对的 ID 连接起来,形成一个新的 ID 列。最后,使用 JOIN 操作将每个文本与所有文本进行配对,并计算它们之间的余弦相似度。由于每个文本对会被计算次,所以使用 ON t1.id < t2.id 来避免重复计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值