去年在Linux(ubuntu)环境下针对LatinIME进行词库扩容处理,针对LatinIME的词库构建进行了一些列分析,大家可以查阅历史文章。词库扩容最近试了一下是可以的,具体流程大致如下(windows10环境):

1、安装MinGw以及gcc、g++、gdb等,下载地址:e795, 安装完成配置环境变量到path(..\mingw\bin)

2、进入到..\cpp\command目录进行make

windows下没有make命令的,需要到MinGw\bin目录下重命名mingw32-make.exe为make.exe,然后执行就行了。

3、make完成会看到当前目录下多了一个可执行文件:pinyinime_dictbuilder.exe

4、词库改动,这里以加入“堃”字为例,在rawdict_utf16_65105_freq.txt文件中加入:

然后在valid_utf16.txt文件中加入:

5、执行第3步中的可执行文件./pingyinime_dictbuilder.exe

输出如下:

此时到res/raw/目录下查看生成的新的词库dict_pinyin.dat,然后安装运行,测试就可以了。

*************************************************过程中遇到的问题**************************************************

1、make的时候报错:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lpthread

原因:没有安装lpthread相关包,打开mingw installationin manager选中如下包,安装即可:

2、上面第四步中,为什么还要在valid_utf16.txt文件中加入一次?

原因:这个txt中存放的都是词库中已知的汉字,“堃”字之前是不包含在其中的,如果不加入,词库树构建的时候是不会把这个字当成一个有效的汉字的,因此在输入“kun”的时候也就无法为你匹配到。

3、关于词频,怎么来的目前还不知道是不是有什么公式来计算,但是用法想必大家都能猜到,词频数字越大,在匹配结果中越是靠前,并且以此为基础加入到user_dict中,user_dict中会在此基础上进行加权,当然加权的前提就是用户选择了该词频对应的词语(lemma),因此在rawdict_utf16_65105_freq.txt文件中词频小的lemma,最终在user_dict中不一定就小,根据用户的使用习惯也就形成了个性化的词库,每次匹配次序都是先user_dict,然后再标准词库。

Google原生输入法LatinIME词库扩容(Windows10环境)相关推荐

  1. Google原生输入法LatinIME词库构建流程分析(二)

    在Google原生输入法LatinIME词库构建流程分析(一) 中分析LatinIME构建流程进行到了dict_trie->dict_list_->init_list这一步,然后就是构建N ...

  2. Google原生输入法LatinIME词库构建流程分析--相关数据结构分析

    其实输入法词库相关数据结构的定义基本上都在头文件dictdef.h文件中,进入到代码目录cpp下. 初始化字库,首先读取txt文件内容到数据结构lemma_arr和valid_hzs中,lemma_a ...

  3. Google原生输入法LatinIME词库构建流程分析(三)--N-gram信息构建

    N-gram信息的构建在ngram.cpp中进行构建: bool NGram::build_unigram(LemmaEntry *lemma_arr, size_t lemma_num,LemmaI ...

  4. Google原生输入法LatinIME引擎初始化流程分析(二)

    引擎初始化首先是在Java层调用native的初始化方法,Java层调用如下: private void initPinyinEngine() {byte usr_dict[];usr_dict = ...

  5. ios 输入法扩展_如何给iOS系统原生输入法导入词库

    一.越狱版 1. 设置 - 通用 - 键盘 - 文本替换 随便添加一条内容,例如"nihao 你好" 2. 在 iFile 或 iFilza 根目录下搜索"CloudUs ...

  6. 在Android原生输入法LatinIME中添加自定义按键

    由于项目需求,需要修改android系统原生输入法.以下修改的是源码中的LatinIME/java工程. 示例添加的是隐藏软键盘的按键,具体的该在哪个位置添加,进入到相应的文件就明白了. A.将hid ...

  7. 把搜狗输入法词库导入Google拼音输入法

    为PC端Google拼音输入法增加词库 为什么折腾词库 都在说百度.讯飞等输入法上传用户词库,为了安全建议大家使用google输入法之类,话说回来,要想使用智能联想功能是不是就得把你输入习惯放在他的里 ...

  8. 新浪出输入法了,深蓝词库转换更新到1.3.1——增加对新浪拼音输入法的支持

    新浪最近出了自己的输入法,具体介绍我就不说了,参见这里.由于之前一直做深蓝词库转换的工具,目前已经支持了大部分主流的输入法词库的转换,既然出了一个新的输入法,那么肯定要增加对这个输入法的词库的支持了. ...

  9. 新浪出输入法了,深蓝词库转换更新到1.3.1——增加对新浪拼音输入法的支持...

    新浪最近出了自己的输入法,具体介绍我就不说了,参见这里.由于之前一直做深蓝词库转换的工具,目前已经支持了大部分主流的输入法词库的转换,既然出了一个新的输入法,那么肯定要增加对这个输入法的词库的支持了. ...

最新文章

  1. 关注中国的房地产市场
  2. 一线大厂在机器学习方向的面试题(一)
  3. Linux服务器rsync自动备份
  4. 在控制台中输入月,日. 计算这是一年的第几天.(Python)
  5. CIO们对数据中心虚拟化心存的六大疑虑
  6. java订单重复提交_java表单重复提交常用解决办法
  7. 配置的代理服务器未响应 电脑连不上网_手机、电脑为什么连不上网(断网)?...
  8. mysql的R树,GIS空间数据库(17)R+树索引
  9. php酒店系统论文,PHP酒店网站管理系统毕业论文
  10. 小牛各个版本的限速破解方式-适用N1/M1/N1s----附加转向灯提示音修改
  11. QGIS快速提取建筑和道路矢量
  12. eps在c语言,C语言中eps指的是什么东西?
  13. 紫罗兰永恒花园rust简谱_【口琴谱/简谱】エイミー(紫罗兰永恒花园外传主题曲)...
  14. java会员卡的绑定和解绑_java毕业设计_springboot框架的健身房会员卡管理
  15. Excel 2010 SQL应用078 DATEPART函数与TRANSFROM函数
  16. 了解CSS属性font-kerning,font-smoothing,font-variant
  17. 趣店被骂只是开始,一大批消费金融公司正在走向“危险地带”
  18. IDEA学生免费申请教程
  19. 调优四剑客的实战演练,福尔摩斯•K带你轻松优化性能
  20. 俄语专业个人简历范文

热门文章

  1. Spring学习:IOC控制反转
  2. Kubernetes入门与进阶实战培训
  3. java实战技术培训,精心整理
  4. nmn抗衰老需要服用多久,nmn吃多久才能见效
  5. 万向区块链肖风:产业元宇宙的“液化现象”
  6. 华为v10的android版本,荣耀V10 P 版本(EMUI 9.0+Android 9.0) 正式版 9.0.0.125 发布说明...
  7. python中open用法总结
  8. Live555 直播性能优化
  9. unity怪物攻击玩家减血_利用Unity协程实现一个简单的怪物寻路与跟随AI
  10. Linux目录权限修改-2