大数据开发 NLP文本相似度

NLP文本相似度

nlp 自然语言处理

  1. 个体间的相似程度 一般用余弦相似度 个体间的相似程度 一般用余弦相似度表示
    cosA=a·b/|a|·|b|

得到了文本相似度计算的处理流程是:
– 找出两篇文章的关键词;
– 每篇文章各取出若干个关键词,合并成一个集合,计算每篇文章对于这个集合中的
词的词频
– 生成两篇文章各自的词频向量;
– 计算两个向量的余弦相似度,值越大就表示越相似。

  1. 词频——TF(Term Frequency)
    • :一个词在文章中出现的次数
    • 也不是绝对的!出现次数最多的是“的”“是”“在”,这类最常用的词,
    叫做停用词(stop words)
    • 停用词对结果毫无帮助,必须过滤掉的词
    • 如果某个词比较少见,但是它在这篇文章中多次出现,那
    么它很可能反映了这篇文章的特性,正是我们所需要的关键词
  2. 反文档频率 -IDF
    • 在词频的基础上,赋予每一个词的权重,进一步体现该词的重要性,
    • 最常见的词(“的”、“是”、“在”)给予最小的权重
    • 较常见的词(“国内”、“中国”、“报道”)给予较小的权重
    • 较少见的词(“养殖”、“维基”、“涨停”)较大权重

4.TF·IDF值越大 该词的越重要
反文档频率(IDF)= log( 语料库文档数/包含这个关键词的文档数+1)

应用:

  • 相似文章
    • 使用TF-IDF算法,找出两篇文章的关键词;
    • 每篇文章各取出若干个关键词,合并成一个集合,计算每篇文章对于这个集合
    中的词的词频;
    • 生成两篇文章各自的词频向量;
    • 计算两个向量的余弦相似度,值越大就表示越相似。
  • 文章摘要
    在这里插入图片描述
    5.L C S 定 义
    • 最长公共子序列(Longest Common Subsequence)
    • 一个序列S任意删除若干个字符得到的新序列T,则T叫做S的子序列
    • 两个序列X和Y的公共子序列中,长度最长的那个,定义为X和Y的最长公共子序

    – 字符串12455与245576的最长公共子序列为2455
    – 字符串acdfg与adfc的最长公共子序列为adf
    • 注意区别最长公共子串(Longest Common Substring)
    – 最长公共子串要求连接
    L C S 作 用
    • 求两个序列中最长的公共子序列算法
    – 生物学家常利用该算法进行基因序列比对,以推测序列的结构、功能和演化过程。
    • 描述两段文字之间的“相似度”
    – 辨别抄袭,对一段文字进行修改之后,计算改动前后文字的最长公共子序列,将除此子序列
    外的部分提取出来,该方法判断修改的部分
    求 解 — — 暴力穷举法
    • 假定字符串X,Y的长度分别为m,n;
    • X的一个子序列即下标序列{1,2,……,m}严格递增子序列,因此,X共有2
    m个
    不同子序列;同理,Y有2
    n个不同子序列;
    • 穷举搜索法时间复杂度O(2
    m ∗ 2
    n
    );
    • 对X的每一个子序列,检查它是否也是Y的子序列,从而确定它是否为X和Y的公
    共子序列,并且在检查过程中选出最长的公共子序列;
    • 复杂度高,不可用!
    求 解 — — 动态规划法
    • 字符串X,长度为m,从1开始数;
    • 字符串Y,长度为n,从1开始数;
    • Xi=<x1,……,xi>即X序列的前i个字符(1<=i<=m)(Xi计作“字符串X的i前缀”)
    • Yi=<y1,……,yi>即Y序列的前j个字符(1<=j<=n)(Yj计作“字符串Y的j前缀”)
    • LCS(X,Y)为字符串X和Y的最长公共子序列,即为Z=<z1,……,zk>
    • 如果xm = yn(最后一个字符相同),则:X?与Yn的最长公共子序列Zk的最后一个字符必定为
    xm(= yn)
    • ?? = xm = yn
    • LCS(X?, Yn)=LCS(X?−1, Yn−1)+x
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值