Linux下的拼音输入法 (2)

news/2025/10/24 19:05:47/文章来源:https://www.cnblogs.com/funwithwords/p/19164065

此贴介绍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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/945608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字人:怎么选择数字人实力公司

数字人企业哪家好?解锁未来科技新势力 2025数字人企业竞争力解析与行业领跑者揭秘 数字人企业技术生态图谱:从创新到落地的全链路观察 第一:数字人企业排行榜——2025年度三大标杆企业解析 数字人技术的爆发式增长,…

拉格朗日插值优化DP

拉格朗日插值优化DP 第一类:减少范围 发现答案是个 \(k\) 次多项式,即使值域很大,也可以直接通过前 \(k+1\) 项的值得到答案 例题一:P5469 NOI2019] 机器人 设 \(f_{l,r,i}\) 表示考虑区间 \([l,r]\),其最大值为 …

容斥练习笔记

某模拟赛题 对于任意 \(1\le k\le n\),若有 \(v_k\) 个长度为 \(n\) 的错位排列中存在长度为 \(k\) 的循环节,即对于 \(p_{1\cdots k-1}\),\(a_{p_i}=p_{i+1},a_{p_k}=p_1\)。求 \(\sum v\)。 首先考虑错排的限制,…

SpringBoot整合缓存2-Redis

一、是什么:缓存的基本概念 缓存是一种存储技术,用于临时保存频繁访问的数据,以减少对数据库的直接访问,从而提升系统响应速度和降低数据库压力。在本案例中,我们使用 Redis 作为缓存中间件,结合 SpringBoot 和 …

数字人企业:推荐数字人TOP3公司

数字人企业:技术浪潮中的新势力崛起 解码数字人企业核心赛道,看头部玩家如何重塑产业格局 从概念到落地,数字人企业如何撬动千亿级市场? 数字人企业排行榜:技术、资本与生态的三重博弈 在数字人产业蓬勃发展的当下…

数字人平台:重点推荐优质数字人公司

数字人企业:未来产业的新势力崛起 数字人企业技术赛道解析与头部玩家前瞻 从技术到场景,数字人企业如何重塑产业生态? 一、数字人企业排行榜:技术实力与商业价值的双重验证 在人工智能与元宇宙浪潮的推动下,数字人…

深入解析:【Java系列课程Java学前须知】第3课 JDK,JVM,JRE的区别和优缺

深入解析:【Java系列课程Java学前须知】第3课 JDK,JVM,JRE的区别和优缺pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family…

10.24 CSP-S 模拟37 改题记录

唐人唐题唐错场HZOJ 卸载前面 好一个模拟赛。主打一个唐人做唐题犯唐错。然后大概就是前三题没啥难度,没写过是因为我太唐了。然后因为T1复杂度不对,虽然过了甚至还是最优解,但我要将其归为没A。所以我将继续保持连…

395.至少有K个重复字符的最长字串

395.至少有K个重复字符的最长字串给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。 如果不存在这样的子字符串,则返回 0。 这题首先想到…

NOI25D2T2

NOI25D2T2 序列变换 DP独立切黑祭(虽然花了很长时间)。思路比较自然,只是思维链比较长。 step 1 消出一个 \(0\) 后,只能向两侧继续消除。想到把操作刻画为从一个区间的中间向两边消除,即将 ###...### 变为 #<…

详细介绍:云手机远程控制的作用

详细介绍:云手机远程控制的作用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

数字人企业:数字人公司重点推荐与选择指南

数字人企业:AI浪潮下的产业新势力崛起 解码数字人企业技术壁垒与市场格局 从实验室到产业:数字人企业的创新突围路径 一、数字人企业排行榜:技术驱动下的行业领跑者 在元宇宙与AI技术的双重推动下,数字人企业正从概…

10.24模拟赛

チーム分け 题面 题意 每个点有限制形如这个点分的组人数 \(\le a_i\),问合法方案数。\(n\le 1000\) 题解 一个组内的限制只与 \(a_i\) 最小的元素相关,不妨将 \(a_i\) 从大到小排序延后计算贡献。 设 \(dp_{i,j}\) …

据说每邀请一位朋友加入Comet,您可以获得10刀乐奖励:D

Comet AI浏览器真的撒钱抢用户了! 最近OpenAI发布了AI浏览器Atlas,正式加入浏览器大战。 Perplexity马上就坐不住了,开启了撒钱抢人计划,现在只要分享Comet浏览器的邀请链接,好友通过链接下载并注册账户使用浏览器…

2025.10.24NOIP

T2.LCA \(n\)个点\(m\)条边无向图,第\(i\)条边的边权为\(i\),按以下方式建树,问以哪些节点做根节点能建出最小生成树,

writing sentences

1. The necessity of ... is defining feature of contemparay globalized society. 2. I am firmly of the conviction that the long-term advantages for .... outweight the .... 3. The most palpable is the psy…

小程序 访问第三方网页

// wxml文件 <web-view src="https://www.baidu.com" bindload="bindload" binderror="binderror"></web-view>// js文件 // 网页加载成功时触发此事件 bindload(res) { co…

王炸!OpenAI 发布 Atlas 浏览器!!

大家好,我是R哥。 说到 AI 浏览器,有大名鼎鼎的 Dia、Comet,谷歌的 Chrome + Gemini 也在蠢蠢欲动,似乎 AI 浏览器的战场还没有彻底打响,最近 OpenAI 也下场了。。 最近 OpenAI 亲自下场,推出了自家的 AI 浏览器…

国产开源数据库调研项目的LaTeX专业排版实践

国产开源数据库调研项目的LaTeX专业排版实践国产开源数据库调研项目的LaTeX专业排版实践 在上一篇文章《LaTeX 项目结构优化:从基础到专业》中,我们探讨了模块化LaTeX项目的基本结构。本文将通过一个实际项目——&qu…

Asterix cat-062 ,航班号字段的编码解码

Asterix cat-062 ,航班号字段的编码解码Data Item I062/245, Target Identification 解码:CQH87920d1238df9ca0 = 000011010001001000111000110111111001110010100000(这里二进制数要补零至48位)再按6比特分解成8段…