当前位置:网站首页>Pattern matching: The gestalt approach一种序列的文本相似度方法
Pattern matching: The gestalt approach一种序列的文本相似度方法
2020-11-06 01:28:00 【IT界的小小小学生】
转载请注明原创:https://blog.csdn.net/HHTNAN
Pattern matching: The gestalt approach
python 比较两个序列的相似度,不需要分词
案例1
import difflib
a="做子宫肌瘤微创手术用多少钱"
b="股癣是什么样子的?怎么治疗股癣好?"
print (difflib.SequenceMatcher(None,a,b).ratio())
输出:
0.06666666666666667
案例2
import difflib
a="做子宫肌瘤微创手术用多少钱"
b="做子宫肌瘤微创手术具体费用"
print (difflib.SequenceMatcher(None,a,b).ratio())
输出:
0.769230769
案例3
import difflib
a="做子宫肌瘤微创手术用多少钱"
b="具体费用做子宫肌瘤微创手术"
print (difflib.SequenceMatcher(None,a,b).ratio())
输出:
0.6923076923076923
案例4
import difflib
a="做子宫肌瘤微创手术用多少钱"
b="具体费用子宫肌瘤做微创手术"
print (difflib.SequenceMatcher(None,a,b).ratio())
0.6153846153846154
通过上面的案例可以看出本算法侧重的,是序列的相似性。会忽视主体的词义、语义。
该算法计算返回的分数为共同发现的序列字符数的两倍除以两个字符串中的字符总数; 得分以整数形式返回,反映百分比匹配。
目前猜测算法计算公式,
如果序列中位置没有完全匹配,如案例3,则其计算分数为9/13,9为最大公共字串,13为总字符序列数,案例4为8/13的结果,理解为4+4/13的结果。那么问题来了为什么案例2中最大9为最大公共字串的分数是那么高,应该是有一个位置完全一致得分+1.即其结果理解为9+1/13得到的结果。以上猜想均为根据测试进行猜想,并未进行有效验证,并不权威哦,后面我找到论文后拜读下,再做整理。(值得注意的是再进行过程中是以B字符为基准进行的。)
案例5
import difflib
a=“10个月宝宝贫血”
b=“10个月宝宝流鼻血”
print (difflib.SequenceMatcher(None,a,b).ratio())
输出
0.8235294117647058
(7+8)+1/len(a)+len(b)=7*2/8+9=0.8235294117647058
转载请注明原创:https://blog.csdn.net/HHTNAN
版权声明
本文为[IT界的小小小学生]所创,转载请带上原文链接,感谢
https://vip01.blog.csdn.net/article/details/87933434
边栏推荐
- 解決pl/sql developer中資料庫插入資料亂碼問題
- 字符串的常见算法总结
- 8.1.3 handling global exceptions through exceptionhandler (Global exception handling) - SSM in depth analysis and project practice
- Electron应用使用electron-builder配合electron-updater实现自动更新
- 写一个通用的幂等组件,我觉得很有必要
- 普通算法面试已经Out啦!机器学习算法面试出炉 - kdnuggets
- 5.5 ControllerAdvice注解 -《SSM深入解析与项目实战》
- 一文带你了解 Jest 单元测试
- Jmeter——ForEach Controller&Loop Controller
- 6.9.1 FlashMapManager初始化(FlashMapManager重定向管理) -《SSM深入解析与项目实战》
猜你喜欢
随机推荐
刚刚,给学妹普及了登录的两大绝学
Electron应用使用electron-builder配合electron-updater实现自动更新
6.9.1 FlashMapManager初始化(FlashMapManager重定向管理) -《SSM深入解析与项目实战》
html
8.2.2 inject bean (interceptor and filter) into filter through delegatingfilterproxy
使用Consul实现服务发现:instance-id自定义
python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库
从零学习人工智能,开启职业规划之路!
React 高阶组件浅析
Working principle of gradient descent algorithm in machine learning
什么是无副作用的函数方法?如何取名? - Mario
windows10 tensorflow(二)原理实战之回归分析,深度学习框架(梯度下降法求解回归参数)
阻塞队列之LinkedBlockingQueue分析
普通算法面试已经Out啦!机器学习算法面试出炉 - kdnuggets
直接保存文件至 Google Drive 并用十倍的速度下载回来
7.3.1 file upload and zero XML registration interceptor
自然语言处理之分词、命名主体识别、词性、语法分析-stanfordcorenlp-NER(二)
9.2.1 xmlconfigbuilder constructor (xmlconfigbuilder analysis) - SSM in depth analysis and project practice
被老程式設計師壓榨怎麼辦?我不想辭職
【性能优化】纳尼?内存又溢出了?!是时候总结一波了!!






