尝试寻找大字集、无需选字的输入方案

大家好,

我正在尝试寻找一种大字集、无需选字的输入方案,并挂载于 Rime 或其它输入法引擎上。除了常见的拼音、五笔、仓颉等,搜索引擎还找到了许多我从前没有见过的输入方案。

我觉得我理想的输入方案可能是这样的:

  • 支持尽可能多的 Unicode 中日韩统一表意文字,因此可以无需切换而同时输入简化汉字及传统汉字,并且也可以输入日本、朝鲜半岛、越南等的表意文字。
  • 重码率尽可能低,或支持以尽可能有规律可循的方法筛选重码字,因此可以无需选字。
    • 例如,仓颉通过在字码前添加不同数量的字母「X」筛选重码字。虽然无法从一个字本身推导出所需的「X」的数量,但是特定数量的「X」总是返回特定的字,因此少量地死记硬背之后仍然可以实现不选字而直接输入想要的字。此外,也许另有其它更好的方法筛选重码字。
  • 通过固定码长或其它方式以少用空格,甚至不用空格。

这些理想当中,优先级最高的可能是「大字集」,其次是「无需选字」。最后的「不用空格」如果有的话是一个闪光点,但没有也没关系。

为了实现这些理想,牺牲其它方面也是完全可以接受的(在不考虑直接键入 Unicode 码等特殊方法的情况下),包括但不限于:

  • 学习难度高一些也没关系。
  • 能够输入单字即可,不一定需要输入词组(转念一想,其实没有词组或许反而会更加方便一些)。

我目前正在使用仓颉,并简单浏览了郑码的资料。仓颉和郑码看起来都支持 Unicode 中日韩统一表意文字,也支持部分扩展区的字,并且相对来说重码率也非常低。不过还是有下面一些因素让我想再试着探索探索其它的输入方案:

  • 仓颉字码最长有五个字母,并且需要用空格确认选字,看起来需要比很多其它输入方案按键更多次。
  • 郑码看起来可能使用左手的频率相对右手较高,并且可能需要频繁使用左手小指。
  • 仓颉偶尔有些字码匹配到过多重码字,无法使用字母「X」筛选,这种情况下看起来只能手动在候选列表中选字。
  • 郑码看起来可能暂时没有筛选重码字的方法,因此可能所有的重码字都需要手动选字。

通过搜索引擎,我得以找到许多从前没有见过的输入方案。这些输入方案的用户数量看起来要比拼音、五笔、仓颉等输入方案要少,但理论上,如果一个输入方案提供了可以用于 Rime 引擎的输入方案文件,那么就仍然可以很方便地使用。另一方面,在较为大众的输入方案当中,仓颉和郑码看起来已经是相对来说最接近我的理想的输入方案了。因此,我现在主要在尝试探索这些较为小众的输入方案。

在我所查阅到的一些输入方案当中,有些比仓颉或郑码的重码率更低,但字集相对较小,或主要用于输入一个地区的字,而输入其它地区的字需要付出额外的努力,例如手动切换简化或传统汉字、为简化汉字手动选重、为传统汉字键入更长的字码等。

我想可能确实有一种(也许较为小众的)输入方案可以更加接近我的理想,只是我暂时还没有找到,所以希望请教大家的帮助。


编辑:

多谢大家的启发,也许问题可以这样调整,分成几种情况:

  • 不依靠候选项顺序,仅通过一个字本身的特征(例如上下左右包围结构、声母韵母声调等)来筛选重码字的话,有哪些输入方案的重码尽可能少。
  • 依靠候选项顺序来筛选重码字,并且设计最初就确定了每组重码字的先后顺序的话,有哪些输入方案的重码尽可能少。
    • 这种情况如果想要不必选字,那么可能有时需要一些死记硬背。不过,它所需要的死记硬背可能通常比没有预定重码字顺序的情况(例如全拼)要少一些。此外,它筛选一个字所需的额外步骤理论上是由设计者统一固定好的。
      • 例如,仓颉添加的字母「X」的数量是设计最初就决定的。而全拼的候选项顺序则没有一个固定的标准。
    • 但是,相对来说,在这种情况下,任何人想要为字集添加新的字时,如果这个新字与其它已有的字重码,那么可能就无法很快决定这个新字应该在这一组重码字当中排在第几位。
  • 也许还有更多可能的情况。

建议楼主说明一下您需要什么平台(或者说,运行在什么操作系统)上的输入法,这样也更方便大家推荐。

黄狗输入法
pc
支持五笔,拼音
支持最新unicode 15.1
https://www.cnprint.org/bbs/thread/197/328367/

首先拼音类的,就不要看了,只能从形码选。

仓颉、郑码、五笔,都是很成熟的输入方案。

它可以是任何平台的,因为我正在尝试借助 Rime 引擎使用它。看起来我可以用「输入方案」这个词代替「输入法」。

小众有一款,看起来似乎能实现你的部分需求

不过有个缺点:

虎码应该可以, 虎码支持多大的字集,定位是怎样的?虎码支持 UTF-8 范围内,汉字全字集,近10W字。
凪,哛,在知乎找到一篇越南语,很多方框,就不挑选字了

1 个赞

短期来看,也许支持 Unicode 中日韩统一表意文字的基本区即可。

因为理论上,它可能已经涵盖了各个不同地区的表意文字的大部分构字部件。如果确实如此,那么即使还有一些扩展区的字暂时没有正式分配字码,未来理论上也仍然可以让任何人推导出字码。


编辑:不过,另一方面,如果一个输入方案在最初设计时就采取了更大的字集,那么理论上,设计者也许就有更大的可能参照着这个大字集来设计这个输入方案的细节部分,从而尝试在更大的字集范围内减少重码。

常用字完全可以自己根据现有的方案来制定三码方案
其中涉及到1简、2简,还有一些二简词

「無需選字」這個要求太高了,倉頡和鄭碼都算為大字集而設計的輸入法,重碼率都還算可以。

多谢大家的启发,也许问题可以这样调整,分成几种情况:

  • 不依靠候选项顺序,仅通过一个字本身的特征(例如上下左右包围结构、声母韵母声调等)来筛选重码字的话,有哪些输入方案的重码尽可能少。
  • 依靠候选项顺序来筛选重码字,并且设计最初就确定了每组重码字的先后顺序的话,有哪些输入方案的重码尽可能少。
    • 这种情况如果想要不必选字,那么可能有时需要一些死记硬背。不过,它所需要的死记硬背可能通常比没有预定重码字顺序的情况(例如全拼)要少一些。此外,它筛选一个字所需的额外步骤理论上是由设计者统一固定好的。
      • 例如,仓颉添加的字母「X」的数量是设计最初就决定的。而全拼的候选项顺序则没有一个固定的标准。
    • 但是,相对来说,在这种情况下,任何人想要为字集添加新的字时,如果这个新字与其它已有的字重码,那么可能就无法很快决定这个新字应该在这一组重码字当中排在第几位。
  • 也许还有更多可能的情况。

不認同這種把選重加到編碼方案叫「無重」的,而且也沒必要追求這個,純形碼「日曰」肯定重碼,低重碼就好。

符合你要求的只有输入 Unicode 码。

如果你原本的需求是快速、准确地输入,那寻找「大字集、无需选字的输入方案」这个方向就搞错了。

世界是个草台搭子,各种输入编码都是包含着不同程度的妥协,不存在完美的输入法。

你要通用性,就用拼音、五笔、手写,要速度,就语音。现在不用在完美的输入方案上面纠结。

我预计,未来的主流输入方式是带大模型的语音输入,或者拼音输入,因为大模型能见你所见,推测你所想,再根据发音纠正,基本上能输你所想。

只要你说的话能让人理解,那大模型就能理解,就一定能快速地转化成正确的文字输出。打败传统输入方式的,真不一定是纯粹的输入编码方案。

声笔现已推出「声笔模组」,和其他方案一样可以在原生 Rime 上使用。

不再需要特定的声笔输入法程序。

现在加入声笔社区或官方下载页获取

因此「声笔需要特定输入法程序才能用」已经成为历史

2 个赞

按規則加後綴和對個別字加後綴還是不一樣的。

不是我個人覺得的問題,而是輸入法領域就是這樣定義的,當年有個「張碼」,GB六千字內七組重,這個可比1524/20902低多了,但人家也沒說無重。

「裏」(U+88CF)和「裏」(U+F9E7)這種呢?「中丨」、「弓乛亅」、「山乚」這些還可以用有意義的雙編碼解決。

「張碼」當年設計也是這個目標,但是人家沒用「無重」這種誤導用語。

楼主这是在几个地方同时发了这个提问贴? :rofl:
在 emacs-china 也看到了这个提问贴

按部首分,朌 在月 部,而肦 在肉 部,所以要分编码还是很容易的。

還有,碼表都是開放的,衹是作者不太活躍了。

你又來「絕對無重」了,他是基於GB字集內的低重碼,你這一萬九千字估計少了非常多常用字。

你大可以同樣在GB內和這個方案比重碼率。

好不好用另說,但是它的離散重碼手段是有理的。

你為何老是糾結這個名不符實的「無重」?舉個例子拼音輸入法用abcd後綴也能實現「無重」然而沒人認同,但是通過加形的方式基本無異議,這兩者的區別就是一個有理一個無理,如果你的方案也是設計一套補碼來減少倉頡重碼那這樣也算一套好方案,如果加序號也算無重的話,那重碼後面加數字的倉頡六代(蒼頡檢字法)早就是無重輸入法了。

按你說法,目前也沒有人規定不能增加碼長,不能增加用於編碼的字母,六代12345本來就是編碼的一部分。

衹要不是按規則而是人工加碼改碼原則上和加數字一個套路,除非你總結出一套補碼改碼規則。