计算汉字相似度

情景

有时候我们希望计算两个汉字的相似度,比如文本的 OCR 等场景。用于识别纠正。

实现

引入 maven

<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>nlp-hanzi-similar</artifactId>
<version>1.3.0</version>
</dependency>

java 实现

double rate1 = HanziSimilarHelper.similar('末', '未');

返回对应的相似度:

0.9629629629629629

返回一个汉字的相似列表

情景

找到相似的汉字,有很多有趣的场景。

实现

List<String> list = HanziSimilarHelper.similarList('爱');
Assert.assertEquals("[爰, 爯, 受, 爭, 妥, 憂, 李, 爳, 叐, 雙]", list.toString());

开源地址

为了便于大家学习,上述代码已开源

https://github.com/houbb/nlp-hanzi-similar

在线体验

在线体验

拓展阅读

NLP 中文形近字相似度计算思路

中文形近字相似度算法实现,为汉字 NLP 尽一点绵薄之力

当代中国最贵的汉字是什么?

NLP 开源形近字算法补完计划(完结篇)

NLP 开源形近字算法之形近字列表(番外篇)

开源项目在线化 中文繁简体转换/敏感词/拼音/分词/汉字相似度/markdown 目录

java 如何计算两个汉字的相似度?如何获得一个汉字的相似汉字?的更多相关文章

  1. java如何计算两个日期之间相差多少天?

    java如何计算两个日期之间相差多少天? public static void main(String [] args) { Date now = new Date(); Calendar cal = ...

  2. Java 比较两个字符串的相似度算法(Levenshtein Distance)

    转载自: https://blog.csdn.net/JavaReact/article/details/82144732 算法简介: Levenshtein Distance,又称编辑距离,指的是两 ...

  3. java如何计算两个经纬度之间的距离?

    /*计算两个经纬度之间的距离 结果单位:米 */public static double getDistance(String lat1Str, String lng1Str, String lat2 ...

  4. Java 中如何计算两个字符串时间之间的时间差?(单位为分钟)

    Java 中如何计算两个字符串时间之间的时间差?(单位为分钟) import java.text.DateFormat; import java.text.ParseException; import ...

  5. 在JAVA中,如何计算两个日期的月份差

    package com.forezp.util; import org.joda.time.DateTime; import org.joda.time.Months; import org.joda ...

  6. java算法(1)---余弦相似度计算字符串相似率

    余弦相似度计算字符串相似率 功能需求:最近在做通过爬虫技术去爬取各大相关网站的新闻,储存到公司数据中.这里面就有一个技术点,就是如何保证你已爬取的新闻,再有相似的新闻 或者一样的新闻,那就不存储到数据 ...

  7. 我用JAVA做了个简易图像相似度计算器

    简单说两句: 笔主利用这个七夕前后两天的寂寞时光,用JAVA磨了一个简单的图像相似度计算小程序,就在刚才终于纠结完毕,输出了1.0版本,小小的满足了一下可怜的虚荣心..→_→ 使用最简单最基础的感知哈 ...

  8. java开发两年,连这些多线程知识都还没掌握,你凭什么涨薪!

    并发与并行 并发:两个或者多个事件在同一时间段发生(交替执行) 并行:两个或者多个事件在同一时刻发生(cpu多核.同时执行) 线程与进程 进程:是一个内存中运行的应用程序,有自己独立的内存空间,一个应 ...

  9. java使double保留两位小数的多方法 java保留两位小数

    这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    d ...

  10. java比较两个对象是否相等的方法

    java比较两个对象是否相等直接使用equals方法进行判断肯定是不会相同的. 例如: Person  person1  =new Person("张三"); Person  pe ...

随机推荐

  1. AHB 局限性

    AHB's problem SoC bus 架构 AXI is used more and more 频率200M使用AHB,频率再升高就使用AXI AHB的问题 AHB协议本身限制要求较高,比如co ...

  2. idea侧边栏commit消失

    1.问题 在使用Clion中想要查看提交的相关信息,发现侧边栏commit消失 2.解决方法 打开设置,选择会用非模式提交界面即可

  3. Laravel : 模糊查询 where orWhere

    Banner::where('title', 'like', "%{$keyword}%")->orWhere('introduce', 'like', "%{$k ...

  4. 如何部署两个JMS网关,形成双机热备

    大家使用JMS的过程中,可能会留意到,不管是微服务在注册时,还是RemoteClient构造时,所指向的网关都是一个NetAddress数组,之所以网关地址是多个,而不是一个,那是因为网关是一个双击热 ...

  5. IL合集二

    引言 在第一篇关于IL的文章中,我们写了一些IL的相加,创建对象,循环以及实现TryCatch的一些功能,接下来,为大家带上后续关于IL的更新,其中包括,类型转换,以及条件判断,还有定义字段,定义属性 ...

  6. [转帖]MySQL联合索引(复合索引)

    Mysql联合唯一索引添加相同数据插入报错 联合索引在两个字段都存在唯一,将报错. 1.添加联合索引 alter table "表名" add unique index(`字段1` ...

  7. [转帖]TiDB 统计数据库占用大小的N种方法

    TiDB之路2022-03-06 3896 前言 TiDB 如何统计数据库占用空间大小 四种方法 方法一 TiDB 统计数据库占用大小的第一种方法是监控.通过查看 {cluster-name} - O ...

  8. [转帖]挂载文件系统选项nodiratime、noatime

    默认的方式下linux会把文件访问的时间atime做记录,文件系统在文件被访问.创建.修改等的时候记录下了文件的一些时间戳,比如:文件创建时间.最近一次修改时间和最近一次访问时间:这在绝大部分的场合都 ...

  9. [转帖]ARM64体系结构编程与实践:基础知识

    ARM64体系结构编程与实践:基础知识 原创 异步社区 2022-03-30 12:44:16 著作权 文章标签 寄存器 体系结构 v8 ARM64体系结构 ARM 文章分类 物联网 阅读数1570 ...

  10. ARM 平台Docker运行RabbitMQ 以及迁移的简单办法

    公司网络很垃圾. 可以使用vps 进行下载和打包  放到 公司的机器上面进行使用. 1. 搜索有没有可用的镜像. [root@JNXLH ~]# docker search rabbitmq |gre ...