Py之distance:distance的简介、安装、使用方法之详细攻略

举报
一个处女座的程序猿 发表于 2021/03/29 01:39:28 2021/03/29
【摘要】 Py之distance:distance的简介、安装、使用方法之详细攻略     目录 distance的简介 distance的安装 distance的使用方法 1、编辑距离、汉明距离、sorensen相似系数、jaccard系数、ifast_comp     distance的简介         这个包为计算任意序列之间的相似性提供了帮助。包括L...

Py之distance:distance的简介、安装、使用方法之详细攻略

 

 

目录

distance的简介

distance的安装

distance的使用方法

1、编辑距离、汉明距离、sorensen相似系数、jaccard系数、ifast_comp


 

 

distance的简介

        这个包为计算任意序列之间的相似性提供了帮助。包括Levenshtein、Hamming、Jaccard和Sorensen distance,以及一些bonuses。所有的距离计算都是用纯Python实现的,而且大多数都是用C语言实现的。

 

 

 

distance的安装

pip install distance

 

 

 

distance的使用方法

1、编辑距离、汉明距离、sorensen相似系数、jaccard系数、ifast_comp


  
  1. import distance
  2. #T1、编辑距离
  3. levenshtein_res01=distance.levenshtein("lenvestein", "levenshtein")
  4. #如果您的语言中的声音和字形之间没有一对一的映射,或者如果您想比较的不是字形,而是音节或音素,则可以传入字符元组:
  5. #比较字符串列表对于计算句子、段落等之间的相似性也很有用:
  6. sent1 = ['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
  7. sent2 = ['the', 'lazy', 'fox', 'jumps', 'over', 'the', 'crazy', 'dog']
  8. levenshtein_res02=distance.levenshtein(sent1, sent2)
  9. levenshtein_res03=distance.nlevenshtein("abc", "acd", method=1) # shortest alignment
  10. levenshtein_res04=distance.nlevenshtein("abc", "acd", method=2) # longest alignment
  11. print(levenshtein_res01,levenshtein_res02,levenshtein_res03,levenshtein_res04)
  12. #T2、汉明距离
  13. '''
  14. Hamming距离和Levenshtein距离可以被标准化,这样就可以有意义地比较几种距离测量的结果。
  15. Levenshtein有两种策略:要么以序列间最短比对的长度作为因子,要么以较长比对的长度作为因子。
  16. '''
  17. hamming_res01=distance.hamming("hamming", "hamning")
  18. hamming_res02=distance.hamming("fat", "cat", normalized=True)
  19. print(hamming_res01,hamming_res02)
  20. #T3、sorensen相似系数
  21. sorensen_res=distance.sorensen("decide", "resize")
  22. print(sorensen_res)
  23. #T4、jaccard系数
  24. jaccard_res=distance.jaccard("decide", "resize")
  25. print(jaccard_res)
  26. #T5、ifast_comp
  27. '''
  28. ifast_comp的效率特别高,可以处理100万个tokens而没有问题
  29. 两个方便的迭代器ilevenshtein和ifast_comp,用于从一长串序列中筛选接近参考序列的序列。它们都返回一系列元组(距离、序列)。
  30. '''
  31. tokens = ["fo", "bar", "foob", "foo", "fooba", "foobar"]
  32. sorted(distance.ifast_comp("foo", tokens))

 

 

 

 

 

 

 

 

 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/103361986

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。