logo
0
0
Login
chore: 修改说明

万象系列方案 Ask DeepWiki


万象拼音——基于深度优化的词库和语法模型

万象词库与万象语言模型 是一种带声调的词库,经过AI和大基数语料筛选、加频,结合语言模型获得更准确的整句输出。

优势

1. 在这里你能找到最为全面的拼音标注数据库,词库词语全部加音调。可应用于多种带声调输入方案,也可将声调作为注释,输入码位置显示,也可直接上屏,是唯一一个支持整句拼音串上屏的方案;

2. 长期死磕首选权重最优解、分词片段最优解,大量应用错位构词法,让语句行云流水,结合语法模型,维护词库与维护模型同时进行,形成完美搭配;

3. 在这里你能找到最为全面的反查数据库,现已支持到U17:支持两分、多分、笔画三种打法,在生僻字输入、反查的场景中发挥重要作用;

4. 在这里你能找到最为有趣的Lua扩展功能,如成对符号包裹首选、tips多类型扩展显示与上屏、手动实时排序以及无感造词不调频的新鲜用法;

5. 维护了来自圈内的6种辅助码,头部使用全拼编码,可以转化为任何双拼编码,辅助码有:墨奇码;鹤形;自然码;虎码首末;五笔前2;汉心码,因此,万象拼音支持拼音和辅助码任意两两组合

6. 万象总结下来,从里到外,是一场翻天覆地的巨变,所涉及之处无不要求做到最优、最精。 这是我们持续的追求!

万象词库中的带声调拼音标注+词组构成+词频是整个万象项目的核心,是使用体验的基石,方案的其它功能皆可自定义,我希望使用者可以基于词库+转写的方式获得输入体验 万象词库问题收集反馈表


效果大赏

效果.png


版本差异标准版增强版
方案文件wanxiang.schema.yamlwanxiang_pro.schema.yaml
支持类型全拼、任何双拼只支持双拼
是否调频默认开启默认关闭
用户词记录无差别自动记录,词库混乱需手动造词``引导,词库可控
用户词位置wanxiang.userdbzc.userdb
辅助码有基于声调的辅助有7种辅助码可选,同时兼容声调辅助
简码全拼开启基于转写的简码,双拼未开启有携带部分数据但未配置(自己设置的才是自己的)
词库格式你➩nǐ➩1000你➩nǐ;re➩1000

新手快速入门

不了解rime基础的可以参考友情链接,初步了解rime运行的些许特性:

oh my rime

rime参数配置

整个rime配置生态都是通的,里面有非常完整的使用方法,(诸如放到哪里、换个皮肤、什么是用户目录。。。)

友情提示: 如果你是第一次使用万象,可以不要用你过往经验来定义万象,按如下的步骤将万象跑起来后,体验一下万象的功能,然后学习一下万象的各项内容之后再考虑。

①快速运行:

1. 将方案文件置于用户目录中,直接部署,等待部署完成后,

2. 输入以下指令(斜杠引导)切换为对应的双拼/全拼,切换后按照提示重新部署,完成。
3. 这样的指令能帮你一次性完成4个补丁文件的输入类型修改,运行逻辑:根目录无自定义文件则复制custom文件夹相关文件出来并修改为对应的输入方案,如果根目录存在则只修改输入方案,不进行复制,因此不会被覆盖。
4. ios仓输入法,平台特殊,需要额外去:方案文件管理-使用键盘文件覆盖应用文件,才能完成文件变更

/flypy → 小鹤双拼 /mspy → 微软双拼 /zrm → 自然码 /sogou → 搜狗双拼 /znabc → 智能ABC /ziguang → 紫光双拼 /pyjj → 拼音加加 /gbpy → 国标双拼 /lxsq → 乱序17 /pinyin → 全拼 /zrlong → 自然龙(反查是全拼) /hxlong → 汉心龙(反查是全拼)

②进阶custom patch法(已经尽量为你简化)强烈推荐,适用于长期稳定使用:

其实快速运行中我们已经完成了custom patch的部署,里面还预设了一些示例,这些例子只是例子,请务必详细阅读每一行,保留有用的删除无用的,千万不要改完双拼就万事大吉了,每一行详细查阅、理解、修改。custom是对对应方案文件的最后一道补丁,是真正属于你自己的配置文件,他不会被升级所覆盖。

方案提供了custom文件夹,预设了一些文件与教程,请不要删除相关文件,根据文件夹中内容进行相关修改变更:

不要在default.custom写东西,任何patch都要对方案文件进行patch,default.custom留给前端操作请务必悉知!

wanxiang.custom.yaml是对wanxiang.schema.yaml的补丁以此类推 可以打补丁的类型: schema,default,weasel,squirrel

注意不要删除和变更每一个custom的表头。

更详细参照:🚀 Rime 万象拼音输入方案 新手安装配置指南

③脚本更新:

脚本的下载地址 万象方案更新脚本。这里以win版本的小狼毫为例,如果你是中文系统请下载更新脚本的 powershell 非utf-8版本,具体文件名:rime-wanxiang-update-windows.ps1 。在使用万象之前,请安装小狼毫,安装小狼毫的过程中,请一切保持默认即可,等你熟悉之后可以自定义。本入门最终会带你一步步设置使用小鹤双拼+墨奇辅助码的方案。

1. 下载更新脚本:直接点击上面地址首页右边最新 release 链接,然后下载对应的 rime-wanxiang-update-windows.ps1 文件即可。下载完成后,直接双击运行刚刚下载的ps1脚本。如果杀毒报错,请将你下载的文件恢复后,添加到信任文件。如果执行一闪而过、或者遇到乱码再尝试下载 utf-8 版本,具体文件名:rime-wanxiang-update-windows-utf-8.ps1。如果提示权限不足,可以在 powershell 终端中执行 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser 再尝试运行下载的 ps1 脚本。

2. 脚本执行后,需要你确认你使用的是全拼还是双拼用户,如果你是全拼用户,请根据提示输入 0 后回车。如果你双拼用户,需要你确认你使用的辅助码类型,默认的万象方案支持汉心、简单鹤、墨奇、虎码、五笔、自然码共计6种辅助码类型。如果没有你想要的辅助码类型,也不要着急,可在熟悉万象之后自定义。根据提示输入你使用的辅助码类型的数字后回车即可。这里我按墨奇辅助码输入。更不要着急怎么选择双拼方案,后面会告诉你的。

3. 脚本继续执行,提示选择是否全部更新,不要管,你是新手,直接选全部更新,输入 0 回车。然后就默默的等待脚本执行完后,按任意键退出即可。默认情况下,万象的双拼方案为自然码。

4. 在使用脚本更新之前,务必使用进阶custom patch法维护好你的配置,更新不会覆盖custom.yaml类文件

自定义数据获取:

在线custom目录随有三个数据源提供,按自己需求自行整理取用,这部分数据没有随zip方案包一起供应,需在线下载。

- jm_flypy.txt 用于提供小鹤类型的简码,下载后放置于根目录txt自定义库即可使用;

- jm_zrm.txt 用于提供自然码类型的简码,下载后放置于根目录txt自定义库即可使用;

- tips_user.txt tips用到的“翻译”类型的数据,下载后放置于lua/tips里面重新部署。

答疑

为什么PRO版本默认关闭调频的说明 enable_user_dict: false # 是否开启自动调频,true为开启

功能一览

辅助码

辅助码可以在输入一个确定得拼音后面继续输入一个部首的读音,使得这个字出现在靠前甚至第一位。这种方式易于理解,无须记忆字根,一切基于拼音得基础上。例如:

截图_选择区域_20240704121653.png

功能1 (仅PRO) 直接辅助--如果想要 字显示在前面 那么在本方案下提供两种方式,第一种就是辅助码声母,vf继续输入j 也就是金字旁得声母即可出现结果,如果还是出现不了你要的结果,可以输入另外主体字的声母来继续缩小范围。

截图_选择区域_20240704121809.png

句子中间或者单字输入时需要输入全位辅助码时由于与双拼词语重码,因为我们设计的基本辅助码是2位,加上双拼共4位,由于在整句中我们为了整句输入的顺畅,不会将4码聚拢作为优先级较高的选择,这样会在很多时候造成你想打的句子缩成一团变成全辅助码的词汇。此时可以通过追加/的方式使其聚拢,这种方式是由于我们是直接辅助码导致的,如果我们通过一个符号引导辅助码,那么在输入时要每一个都用到符号,而采用这种方式我们只需要在必要的时候使用/节省了输入的按键开支,下面由两个图片说明问题:

截图_选择区域_20240821093644.png

截图_选择区域_20240821093701.png

功能2 (仅PRO) 间接辅助--除以上直接使用辅助外,我们还支持中间加入/来引导辅助码的输入,即:功能1是"nire/" 在有需求的时候末尾增加斜杠能让系统侧重于单字,平时则永远在动态切分,这个模式也是比较吃词库的,当你的词组完整,遇到的异常就少,当词组不完整,你想输入三个字2+2=2编码结构,恰好辅助码与双拼编码重合就会出现3+3的聚拢,此时将你想输入的三个字放入词库中,这个问题就得到了解决,还有得项目通过Lua重新切分来解决,看似巧妙,实际上比较吃操作,影响节奏,无疑万象在很多选择上面选择了更加难的路线,用词库的全面性来托举. 而在功能2中是"ni/re",也就是说辅助码必须经过/来引导,如果你不输入/它将与普通双拼无异,优点是类似vsg能够派生出"中国",更适用于新手辅助码或者叫辅助码轻量使用者.

功能3 第二种方式是通过反查字库来定位,只是通过不同的方案实现,在输入主要拼音后,通过符号` 来引导进入反查状态,引导后继续输入jn金 则包含金的字就会被选出来;

截图_选择区域_20240704121635.png

引导后继续输入mu 木则带的字就会被选出来

截图_选择区域_20240704121611.png

实际上我们同时支持,两分:你(ni`rfer,ni`re)、多分:莫(mu`ckrida)、笔画:你ni`pspzhpd

功能4 通过 拼音状态下 ``〔反查:部件|笔画〕 来引导拆字模式 举例 假设你不认识,你可以通过雨和辰 来合并输入,拼音状态输入后,继续输入其它字符字母az会消失如下图,输入 yu if 即雨 辰,结果出现了我们要的震字,且给出了辅助码 yiy是雨的声母yi是辰的声母ch,同时兼容通过hspnz代表横竖撇捺折五笔画。功能3是功能4的另一种表现形式,或者叫用法。这个功能依赖wanxiang_reverse.schema.yaml方案,可以通过custom配置成任意全拼双拼以匹配主方案一致的输入方式,因此是不是输入jn=jin需要看你具体的双拼类型。

截图_选择区域_20240928112256.png

功能5 句子中间或者单字输入时需要可以使用更精确的聚拢方式"声调辅助",7890数字按键代表1234声,轻声归并到4声,在功能4中我们可以在双拼两码后面3个编码的位置任意插入声调与两位辅助码混合使用,就是除了不用斜杠了,我们还顺序自由了,下面由两个图片说明问题,其实在键盘上想要安排四个按键是很难得,不是占用这个按键就是占用另外的,还有得朋友觉得离得远,还有得更是不需要声调,要把候选做成9个。这些都是存在的情况,现在的处理也是妥协后的结果,要想完全不占用按键类似的办法可以改成大写字母来代表,像地球拼音则是使用大于小于号这一片的符号来表示,我们的词库有声调这个基础,一定程度上还是要利用起来:

功能6 混合输入:字母、汉字、数字、用于连接的特殊符号等组合,以及英文混输,我们统一放在了wanxiang_mixedcode.schema.yaml混合编码方案里,此功能无需引导,直接输入,不参与组句,类似:1000wclips、AD钙奶、PN结、Type-C以及纯英文,同样可以通过custom来定义你所使用的双拼。

东风5C

整合说明 万象方案整合度很高,我们不希望使用户文件夹变得复杂,功能5中我们将两类习惯的五笔画和多分拆字和两分拆字整合到了一起,可以认为是4个挂接方案;在功能6中,我们将 英文输入、中英混合编码、以及一些其他混合编码整合到了一起,共享方案转写,两个功能都保证了可配置性,都能与你所使用的双拼契合, 对于词库也都整合到了dicts里面,为了能更好的统一更新和分发,仓库中我们支持基础版本词库、携带pro的辅助码版本词库、英文词库、混合词库4个类别,在release中各自归类,最终做到了根目录15个文件、4个文件夹示人,其中的custom目录还携带了用户自定义的法宝秘籍,能称得上简约而不简单。

其他亮点功能

日期、时间、节日、节气、问候模板: 可以在按键配置的地方定制引导前缀

key_binder/shijian_keys: ["/", "o"] 这样的配置以为你你可以/sj也可以osj,某些方案o有别的作用时候可以去掉o,灵活处理。

#时间:osj 或者 /sj #日期:orq 或者 /rq #农历:onl 或者 /nl #星期:oxq 或者 /xq #今年第几周:oww 或者 /ww #节气:ojq 或者 /jq #日期+时间:ors 或者 /rs #时间戳:ott 或者 /tt #大写N日期:N20250315 或者 N0302 即不添加年 #节日:ojr 或者 /jr #问候模板:/day 或者 oday

Unicode: 大写 U 开头,如 U62fc 得到「拼」。

数字、金额大写: 大写 R 开头,如 R1234 得到「一千二百三十四、壹仟贰佰叁拾肆元整」。

/引导模式: 通过输入 /sx 快捷输入关于“数学”的特殊符号,具体能输入什么可以打开 symbols.yaml学习。

计算器: 通过输入大写V引导继续输入如:V3+5 候选框就会有8和3+5=8,基础功能 + - * / % ^ 还支持 sin(x) cos(x) 等众多运算方式,打开super_calculator.lua阅读相关用法。

自动上屏: 例如:三位、四位简码唯一时,自动上屏如jjkw岌岌可危 zmhu怎么回事 。默认未开启,方案文件中speller:字段下取消注释这两句开启 # auto_select: true # auto_select_pattern: ^[a-z]+/|^[a-df-zA-DF-Z]\w{3}|^e\w{4}

错音错字提示: 例如:输入gei yu给予,获得jǐ yǔ提示,此功能与全拼、双拼类型无关全部支持;

快符Lua: 例如通过 a/ ,快速自动上屏“!”符号或者定义为任意字符,享受26字母的扩展。其中值设置为repeat则意味着按下对应按键能否重复上一次上屏的内容;

超级tips: 支持将表情、化学式、翻译、简码 提示等等你能想到得数据获得提示显示并将通过一个自定义按键直接上屏,默认为“.” 也表现为句号,如需句号翻页可以采用其他作为触发。避免了这类内容占用候选框,通过Control+t 进行开关。⚠️仓输入法、超越输入法设置按键交由rime去处理,没有特殊需求应该一律交给rime;

化学式:符号:表情:

首选格式化: 将自定义短语中,诸如\n \s \t 等行中标识符转换为实际的换行、空格、制表符等等,使得类似输入jys可以打出一首带格式的《静夜思》,这将成为类似书名号输入场景的利器。

例:静夜思\n\s\s李白\n床前明月光\n疑似地上霜\n举头望明月\n低头思故乡 jys

首选加成对符号: 将输入中的短语通过输入追加\a 这样的末尾编码,触发相对于a这个字母映射的成对符号,例如: sj mk lq lh ji\l=《三毛流浪记》可以通过custom自定义符号和触发方式。

工作逻辑:输入词汇编码 > 按下锁定按钮\ > 按下映射字符\a > 《候选包裹成对符号》

英文候选格式化: 输入hello则得到hello,输入首字母大写Hello则得到Hello和一众首字母大写的联想词,输入前两码大写HEllo则得到全为大写的HELLO和一众大写英文。

辅助码提示(仅PRO): 任意长度候选词的辅助码提示能力,默认开启1个字的辅助码,可以在方案文件中定义更长的长度。Ctrl+a可以实时在开启辅助码提示、开启声调全拼提示、关闭注释 三个状态循环,Ctrl+c开启拆分辅助提示,优先级高于普通辅助提示;

输入码音调显示: 通过Ctrl+s可以使得输入码实时动态显示全拼并加音调,这是万象特色功能;

用户按需造词(仅PRO): 默认通过``引导的方式进入用户词自造词模式,继续输入则``前缀消失,后面打出来的字上屏后完成造词。 pro版本讲究自主可控,由于辅助码的使用在很多时候不熟悉的时候可能会上屏更加异常的词汇或者生僻字,有的用户还不会使用Esc退出输入,而是选择直接敲下空格。按需造词可以有效把控造出的词是有意义的,而且默认靠后,原因简单基本上有意义的高频词万象已经提供,你应该使用辅助码将其前置。重点:在此基础上我们还支持“后触发”当你输入编码后发现没有你要的行业词汇,此时在后面双击`` 就可以在不删除编码的情况下完成造词。还有一个是次选造词,如果次选是你想要的,并且是词库组合成的,上屏就会记录下来。

总结一下,造词功能由:①``起始的主动造词,②``在编码后面的主动造词,③次选造词。三个特性构成

无感造词(仅PRO): 在关闭调频的情况下,通过逐步选字选词的方式上屏将为你记录整段,且不会产生小碎片,所造词汇与db用户词是一回事,遵循用户词管理的相关逻辑,其中直接上屏不造词。相比按需造词更加不打断输入。

用户词删除: 使用Ctrl+del是rime系统删除用户词,就可以将用户词标记为c<=0,这在rime系统中就表现为不使用,假性删除。

手动排序(Lua): ①词典候选类型:对选中的候选词操作,使用Ctrl+j向左一步,Ctrl+k向右一步,Ctrl+l(零)移除选中排序信息,Ctrl+p 置顶选中候选。其作用于当时编码与候选词;②动态生成的Lua候选,很多时候我们对日期、时间等输出格式首选有着自己的追求,复杂的配置又往往提升了使用难度,于是我们基于排序Lua实现了动态内容的按序号索引的排序,也就是说该序号下原本生成的格式整个发生了位置变化,使用方法一致。信息储存于Lua文件夹下排序数据库中sequence.userdb,支持导出导入数据便于多设备共用。

排序信息同步:

A 先点击同步,多见于右键菜单,保证创建了相应的同步目录,如没有自定义则位于用户目录下/sync

1. 打开用户目录,会有installation.yaml文件,打开后会有如下信息,我们将installation_id认为是设备id,初次会创建自动串号,你也可以将其修改为当前设备名称

distribution_code_name: "fcitx-rime" distribution_name: Rime distribution_version: 5.1.9 install_time: "Mon Jun 23 18:47:55 2025" installation_id: "ff9b2823-8733-44bb-a497-daf382b74ca5" #这里可以随意编辑,比如修改为windows rime_version: 1.13.1 update_time: "Sat Sep 6 16:08:56 2025"

得到这个id后我们就可以下一步构建出同步文件的名称sequence_设备id.txt

2. 首先确定一个主要管理设备,在/sync中创建一个描述设备清单的文件 sequence_device_list.txt,这个清单告诉程序要读取同目录下哪些文件进行合并

sequence_deepin.txt sequence_windows.txt sequence_iPhone.txt

3. 按「部署」,会进行以下几步:

①、自动导出数据到 sequence_deepin.txt 文件(假设为当前设备),因此这个当前设备文件会被覆盖,请不要手动修改避免丢失;

②、读取列表中列出的文件,按时序以保留最新动作为依据进行去重合并,合并后数据将会回写到 sequence_deepin.txt 文件;

③、将合并后的文件导入db数据库,完成数据合并,注意p=0的重置后的编码不会导入数据库,如数据库原本有对应的词汇,将删除对应的键。

4. 通过云同步将/sync完成同步到windows设备,同步后,编辑 sequence_device_list.txt将sequence_windows.txt写入文件,让同步程序再次完成多端同步

此时目录中已经存在如下文件,此时重新部署,稍作等待将会完成sequence_windows.txt的输出

sequence_device_list.txt

sequence_deepin.txt

sequence_windows.txt #同步后新增

再次手动完成手动云同步,及时让文件对齐。

B 重复以上操作完成更多设备的添加和同步

由于此流程为模拟rime同步的方式,rime的同步本质上就是多端的数据合并的过程,可靠性可能相较于原生较弱一些,尤其是iPhone可能遇到更多问题。

声调辅助回退(Lua): 万象是将7890用于代表1234声,轻声归并到了4,我们支持在例如输入ni9后发现我可能要4声,ni0,此时我们无需删除数字9而是直接输入对的0,类似手动在7890之间轮巡,能有效快速提升声调辅助的效率,减少使用负担,也是万象独创功能。

删除键限制(Lua): 可以在输入中当持续按下删除编码为0时会卡住,抬起重新按下才能继续删除已经上屏内容,避免误删除上屏内容。目前仅PC可用,也是万象独创功能。

输入长度限制(Lua): 对两类场景进行限制,避免数据并发卡顿:1、重复输入8个连续相同的字母,aaaaaaaa会提示:已超最大重复声母。因为连续多个的重复字母会造成严重的卡顿;2、分词片段限制在30个,也就是30个字,过长的语句价值不大还会造成卡顿。

Tab循环切换音节: 当输入多个字词时想要给前面补充辅助码,可以多次按下tab循环切换,这种可能比那些复杂的快捷键好用一些;

翻译模式: 输入状态按下Ctrl+E快捷键进入翻译模式,原理是opencc查表进行中英文互译,能否翻译取决于词表的丰富度;

字符集过滤: 默认开启过滤,写在charset.dict.yaml的就是可以通过的字表,默认为8105+𰻞𰻞,如果你想什么字在小字集模式可以通过可以写在这里,配套开关【小字集、大字集】,快捷键Ctrl+g

自定义词库: 自定义词库首先要利用工具将你自己的词库刷成与万象同类型的声调、或者声调+辅助码的形态,因为主词库要参与转写。对于custom_phrase则需要手动编辑编码为实际输入的编码。

要保证每个字编码与chars完全一致,这是基础,不再赘述。

固定词库:

#packs法,要保证外部名称userxx.dict.yaml与里面name: userxx一致,

patch: translator/packs/+: - userxx

#重命名法,重命名用户根目录wanxiang.dict.yamlwanxianguser.dict.yaml,避免更新被覆盖

#所有主方案文件中使用了这个固定词库的位置都要变更

patch: translator/dictionary: wanxianguser radical_reverse_lookup/dictionary: wanxianguser user_dict_set/dictionary: wanxianguser add_user_dict/dictionary: wanxianguser
用户词库迁移:

一个前置知识:同步是将用户词按时序合并导入导出的本地操作。

⚠️请不要将这个rime文件夹部署到同步软件下面,这将造成数据库被同步锁定无法正常工作,同步的最高级目录为/sync

确认你的同步目录,默认用户目录下面的/sync,如果自定义在installation.yaml文件中写入

linux\mac\android这样写:

sync_dir: "/home/amz/sync"

windows这样写:

sync_dir: "D:\\home\\amz\\sync" #双引号 sync_dir: 'D:\home\amz\sync' #单引号

你还可以将installation_id字段改成一个可辨识的名称如按系统命名

知道了这些以后你可以创建以下文件夹,他们的名称来自installation_id字段

xxx/sync/windows xxx/sync/linux xxx/sync/ios

你完全可以在用户目录看到wanxiang.userdb,他就是你实时工作的数据库PRO版本是zc.userdb,当你点击右键菜单,同步用户数据时

系统将会将用户词库以txt方式释放到xxx/sync/windows/wanxiang.userdb.txt

每一个wanxiang.userdb.txt表头都有一个表头

# Rime user dictionary #@/db_name zc #@/db_type userdb #@/rime_version 1.13.1 #@/tick 793 #@/user_id ff9b2823-8733-44bb-a497-daf382b74ca5

关注db_name必须与用户词典文件名一致,且不管多个设备不同设备文件夹下面的文件名称都应该一致,看起来都是wanxiang.userdb.txt

关注user_id=windows(设备文件夹名称)=installation_id字段必须保持一致

如果只有一个设备,你完全可以在同步后删除用户目录的userdb,手动编辑xxx/sync/windows/wanxiang.userdb.txt

注意这里的编辑必须是经过预处理格式与万象编码完全一致的情形下,万象提供的工具就可以完成声调标注和辅助码标注

编辑好文件,确保放入设备目录,点击同步即可导入数据库

你还可以将你迁移的数据txt内部设备名称都修改成linux,并将文件放入xxx/sync/linux

此时点击同步也能将用户词与windows文件夹下面的合并一起导入数据库,模拟多设备同步,这也是未来真正的多设备同步逻辑

- 用于Linux Mac的词库刷拼音辅助码工具

- 用于Windows的词库刷拼音辅助码工具

pay

鸣谢

- 感谢网友的热情提报问题,使得模型和词库体验进一步提升。

赞赏

如果觉得项目好用,可以请AMZ喝咖啡

pay