美文网首页
文本相似度计算(非模型)

文本相似度计算(非模型)

作者: 云彩修建站站长 | 来源:发表于2019-11-21 16:17 被阅读0次

使用原始方法计算相似度的时候,tf-idf值特别关键,一般用来做对应单词的权重。但是如果数据量较小的时候,tf-idf值就没太多意义。
tf-idf值的时候,

idf值是采用领域内的,还是使用通用的。如果数据量较多,就是用领域内的,否则使用通用的。
我们看一个词是否是关键词的时候,是根据自己对这个词的印象,这个词是不是常见。

1. simhash

simhash的最初应用场景是海量网页去重,通过降维,将一整篇文章,编码成固定的长度。

simhash的计算步骤如下:

  1. 特征提取。提取文本的feature和weight,其中feature是关键词,weight是重要程度,可以使用频次,也可以使用tfidf值。
  2. 通过hash函数,计算各个特征向量的hash值,hash值为二进制数01组成的签名,比如110101。
  3. 单个加权。在hash值的基础上,给所有的hash进行加权,即:w = hash * weight,遇到这时0按照-1算。
  4. 合并。将上述各个特征向量的加权结果累加,变成只有一个序列串。
  5. 归一。对合并获取的值,每一位上如果大于0则置1,小于0则置0,举例:“9 -9 1 -1 1 9”降维(某位大于0记为1,小于0记为0),得到的01串为:“1 1 0 1 0 1”。

最后每个文本获取一个fingerprint,计算两个文本fingerprint的汉明距离n,当n小于一个数的时候(通常是3),就认为两个文本是相似的。

说明:在处理小于500字的短文本时,simhash的表现并不是很好。

经过我自己实践,发现短文本的时候确实很不好。长文本的时候保持稳定,我使用了两段相同的长文本,第二段文本里面删了一些东西,汉明距离依然为1,长文本确实不错。

2. sentence vec

直接使用bert句向量。

3. cosin tfidf

4. bm25

5. jaccard

相关文章

  • 文本相似度计算(非模型)

    使用原始方法计算相似度的时候,tf-idf值特别关键,一般用来做对应单词的权重。但是如果数据量较小的时候,tf-i...

  • python文本相似度计算

    步骤 分词、去停用词 词袋模型向量化文本 TF-IDF模型向量化文本 LSI模型向量化文本 计算相似度 理论知识 ...

  • keras dssm 算法实现

    dssm是常用的计算文本相似度的算法模型 import numpy as npfrom keras import ...

  • 第四章 相似度分析算法——应用实例:海量网页相似度分析

    相似度算法是文本基本计算的基础。相似度计算用于帮助开发者发现数据关联性,也是一种基础性计算模型。其核心点在于两个方...

  • senLDA实践—长短文本相似度

    背景:计算短文本与长文本的相似度,如在搜索场景中,计算query和doc的相似度,用于排序。 经过调研,找到百度的...

  • 余弦相似度理解及shengxin中应用

    cosin similarity(余弦相似度) 1,它最常见的应用是计算文本相似度。将文本转换为向量 2,余弦相似...

  • 文本计算

    2.2 中文分词 2.3 文本的表示 2.4 文本的相似度计算

  • NLP详解

    (一)余弦相似度、向量空间模型 1、相似度 • 相似度度量:计算个体间相似程度• 相似度值越小,距离越大,相似度值...

  • 文本相似度计算

    1.安装gensim库 https://www.lfd.uci.edu/~gohlke/pythonlibs/#g...

  • 计算句子相似度

    计算句子相似度,①常用方法有基于语义和词序相似度计算方法,②基于关系向量模型基于语义和词序的句子相似度计算方法简介...

网友评论

      本文标题:文本相似度计算(非模型)

      本文链接:https://www.haomeiwen.com/subject/kiwgictx.html