当前位置:网站首页>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
边栏推荐
猜你喜欢
JUC 包下工具类,它的名字叫 LockSupport !你造么?
按指定基准对齐的分组运算
Using class weight to improve class imbalance
面经手册 · 第15篇《码农会锁,synchronized 解毒,剖析源码深度分析!》
Jmeter——ForEach Controller&Loop Controller
网络安全工程师演示:原来***是这样获取你的计算机管理员权限的!【***】
mongodb(从0到1),11天mongodb初级到中级进阶秘籍
nlp模型-bert从入门到精通(一)
面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》
如何将分布式锁封装的更优雅
随机推荐
如何使用ES6中的参数
《Google软件测试之道》 第一章google软件测试介绍
keras model.compile损失函数与优化器
WeihanLi.Npoi 1.11.0/1.12.0 Release Notes
【性能优化】纳尼?内存又溢出了?!是时候总结一波了!!
刷了LeetCode的链表专题,我发现了一个秘密!
Azure DevOps 扩展之 Hub 插件的菜单权限控制配置
Outlier detection based on RNN self encoder
基础知识点整理
DeepWalk模型的简介与优缺点
技术总监,送给刚毕业的程序员们一句话——做好小事,才能成就大事
7.3.2 File Download & big file download
es5 类和es6中class的区别
VuePress的使用
【Flutter 實戰】pubspec.yaml 配置檔案詳解
程序员自省清单
高级 Vue 组件模式 (3)
Skywalking系列博客5-apm-customize-enhance-plugin插件使用教程
Electron应用使用electron-builder配合electron-updater实现自动更新
8.1.1 handling global exceptions through handlerexceptionresolver