rails中文本匹配相似度gem包对比
测试数据
["美科学家发现人体新器官","科学家发现新器官"],["曝高云翔悉尼被捕","高云翔涉性侵被捕"],["走失柯基犬被摔死事件","柯基犬摔死后续"],["张继科景甜公布恋情","张继科公布恋情"]
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包对比的更多相关文章
- npm包与gem包--在线&离线安装
目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...
- excel导入sql server 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 错误处理
excel导入sql server 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 错误处理方法: 方案1:修改注册表 出现文本被截断的原因是SQL Server的导入导出为了确定数据表的字段 ...
- rails 中http请求发生access-control-allow-origin错误
在api项目中 本地项目无法访问服务器api 百度了下,查出原因 接着找到rails项目的解决方法,安装rack-cors这个gem包 具体方法如下: Gemfile中加入 gem 'rack-cor ...
- 从NLP任务中文本向量的降维问题,引出LSH(Locality Sensitive Hash 局部敏感哈希)算法及其思想的讨论
1. 引言 - 近似近邻搜索被提出所在的时代背景和挑战 0x1:从NN(Neighbor Search)说起 ANN的前身技术是NN(Neighbor Search),简单地说,最近邻检索就是根据数据 ...
- text matching(文本匹配) 相关资料总结
最近工作上需要做句子语义去重相关的工作,本质上这是属于NLP中text matching(文本匹配)相关的内容.因此我花了一些时间整理了一些关于这个方向的资料,整理如下(也许会持续更新): BiMPM ...
- 跨模态语义关联对齐检索-图像文本匹配(Image-Text Matching)
论文介绍:Negative-Aware Attention Framework for Image-Text Matching (基于负感知注意力的图文匹配,CVPR2022) 代码主页:https: ...
- java项目中可能会使用到的jar包解释
一.Struts2 用的版本是struts2.3.1.1 一个简单的Struts项目所需的jar包有如下8个 1. struts2-core-2.3.1.1.jar: Struts2的核心类库. 2. ...
- 用R在字符串中提取匹配的部分
例如在aaaa12xxxx中提取12,在参考了stackoverflow后比较方便的大致有以下几种方法: 利用sub跟gsub sub(".*?([0-9]+).*", " ...
- Rails中的MIME类型
layout title date comments categories post rails的中的MIME类型 2014-09-08 21:40 true ruby Rails开发中经常使用不同的 ...
随机推荐
- ubuntu 启用root用户方法
1.按下ctrl + alt + T,输入 sudo passwd root设置root的密码,如下图所示: 2.使用su root来测试是否可以进入root用户,如果出现#说明已经设置root用户的 ...
- Jquery学习---Easy UI 框架
Jquery的easyui 1.1. easyui的目录分析 以 jquery Easy UI 1.3.2 版本学习 demo 实例 locale 国际化信息 plugins 框架一些插件 src 源 ...
- lua-excel助手
excel是我们工作及生活当中不可或缺的东西,好吧,我是一个游戏程序员,数值哥哥肯定会给我些表格的.回归正题,为什么需要做这个封装? 为什么需要这个项目,因为我们需要使用程序进行自动化操作 VBA我们 ...
- 百度地图隐藏LOGO显示
在引入地图的页面加入下列样式即可隐藏百度地图左下角的LOGO <style type="text/css"> .anchorBL{display:none;} ...
- 第五章.MyBatis高级映射
5.1 新建数据库准备 CREATE TABLE `finacial_products` ( `product_id` ) NOT NULL AUTO_INCREMENT, `name` ) NO ...
- JDBC(6)事务处理&批量处理
事务处理就是当执行多个SQL指令,因某个指令有误,则取消执行所有的命令 它的作用是保证各项的完整性和一致性 JDBC的数据操作时 commit():提交事务 rollback():回退事务 绝位于ja ...
- 20145223 杨梦云 《网络对抗》shellcode实验+return-to-libc实验
20145223 杨梦云 <网络对抗>shellcode实验+return-to-libc实验 shellcode注入实践 Shellcode基础知识 ·Shellcode实际是一段代码( ...
- 提交文件到ng-pages分支
一.提交dist文件夹到ng-pages分支 git subtree push --prefix=dist origin gh-pages 二.提交所有文件到ng-pages分支 text git:( ...
- 利用python进行数据分析——(一)库的学习
总结一下自己对python常用包:Numpy,Pandas,Matplotlib,Scipy,Scikit-learn 一. Numpy: 标准安装的Python中用列表(list)保存一组值,可以用 ...
- 跨浏览器的事件对象EventUtil
var EventUtil = function(){ /*--addHandler--*/ addHandler:function(element,type,handler){ if(element ...