- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
slides-文本数据管理与分析
文本数据管理与分析
文本表示与相似度
邱锡鹏
复旦大学
/xpqiu
需求
判断两段文本的相似度或相关度
搜索引擎:查询与文档(网页)
新闻聚类:文档与文档
重复网页检测
抄袭检测
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 2
文本表示与相似度计算
相似度和距离
距离d(A,B)
[0,∞]
相似度s(A,B)
[0,1]
距离和相似度可以相互转换
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 3
文本表示与相似度计算
给定两段文本,如何判断它们之间的相似度
表示形式
符号表示
向量表示
相似度
浅层相似度 surface similarity
结构相似度 structure similarity
语义相似度 semantic similarity
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 4
符号化表示与词汇相似度计算
基于符号表示的相似度计算
用途
聚类
去冗余
信息检索
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 6
基于符号表示的相似度计算
粒度 Granularity
字符
字符串匹配
编辑距离
词
Jaccard 相似度
短语
句子
文档
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 7
基于符号表示的相似度计算
编辑距离
Jaccard 相似度
最小哈希 MinHash
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 8
编辑距离 Edit Distance
编辑距离:给定 2 个字符串 a, b. 编辑距离是
将 a 转换为 b 的最少操作次数。
Levenshtein距离是编辑距离的一种,允许的
操作包括一个字符替换成另一个字符,插入
一个字符,删除一个字符。
例如,将kitten 一字转成sitting :
sitten (k→s)
sittin (e→i)
sitting (→g)
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 9
编辑距离-算法
用分治的思想解决比较简单,将复杂的问题
分解成相似的子问题
假设 字符串 a, 共 m 位,从 a[1] 到 a[m]
字符串 b, 共 n 位,从 b[1] 到 b[n]
d[i][j] 表示字符串 a[1]-a[i] 转换为 b[1]-b[i] 的编辑
距离
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.io/ 10
编辑距离-算法
递归边界
a[i][0] = i, b 字符串为空,表示将 a[1]-a[i] 全部删
除,所以编辑距离为 i
a[0][j] = j, a 字符串为空,表示 a 插入 b[1]-b[j] ,所
以编辑距离为 j
邱锡鹏(复旦大学) 文本数据管理与分析 https://textprocessing.github.i
文档评论(0)