创作目的
国内对于文本的相似度计算,开源的工具是比较丰富的。
但是对于两个汉字之间的相似度计算,国内基本一片空白。国内的参考的资料少的可怜,国外相关文档也是如此。
本项目旨在抛砖引玉,实现一个基本的相似度计算工具,为汉字 NLP 贡献一点绵薄之力。
有时候我们并不是需要返回两个字的相似,而是需要返回一个汉字的相似列表。
实现思路
我们可以分别计算所有的汉字之间的相似度,然后保留最大的前100个,放在字典中。
然后实时查询这个字典即可。
实现方式
中我们主要需要的是对应的 2W 常见汉字。
用来存放汉字和相似字的映射关系。
数据初始化
•优先级队列取前 100 个
我们通过优先级队列存储:
相似字的获取
初始化好数据之后,一切就变得非常简单:
•接口定义
•数据获取
便利性
为了用户使用方便,我们在 中添加 2 个工具类方法:
测试效果
我们使用看一下效果:
我们来看一下【爱】的形近字。
小结
一个字的形近字可以做很多有趣的事情,这个要看大家的想象力。
实现方式也不难,最核心的还是相似度的计算。
我是老马,期待与你的下次重逢。
领取专属 10元无门槛券
私享最新 技术干货