Windows 10 / 11 · TSF 原生 · GPL-3.0 开源

言如泉涌,
数据留在自己手里。

言泉是一个开源的 Windows 拼音输入法。没有广告,不捆绑软件, 也不会上传你的输入记录——词库、设置和学习数据都只存在本机。 代码全部公开,它做了什么,你随时可以查证。

Cassotis IME 状态浮窗与候选列表截图
状态浮窗与候选列表:中英切换、简繁转换、标点模式,都在一处。

开源

代码、词库、构建脚本都在 GitHub 上,任何人都能查看,也能自己编译。

本地

输入内容全部在本机处理,没有云端联想,也没有遥测上报。

干净

安装时不带别的软件,不改浏览器首页,卸载后不留东西。

它做了什么,没做什么

功能不求多,但每一项行为都摆在明处。

01

代码全部公开

源码、词库和构建脚本都在仓库里。不放心的话,可以自己读一遍,或者干脆自己编译一份来用。

02

不带多余的东西

没有捆绑安装,没有弹窗和推送,也不会动你的浏览器和系统设置。它只做输入法该做的事。

03

输入内容不出本机

所有处理都在本地完成,不联网也照常工作。你打过的字,只有你自己知道。

04

Windows 原生集成

基于 TSF(文本服务框架)开发,同时支持 64 位和 32 位程序,在 Windows 10 和 11 上原生运行。候选窗口适配高分屏和多显示器,v1.3.0 还支持按习惯自定义常用切换快捷键。

05

越用越顺手

它会按你的输入习惯调整候选词顺序(基于二元、三元语法统计)。这些数据存在本地,随时可以清空重来。

06

简繁双词库,整句输入

简体和繁体词库分开维护,互不干扰。支持整句拼音,输入 womenjintian,直接得到「我们今天」。候选列表每页可设置显示 3 到 9 项。

现在的输入法功能越来越多,但很多人想要的其实很简单: 打字准一点,别弹广告,别偷偷传数据。
言泉就是照着这个想法做的。

长句是怎么变准的

同样的拼音可以拆出很多种结果:yanquan 是「言泉」,也可以是「眼圈」「烟圈」。 句子越长,可能的组合越多,引擎要在几十条路径里挑出你想说的那条。 v1.1.0 用语料训练了一个本地统计语言模型,专门帮长句挑路——不只看单个词的词频, 还看词与词、字与字之间的接续习惯。v1.2.0 进一步扩展字符语言模型,并让模型更早参与 长句路径保留和完整候选排序。v1.3.0 又加入首个可部署的神经残差重排器:先由原有引擎 找出完整候选,再用微型神经网络做一次谨慎复核,只在把握足够时调整首选。详细改动见v1.3.0 发布说明

01

发布前:两级离线训练

先从清洗后的中文语料学习词与词、字与字的接续规律,再从受词库约束的 N-best 候选对比中训练微型神经重排器。训练产物不保存语料原文,基准测试语料也不参与训练。

02

安装时:轻量本地部署

统计模型量化后写进本地 SQLite 词库;神经重排器则转换为编译进引擎的原生参数。无需另装模型环境,也不会在使用时连接网络或下载数据。

03

打字时:两级本地排序

统计模型先帮助合理路径留在搜索结果中,神经重排器再复核完整长句候选。原始首选会保留作回退;单字和短词精确匹配不经过这套重排,常用词顺序不会被打乱。

两点说明。第一,v1.3.0 在输入长句时确实会执行一个微型前馈神经网络,但它已经转换成 引擎内的原生计算,不会启动 PyTorch、ONNX 或外部模型服务,照旧不联网、不需要 GPU。 第二,下面基准测试的 16300 条语料从头到尾没有参与训练,成绩里没有「背题」的水分。

长句转换基准测试

测试语料取自小说《永恒的舞动》中的 16300 条长句,每个版本发布前跑一遍。方法和指标定义见 BENCHMARK.CN.md

版本 Top1 Top2 Mean (ms) P95 (ms) Max (ms)
v1.3.0 7155 / 16300 43.90% 7601 / 16300 46.63% 64.54 203 2188
v1.2.0 6895 / 16300 42.30% 7303 / 16300 44.80% 59.89 188 2078
v1.1.0 6677 / 16300 40.96% 7067 / 16300 43.36% 73.18 234 2750
v1.0.0 6106 / 16300 37.46% 6857 / 16300 42.07% 71.49 219 5344
v0.8.5 6097 / 16300 37.40% 6847 / 16300 42.01% 520.05 1203 13297
v0.7.0 5368 / 16300 32.93% 6110 / 16300 37.48%
v0.6.0 4905 / 16300 30.09% 5378 / 16300 32.99%
v0.5.0 4834 / 16300 29.66% 5243 / 16300 32.17%
v0.4.0 4371 / 16300 26.82% 4744 / 16300 29.10%
v0.3.1 3845 / 16300 23.59% 4651 / 16300 28.53%
v0.2.0 2671 / 16300 16.39% 2863 / 16300 17.56%

Top1:整句首选即正确的比例;Top2:前两个候选中含正确结果的比例。Mean、P95、Max 为引擎整句直设解码耗时(ms),不代表逐键输入到候选窗口显示的端到端延迟。

名字的由来

Cassotis

Cassotis 是古希腊德尔斐(Delphi)神庙旁的一眼圣泉。 传说女祭司皮媞亚在颁布神谕之前,会先饮下这眼泉水, 人们相信预言便是从这泉中来的。

这个名字里还藏着一点巧合:言泉是用 Delphi 语言写的。泉眼与工具,恰好同出一地。

言泉

中文名取自「言如泉涌」——话语像泉水一样自然涌出,不必费力。 做输入法,想达到的也就是这种状态:想到什么,打出来就是什么。

一个是预言之泉,一个是言语之泉,说的其实是同一件事。

开发计划

项目还在早期,更新比较频繁。

正在做的

  • 继续训练本地语言模型和轻量重排器,提高长句准确率
  • 扩充词库覆盖,打磨简体、繁体两套词库
  • 让本地学习的结果更容易查看和管理
  • 在更多编辑器、浏览器和 IDE 里测试兼容性

之后想做的

  • 更细分领域的专业词库
  • 评估用本地运行的大语言模型(LLM)辅助候选的方案
  • 强化用户词库的质量控制和配套工具
  • 保持项目能被任何人检查、构建和接手维护

想跟进进展或者提建议,欢迎到 GitHub 仓库来。

下载安装

提供 Windows 10 / 11 x64 安装包,安装时会自动注册 TSF 服务并初始化词库, 不需要额外配置。