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

文本相似度度量_文本相似度分析文本相似度度量就是衡量两个文本相似度的算法。主要包括两个步骤:将文本表示为向量(文本表示);衡量两个向量的相似度(相似度度量)。1文本表示文本表示也包括两部分:文本切分粒度(按什么粒度切分得到文本特征),如何构造特征(如何将文本特征转化成数值特征)。1.1文本切分粒度可以按照字,词,n-gram对文本进行切分;当文本是长文本时,也可以利用主题模型提取关键词,来减少词的维度。1.2文本特征构建特征构建就是如何将词袋模型中的词转化成向量表示。可以用one-hot,对应位置的权重可以是TF或者.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

在这里插入图片描述

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

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)=(x1x2)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)=x1x2x1x2
(3)杰卡德距离
L ( A , B ) = ∣ A ⋃ B ∣ ∣ A ⋂ B ∣ L(A,B)=\frac{|A\bigcup B|}{|A\bigcap B|} L(A,B)=ABAB
(4)海明距离

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

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

(5)最小编辑距离

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

参考:

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 多线程(三)—-线程的启动方式(二)

    多线程(三)—-线程的启动方式(二)

    2020年11月12日
    201
  • QTreeView使用总结7,右键菜单

    QTreeView使用总结7,右键菜单1,简介最开始我要做右键菜单时,理所当然的想到的是右键单击的信号,这样是可以的。后来发现原来Qt给QWidget提供了单独的菜单信号:voidcustomContextMenuRequested(constQPoint&pos);不过需要先设置菜单策略,使用接口:setContextMenuPolicy(Qt::CustomContextMenu);2,菜单效果下面介绍一个示例,实现…

    2022年5月9日
    35
  • IIS服务器实现跨域调用「建议收藏」

    IIS服务器实现跨域调用「建议收藏」今天用JS实现了一下ajax请求,本地作为服务器,但是请求的时候总是提示跨域,google了一下,都是说在服务器添加“Access-Control-Allow-Origin”,开始误以为是在服务器得html页面添加,后来才知道是在服务器中添加打开IIS,找到“HTTP响应标头”点进去,在右侧可以看到添加,然后添加如下标头即可Access-Control-Allow-Headers:Content-…

    2022年10月21日
    2
  • sql执行计划跑偏,手动固化执行计划

    sql执行计划跑偏,手动固化执行计划

    2021年6月10日
    106
  • 初识VMM_vmem是什么意思

    初识VMM_vmem是什么意思三篇文章就VMM、虚拟机和容器的性能比较作了详细介绍对以下问题予以解决:如何虚拟化操作系统下的机器大多数现代CPU架构的设计都不是可虚拟化的如何在无法虚拟化的cpu上实现VMM。虚拟化让一台机器上可以运行多种操作系统类型和版本,文章通过讨论Disco的基本技术,了解虚拟化工作机制。要在虚拟机监视器上运行虚拟机所使用的基本技术是有限的直接执行,也就是操作系统如何虚拟化CPU…

    2022年9月22日
    2
  • webpack css_webpack打包css文件路径

    webpack css_webpack打包css文件路径css文件处理-准备工作(以下项目配置都是基于上一篇webpack(4)的基础上)在项目开发中,我们必然需要添加很多的样式,而样式我们往往写到一个单独的文件中。这里我们就在src目录中创建一个n

    2022年7月31日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号