实际问题
目的
做一个成语小程序,实现类似下面的页面接口。选择对应的正确成语的字。
成语库
没自己的成语库,最后选择去网上扒拉(py爬虫),解决第一个问题。(脚本我会放到最后面打包)
字典库
需要随机抽取一个字,然后生成4个相近的字符。 这里我没找到合适可以巴拉的数据,且还要去找形近字。
解决方案
使用nlp-hanzi-similar三方包,里面包含了一定(目前我使用来说形近字至少存在空缺)的文字库,但是也基本够用 (直接节省时间)。
这里是三方开源的项目,感谢作者
使用三方包
引入maven:
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>nlp-hanzi-similar</artifactId>
<version>1.4.0</version>
</dependency>
没有使用maven的,我会后面将jar包和代码打包上传
大概看一下说明,根据自己情况设置参数即可:
double rate = HanziSimilarBs.newInstance()
// 笔画数数据
.bihuashuData(HanziSimilarDatas.bihuashu())
// 笔画数相似算法
.bihuashuSimilar(HanziSimilars.bihuashu())
// 笔画数权重
.bihuashuRate(HanziSimilarRateConst.BIAHUASHU)
// 结构数据
.jiegouData(HanziSimilarDatas.jiegou())
// 结构相似算法
.jiegouSimilar(HanziSimilars.jiegou())
// 结构权重
.jiegouRate(HanziSimilarRateConst.JIEGOU)
// 部首数据
.bushouData(HanziSimilarDatas.bushou())
// 部首相似算法
.bushouSimilar(HanziSimilars.bushou())
// 部首权重
.bushouRate(HanziSimilarRateConst.BUSHOU)
// 四角数据
.sijiaoData(HanziSimilarDatas.sijiao())
// 四角相似算法
.sijiaoSimilar(HanziSimilars.sijiao())
// 四角权重
.sijiaoRate(HanziSimilarRateConst.SIJIAO)
// 拼音权重
.