mirror of
https://github.com/qingjian-team/qingjian.git
synced 2026-11-06 00:14:40 +00:00
- 知意 ONNX 模型的 composition 头 char_logits 以前没用:ChoiceModel::compose 取每音节的字分布,整句词图里每个词按字加分(0.5×相对 log 概率,下限 −12),成词仍交给词库与二元模型 - 敲错边、模糊音改过读音的字字分布说明不了,固定扣 −4,取舍交给原来的纠错代价;直接用绝对分时冻结回放整句 82.6% → 79.7%,纠错路径被整条压掉 - 字分布与选词打分走同一后台线程、停键后算,有字要出时先出字;每次查询清掉上一次没送出的出字请求,否则逐键攒下几十个过时前缀,整句的那张表停键后要几百毫秒才轮到 - Windows Server 重查后还有要算的就立即再请求,不再等第二次防抖 - 冷启动评测(基线 → 接上):自己的输入 58.6% → 63.5%、本仓库文档抽样 29.7% → 40.8%、维基新闻留出集 59.5% → 69.0%;去掉上文后只 +1.8~3 - windows-ime-bench(本机):整句 33.33%(旧包)→ 按空格前停 400 ms 63.33%;测评的 120 ms 仍赶不上(42.5%) - 词级三元模型 TrigramModel 读知意的 zh.ngram(按格式自己实现,知意代码是 GPL-3.0-only 不搬),经 Core 的 PhraseModel 进选词重排;还没测收益 - CLI 加 --zhiyi-onnx / --onnx-runtime / --zhiyi-tier / --ngram,评测与回放等后台的分回来再取结果 - Windows 安装包不再随包含章·通变(没被这套方案用到,包 153 MB → 88.8 MB) - TrigramModel 实现 LanguageModel(新方法 log_prob_trigram 带前前词,词图传前前词),MixedModel 按概率插值,λ = TRIGRAM_WEIGHT 0.5 - 只用三元时无上文新闻掉分(不认识的专名、技术词被拆错);插值后六个开发集都涨:devA 63.5→65.6、项目文档 40.8→46.2、新闻 74.1→76.6、新闻无上文 66.8→69.0 - 冻结回放整句 80.5→78.6:新增 84 条未命中里约一半是当时选错 / 敲错(日志偏向旧模型),真退步多是三元不认识的技术词;λ 0.3 / 0.7 开发集总分都不如 0.5 - CLI 的 --ngram 同时接选词重排与整句词图;Windows Server 读用户目录 models/zhiyi-ngram/zh.ngram,没有就照旧只用二元
29 lines
816 B
TOML
29 lines
816 B
TOML
[package]
|
|
name = "qingjian-cli"
|
|
description = "命令行测试工具:看候选、逐键计时、回放输入日志评测、整句评测"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
clap.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
dotenvy.workspace = true
|
|
qingjian-core.workspace = true
|
|
qingjian-dictionary.workspace = true
|
|
qingjian-learning.workspace = true
|
|
qingjian-platform.workspace = true
|
|
qingjian-predict.workspace = true
|
|
qingjian-lm.workspace = true
|
|
qingjian-neural = { workspace = true, features = ["zhiyi", "zhiyi-onnx"] }
|
|
qingjian-translate.workspace = true
|
|
thiserror.workspace = true
|
|
tracing.workspace = true
|
|
tracing-appender.workspace = true
|
|
tracing-subscriber.workspace = true
|