Profile
Back to NewsBack
GitHub Trending 1 min
Reader Mode
amzxyz/RIME-LMDG: 简繁扩展词库/声调编码/最全声调标注工具链/万象更新工具链/Rime语法模型:LMDG - Language, Model, Dictionary, Grammar。没错这里是万象拼音的“罗马帝国”!

amzxyz/RIME-LMDG: 简繁扩展词库/声调编码/最全声调标注工具链/万象更新工具链/Rime语法模型:LMDG - Language, Model, Dictionary, Grammar。没错这里是万象拼音的“罗马帝国”!

重磅发布:基于32GB超大规模语料的RIME中文语法模型与词库构建

——万象语法模型、万象向量词库 Ask DeepWiki</a>

项目简介

模型下载 | 模型配置说明 | 构建教程
  • 词库文件对应说明:
示例项目:

万象拼音-全拼双拼-声调辅助-反查辅助-中英混输

| 词库类型 | 文件名称 | 描述 | |----------|--------------|------------------------| | 字表 | zi.dict | 包含CJK字库基础区所有具有读音的字,不计多音43324字| | 基础词库 | jichu.dict | 包含2-4字词组,保证一个基础体验,值得保留读音的、需要多候选的| | 联想词库 | lianxiang.dict | 包含5字以上词组,大部分可拆分组合已经进了模型留下的都稍显特殊,但很重要| | 兼容词库 | duoyin.dict | 包含多音字词组,用于兼容词组的多种读音场景| | 错音错字 | cuoyin.dict | 包含易读错误易写错误的词条,可供输入和程序进行视觉提示| | 分类词库 | wuzhong.dict | 收录动植物名称| | 分类词库 | diming.dict | 收录国内地区名称| | 分类词库 | huaxue.dict | 化学类词汇| | 分类词库 | yaopin.dict | 药品类词汇| | 分类词库 | yixue.dict | 医学类词汇| | 分类词库 | yiren.dict | 艺人姓名| | 分类词库 | mingren.dict | 名人姓名| | 分类词库 | renming.dict | 普通高频人名|

语法模型

Gram 是最适合输入法的模型类型。在 Rime 中,它类似词库,但更灵活:能基于已有“材料”(如“住在”“礼物1”“里屋2”)动态组合出“住在礼物”片段。传统做法依赖词库硬编码“住在里屋”,即便 500 万词也难覆盖全,且检索依赖编码分段翻译,易卡顿。

使用 Gram 可跳出词库维护的深坑——专业领域词库易得,日常用语却难以全面。一个语句流模型能省去大量人工维护。它基于 C++ 前缀树扫描,内存中仅映射一块区域,无需加载到内存,速度极快,因此可部署于翻译器阶段。这与所谓的智能模型完全不同,即消耗算力,又不能用于翻译器阶段,只能依赖UI搞延迟上屏,这个体验完全不如,有范围的穷举广覆盖。

大模型时代不应单纯拒绝“大”,否则将错失巨大助力。

如何评价效果:

仓库组件rime-schema-compare来自gaboolic/rime-schema-compare:他是一个py自动调用librime内核进行解码并对结果进行统计的脚本程序

评测结果如下(更差结果的方案就不体现了,有兴趣朋友可以自己进行测试)。以下测试均使用万象语法模型:

模型单独下载置入:rime-schema-compare/vendor中相应的gram方案文件夹即可

【总体】
  [rime_frost]
    句子正确率: 61.71%  (137944/223535 句完全匹配)
    文字正确率: 92.77%  (全语料金文加权,基于 Levenshtein)
    文字正确率(逐句平均): 92.55%

[rime_frost_with_gram] 句子正确率: 75.42% (168601/223535 句完全匹配) 文字正确率: 96.02% (全语料金文加权,基于 Levenshtein) 文字正确率(逐句平均): 95.63%

[wanxiang] 句子正确率: 62.34% (139358/223535 句完全匹配) 文字正确率: 93.5% (全语料金文加权,基于 Levenshtein) 文字正确率(逐句平均): 93.17%

[rime_wanxiang_with_gram] 句子正确率: 76.86% (171817/223535 句完全匹配) 文字正确率: 96.32% (全语料金文加权,基于 Levenshtein) 文字正确率(逐句平均): 95.99%

📊 整句评测报告

是否完全评价呢? 答案是否定的:

语句流往往是高频聚合场景下来回弯弯绕,只要词频统计的问题不大,基本上能得到一致性较高的结果,而输入不仅仅是这些,就像万象能打出来的那些词:

多加冰、练完腿、煎个鸡蛋等等,很生活,却很难出现在语料中,万象词库与万象用户致力于持续收集、维护、修正那些3-5个字,让体验持续进化。

从数据来看万象语法模型让句子正确率提升了15%,使用中1%的进化都会有很大的感知何况是15%。

使用方法:

软件

小狼毫、鼠须管直接配置即可,fcitx5需要配合安装``librime-plugin-octagram``不同的Linux发行版包名可能不同

说明

  1. 基于拼音权重排序序列优化,对形码无特殊处理,因此只推荐运用在以拼音序列为基础的词库中,当然更推荐使用万象词库,数据间有更多优化。
  1. 支持简体字模型:wanxiang-lts-zh-hans , 繁体字模型:wanxiang-lts-zh-hant ,名称一个字母区别注意区分。
参数: 配置如下:

注意该参数只适用于万象词库,别的词库可根据实际需求微调!再提:词库的词组、编码、排序权重等结构组成与模型加权是一场精密的计算,维持着微妙的平衡,因此只有万象词库才能发挥得更好,原则上不支持形码。

__include: octagram   #启用语法模型
#语法模型
octagram:
  __patch:
    grammar:
      language: wanxiang-lts-zh-hans
      collocation_max_length: 6
      collocation_min_length: 3
      collocation_penalty: -14
      non_collocation_penalty: -6
      weak_collocation_penalty: -100
      rear_penalty: -20
    translator/contextual_suggestions: false
    translator/max_homophones: 8

词库处理方法:

使用万象工具箱操作,一看就懂,支持刷拼音、刷辅助码、转换简码、用户词库提炼等功能

鸣谢:

分词工具:具有多种编程语言变种的词典分词工具"结巴分词"

拼音标注:支持多种拼音标注类型的汉字转拼音工具"python-pinyin"

友链:

一切皆可萌:适合二次元爱好者的细胞词库

赞赏:

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