尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Linux下的拼音输入法 (2)

Linux下的拼音输入法 (2)
📅 发布时间:2026/6/19 17:44:13

此贴介绍sunpinyin. 它的用户词典是~/.sunpinyin/userdict,下面的程序往里面加词:

// -I/usr/include/sunpinyin-2.0 add-word.cpp -lsunpinyin

#include <ime-core/userdict.h>
#include <pinyin/pinyin_data.h>TSyllable (*py2i)(const char*) = CPinyinData::encodeSyllable;int main(int argc, char** argv) {if (argc != 2) return 0;CUserDict ud;ud.load(argv[1]); // 文件可以不存在
CSyllables slbs; // typedef vector<TSyllable> CSyllablesslbs.resize(2);slbs[0] = py2i("yi");slbs[1] = py2i("er");// If locale is an empty string, ""... is set according to the environment variablessetlocale(LC_CTYPE, "");unsigned  wcs[3] = {};int n = mbstowcs((wchar_t*)wcs, "①②", 2);ud.addWord(slbs, wcs);return 0;
}
View Code

多次加同一个词不会出来n条。

userdict是个sqlite数据库,里面有且仅有一张表dict. 下面是常用sqlite 命令:

导入导出sqlite3 file.db .dump >dump.sql
sqlite3 file.db <dump.sql.tables - 查看所有表名 
.schema 表名 - 查看特定表结构select * from dict ;
View Code

不用编译它的源码,用现成的程序也能训练出online用的数据。程序在包sunpinyin-utils里:

  • genpyt - generate the PINYIN lexicon
  • getwordfreq - print word freq information from language model
  • idngram_merge - merge idngram file into one
  • ids2ngram - generate n-gram data file from ids file
  • mmseg - maximum matching segment Chinese text
  • slmbuild - generate language model from idngram file
  • slminfo - get information of a back-off language model
  • slmpack - convert the ARPA format of SunPinyin back-off language model to its binary representation
  • slmprune - prune the back-off language model to a reasonable size
  • slmseg - maximum matching segment Chinese text. slmthread add back-off-state for each slm node in the primitive_slm. Also it compresses 32-bit float into 16 bit representation. These processing speeds up the looking up. The primitive_slm is always generated by slmprune. And the threaded_slm can be used to feed slmseg as a reference to segment Chinese text.
  • slmthread - threads the language model
  • tslmendian - change the byte-order of sunpinyin's threaded back-off language model
  • tslminfo - get information of a threaded back-off language model

不是所有的程序都要用到。

在github能下载到phrase-pinyin-data-master.zip和chinese-dictionary-main.zip.

106666 cc_cedict.txt
6850 di.txt
411960 large_pinyin.txt
872 overwrite.txt
47115 pinyin.txt
348513 zdic_cibs.txt
32633 zdic_cybs.txt
954609 总计㹴犬: gěng quǎn
View Code

相关新闻

  • 拉格朗日插值优化DP
  • 容斥练习笔记
  • 数字人企业:推荐数字人TOP3公司

最新新闻

  • 深入解析S12XDBG硬件调试模块:从比较器、状态机到复杂断点实战
  • 从环境变量到密码安全:Aero处理敏感配置的完整方案
  • CANN/ge获取HCCL跟随流数量
  • RxJavaSample高级技巧:10个实用方法解决回调地狱和复杂异步问题
  • 终极指南:快速解决跨平台中文显示不一致的PingFangSC字体配置方案
  • MiniCPM-V 4.6端侧部署实战:RTX 4070上稳定运行多模态推理

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号