前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文本相似度度量_文本相似度分析

文本相似度度量_文本相似度分析

作者头像
全栈程序员站长
发布2022-11-17 15:59:11
6980
发布2022-11-17 15:59:11
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述
在这里插入图片描述

文本相似度度量就是衡量两个文本相似度的算法。主要包括两个步骤:将文本表示为向量(文本表示);衡量两个向量的相似度(相似度度量)。

1 文本表示

文本表示也包括两部分:文本切分粒度(按什么粒度切分得到文本特征),如何构造特征(如何将文本特征转化成数值特征)。

1.1 文本切分粒度

可以按照字,词,n-gram对文本进行切分;当文本是长文本时,也可以利用主题模型提取关键词,来减少词的维度。

1.2 文本特征构建

特征构建就是如何将词袋模型中的词转化成向量表示。可以用one-hot,对应位置的权重可以是TF或者是TF-IDF。也可以用分布式表示word2vec。或者是google发布的simhash。

simhash:

google发布的初衷是解决亿万级别的网页去重任务。通常用于长文本,降维将长文本压缩至几个关键词表示(如取TF-IDF权重大的top k个词)。然后将关键词编码成固定长度的二进制字符串。用固定长度的编码来表示一篇文章。

2 相似度度量

(1)欧式距离 L ( x 1 , x 2 ) = ( x 1 − x 2 ) 2 L(x_1,x_2)=\sqrt{(x_1-x_2)^2} L(x1​,x2​)=(x1​−x2​)2 ​ (2)余弦距离

用两个向量夹角的余弦值来衡量距离。 L ( x 1 , x 2 ) = x 1 ⋅ x 2 ∣ x 1 ∣ ∣ x 2 ∣ L(x_1,x_2)=\frac{x_1\cdot x_2}{|x_1||x_2|} L(x1​,x2​)=∣x1​∣∣x2​∣x1​⋅x2​​ (3)杰卡德距离 L ( A , B ) = ∣ A ⋃ B ∣ ∣ A ⋂ B ∣ L(A,B)=\frac{|A\bigcup B|}{|A\bigcap B|} L(A,B)=∣A⋂B∣∣A⋃B∣​ (4)海明距离

海明距离主要用于simhash算法。

海明距离是用特征各维度不相等的个数来衡量差异性。

(5)最小编辑距离

字符串A不断增删改直至与字符串B相等,所需要的最少修改次数作为距离的度量。一般用动态规划来求解

参考:

[1]知乎:常见文本相似度计算方法简介

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213554.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 文本表示
  • 2 相似度度量
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档