测试数据

["美科学家发现人体新器官","科学家发现新器官"],["曝高云翔悉尼被捕","高云翔涉性侵被捕"],["走失柯基犬被摔死事件","柯基犬摔死后续"],["张继科景甜公布恋情","张继科公布恋情"]

string-similarity  (gem "string-similarity")   https://github.com/mhutter/string-similarity

 String::Similarity.cosine '美科学家发现人体新器官', '科学家发现新器官'
=> 0.8528028654224417
String::Similarity.cosine '曝高云翔悉尼被捕', '高云翔涉性侵被捕'
=> 0.6249999999999999
String::Similarity.cosine '走失柯基犬被摔死事件', '柯基犬摔死后续'
=> 0.5976143046671968
String::Similarity.cosine '张继科景甜公布恋情', '张继科公布恋情'
=> 0.8819171036881969

text  (gem "text")   https://github.com/threedaymonk/text

 white = Text::WhiteSimilarity.new
=> #<Text::WhiteSimilarity:0x00007fb358148e90 @word_letter_pairs={}>
white.similarity('美科学家发现人体新器官', '科学家发现新器官')
=> 0.7058823529411765
white.similarity('曝高云翔悉尼被捕', '高云翔涉性侵被捕')
=> 0.42857142857142855
white.similarity('走失柯基犬被摔死事件', '柯基犬摔死后续')
=> 0.4
white.similarity('张继科景甜公布恋情', '张继科公布恋情')
=> 0.7142857142857143

fuzzy_match  (gem "fuzzy_match", gem "amatch")   https://github.com/seamusabshere/fuzzy_match

 '美科学家发现人体新器官'.levenshtein_similar '科学家发现新器官'
=> 0.7272727272727273
'曝高云翔悉尼被捕'.levenshtein_similar '高云翔涉性侵被捕'
=> 0.5833333333333333
'走失柯基犬被摔死事件'.levenshtein_similar '柯基犬摔死后续'
=> 0.5333333333333333
'张继科景甜公布恋情'.levenshtein_similar '张继科公布恋情'
=> 0.7777777777777778

  

得出结论  中文匹配度:string-similarity > fuzzy_match > text



rails中文本匹配相似度gem包对比的更多相关文章

  1. npm包与gem包--在线&离线安装

    目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...

  2. excel导入sql server 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 错误处理

    excel导入sql server 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 错误处理方法: 方案1:修改注册表 出现文本被截断的原因是SQL Server的导入导出为了确定数据表的字段 ...

  3. rails 中http请求发生access-control-allow-origin错误

    在api项目中 本地项目无法访问服务器api 百度了下,查出原因 接着找到rails项目的解决方法,安装rack-cors这个gem包 具体方法如下: Gemfile中加入 gem 'rack-cor ...

  4. 从NLP任务中文本向量的降维问题,引出LSH(Locality Sensitive Hash 局部敏感哈希)算法及其思想的讨论

    1. 引言 - 近似近邻搜索被提出所在的时代背景和挑战 0x1:从NN(Neighbor Search)说起 ANN的前身技术是NN(Neighbor Search),简单地说,最近邻检索就是根据数据 ...

  5. text matching(文本匹配) 相关资料总结

    最近工作上需要做句子语义去重相关的工作,本质上这是属于NLP中text matching(文本匹配)相关的内容.因此我花了一些时间整理了一些关于这个方向的资料,整理如下(也许会持续更新): BiMPM ...

  6. 跨模态语义关联对齐检索-图像文本匹配(Image-Text Matching)

    论文介绍:Negative-Aware Attention Framework for Image-Text Matching (基于负感知注意力的图文匹配,CVPR2022) 代码主页:https: ...

  7. java项目中可能会使用到的jar包解释

    一.Struts2 用的版本是struts2.3.1.1 一个简单的Struts项目所需的jar包有如下8个 1. struts2-core-2.3.1.1.jar: Struts2的核心类库. 2. ...

  8. 用R在字符串中提取匹配的部分

    例如在aaaa12xxxx中提取12,在参考了stackoverflow后比较方便的大致有以下几种方法: 利用sub跟gsub sub(".*?([0-9]+).*", " ...

  9. Rails中的MIME类型

    layout title date comments categories post rails的中的MIME类型 2014-09-08 21:40 true ruby Rails开发中经常使用不同的 ...

随机推荐

  1. Maven库下载很慢解决办法,利用中央仓库

    以下四个都是可用的: http://mirrors.ibiblio.org/maven2/ http://mvnrepository.com/ http://repository.jboss.org/ ...

  2. Python学习---socketServer编程

    学会去看源码 服务器端: import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): ...

  3. electricity meter就是电表

    英式英语metre意思是度量衡里面的单位:米 美式英语拼为 meter 除了“米”,还有一个意思是“计量器”,比如 parking meter就是是路边停车投币计时器,cab meter就是出租车的计 ...

  4. Json.Net 中Linq to JSON的操作

    Linq to JSON是用来操作JSON对象的.可以用于快速查询,修改和创建JSON对象.当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用Linq to JSON来读取和 ...

  5. PowerDNS简单教程(2):功能篇

    目录: PowerDNS简单教程(1):安装篇 http://www.cnblogs.com/anpengapple/p/5205130.html PowerDNS简单教程(2):功能篇(本篇) Po ...

  6. Git Brash在Windows下乱码问题

    ,/etc/gitconfig: [gui] encoding = utf- #代码库统一用urf-8,在git gui中可以正常显示中文 [i18n] commitencoding = GB2312 ...

  7. BZOJ4827:[HNOI2017]礼物(FFT)

    Description 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手环,一个留给自己,一 个送给她.每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度.但是在 ...

  8. 【[HNOI2006]超级英雄】

    看到楼下有大佬说了网络流做法,来给大佬配个代码 我们只有我可能都觉得如果不动态加边的话\(dinic\)可能跑不了这种需要中途退出的二分图匹配 正当我准备去敲匈牙利的时候突然想到这个题可以二分啊 于是 ...

  9. Linux学习总结(十四) 文件的打包和压缩

    文件的压缩和打包,在windos下我们很熟悉.rar和.zip文件,这是两种压缩文件,他们支持单个文件和多个文件的压缩.windos下我们不提及打包的概念,虽然多个文件的压缩肯定存在打包过程.打包和压 ...

  10. 几句代码简单实现IoC容器

    前言 最近在调试EasyNetQ代码的时候发现里面有一段代码,就是IoC容器的简单实现,跟着他的代码敲了一遍,发现了奇妙之处.当然也是因为我才疏学浅导致孤陋寡闻了.他的思路就是通过动态调用构造函数生成 ...