🧠 语境预测 (User Predict):让输入法拥有记忆与直觉
跳出传统输入法“死板查词”的局限。这是一款专为 Rime 架构设计的全生命周期语境大脑,它不仅能预测你接下来想打什么,甚至能在你打字的过程中暗中为你调频。
🚀 一、 核心功能与实战体验 (怎么用?)
在日常使用中,你不需要学习任何复杂的指令,一切都在潜移默化中发生。只要你保持正常的打字习惯,这颗大脑就会越来越懂你。
1. 🔮 上屏后联想预测 (Post-Predict)
-
行为:当你把一个词上屏,输入框清空后,编码区会凭空出现系统推荐的下一个词(伴随
›占位符)。 -
魔法体验:实现“一路狂按空格,直接蹦出一长串句子”的极速连打。比如你之前打过“今天天气真好”,下次你输入“今天”,只需连按空格,“天气”、“真好”就会接连蹦上屏幕。
2. 🔀 输入中上下文调频 (Context Reorder)
-
行为:无需刻意盯联想框。在你敲击拼音时,引擎会实时扫描候选词,如果发现某个词完美契合你刚刚上屏的语境,它会瞬间把这个词暗中提权到第一位。
-
魔法体验:这就是所谓的“无感训练”。打过“家族”之后,下次输入
zuzhang,首选会从“组长”自动变成“族长”。越用越准。
3. 🎯 量词智能提权 (Quantifier Boost)
这是万象解决中文输入痛点的绝对杀手锏!
-
痛点:平时打
jn,首选是“进”或“金”。但在买东西时,打出数字“1”后再打jn,你显然想要的是“斤”。 -
魔法体验:系统能精准感知你刚刚输入了数字 (如 1-0 等)。当你紧接着输入拼音时,底层引擎会瞬间将对应的量词强行提权到第一位!输入
1->jn,首选直接变成“斤”;输入3->g,首选变成“个”。行云流水,极其顺畅。
4. ⚔️ 物理抹杀与时空回滚 (防污染机制)
-
多级事务回滚 (Undo):手滑选错词了?在 5 秒内(可定义)连按
Backspace退格键,系统不仅会删去屏幕上的错字,还会潜入底层数据库撤销刚刚为你增加的词频权重! -
物理级抹杀:遇到死活不想看到的垃圾联想词?光标选中它,按下
Ctrl + Del或Shift + Del,将其从数据库的多维关联中彻底物理销毁!
🛠️ 二、 极简安装与 YAML 配置指南 (怎么配?)
万象已经为你预设好了这台引擎,你可以通过修改 wanxiang.custom.yaml 来精细微调它的脾气。
1. 核心参数调节 (Patch)
你可以通过以下参数,自由决定开启哪些引擎,以及联想的深度:
# 方案参数
user_predict:
db_name: lua/predict # 数据库名称(默认 predict,将生成 predict.userdb 文件夹)
enable_post_predict: true # 上屏后预测,PC端建议关闭
enable_context_reorder: true # 输入时调频
max_candidates: 10 # 屏幕最多显示的联想词数量
max_predictions: 3 # 连续触发预测的最高次数限制
expiry_days: 90 # 绝对寿命(天):不命中则物理销毁
activation_days: 7 # 激活期限(天):冷冻期内输入第2次转正
max_memory_branches: 15 # 分支上限:单前缀最多保留15个后续预测
decay_rate: 0.85 # 衰减率:单日时间权重打 85 折
enable_predict_space: false # true: 按空格上屏空格; false:空格提交候选。一般手机开电脑关,空格当上屏则,Tab、Alt按键当作空格
context_timeout: 5000 # 上文超时时间毫秒
custom_classifiers: # 数字后量词调频,如平时chuan传,输入数字后,首选为串,结果如:1串,想关闭清空列表即可
- 个只名位口头匹条群批伙 # 人物动物
- 张把件台部块根颗粒滴片朵面扇顶栋座所辆艘架盏支枝杆 # 物品建筑
- 双对副套打串束排阵堆叠摞扎 # 成组集合
- 杯瓶盒包份碗锅盆桶袋罐盘 # 包装容器
- 次场局回趟顿番遍声项宗桩款步招 # 动作事件
- 年月天周岁秒分刻代期届任夜季 # 时间周期
- 本册篇首句段卷幅节堂门帖字行 # 文化作品
- 米寸尺里斤两吨克升元角毛笔百千万亿 # 度量货币
如何固定启用预测,这个是个总开关
如何对不同引擎开启或者关闭,针对移动端、PC端设置不同的参数
# 自定义参数
patch:
# 引擎 A:是否开启上屏后的联想预测 (产生 › 占位符)
"user_predict/enable_post_predict": true
# 引擎 B:是否开启输入过程中的实时上下文调频 (暗中提权)
"user_predict/enable_context_reorder": true
# 联想深度与外观
"user_predict/max_candidates": 5 # 候选栏中最多显示的联想词数量
"user_predict/max_predictions": 3 # 级联深度:允许连续自动预测的最大跳数
# 记忆生命周期控制
"user_predict/expiry_days": 90 # 物理寿命:超 90 天未使用的关联将被销毁
"user_predict/activation_days": 7 # 激活锁:新词若 7 天内不再使用,将被视为噪音冷冻
"user_predict/decay_rate": 0.85 # 遗忘衰减率:数值越小,旧词权重掉得越快
2. 空格键的“双模式”交互反转
为了平衡“畅快选词”与“精准输入空格”的冲突,万象独创了双模式按键:
-
模式 B (默认,
enable_predict_space: false):沉浸预测流。按下Space空格键顺滑上屏联想词;若想打断联想并输入物理空格,请按Tab、Alt或→方向键。 -
模式 A (
enable_predict_space: true):精准空格流。按下Space强制打断联想并输出物理空格。
🔬 三、 引擎解密:四级瀑布流与时序记忆 (底层逻辑)
支撑这套神级体验的,是底层极其精密的“瀑布流降级匹配模型 (N-Gram 大兵团作战)”与“遗忘算法”。
默认输入过1次的连续词汇,要求7天内再次连续输入才能转正,是一种宁缺毋滥的心态,我们暴露的参数可以根据你的强度自行定义,放宽条件让数据迅速建立起来。
1. 四级 Gram 是如何打配合的?
系统在为你找词时,会按严格的优先级执行 S ➔ 2 ➔ 1 ➔ P 的降级查询,一旦找满立刻停止:
-
👑 S-Gram (特权直达,乘数 1,000,000):永不过期、绝对置顶的“后门”词库(需要用户手动导入)。无视时间衰减,只要触发强行排第一。
-
🥇 2-Gram (精准双上文,乘数 10,000):最高级别的自动关联。记住你输入的前两个词(例如:
但是 + 你 -> 不能)。条件苛刻,但复用时极准。 -
🥈 1-Gram (核心单上文,乘数 100):数据库的主力军。根据前一个词进行预测。如果上文过长,还会执行
4->3->2字数递减回退法进行聪明匹配。 -
🥉 P-Gram (长句碎化兜底,乘数 1):打超长词时的捡漏者。如果它钓出的低权重词被你选中了,系统会立刻将其“转正”为高权重的 1-Gram。
2. 动态遗忘数学公式
为了让词库永远保持“当下最新鲜”,系统引入了基于时间戳的衰减惩罚:
Score = Count × DecayRate (AgeInSeconds / 86400) × Multiplier
解读:一个一年前打过 100 次的旧词,会因为指数级衰减,迅速被最近刚打过 5 次的新词顶替。
💾 四、 数据自治:导出、同步与上帝视角
万象的语境预测绝不是一个黑盒,你拥有对数据的绝对控制权。
1. 数据的导入与导出
在任意输入框内直接输入以下神秘代码:
-
输入
/outpredict:将本地记忆库完整导出至用户目录下的predict_export.txt。 -
输入
/inpredict:读取并导入库文件。采用 Last Write Wins 策略智能覆盖,实现多端同步融合。
2. 上帝视角:如何手动配置 S-Gram 特权词?
S-Gram 是为你留的“后门”,用于强制绑定专有名词。
1. 打出 /outpredict 导出数据库。
- 打开文本,在末尾手动添加一条记录,严格使用
Tab键分隔:S 我的 名字 1|1999999999
(解读:打出“我的”绝对优先联想“名字”)
- 将文件重命名为
predict_import.txt,打出/inpredict完成注入。