Skip to content

Commit

Permalink
Update Chaifen UI
Browse files Browse the repository at this point in the history
  • Loading branch information
forFudan committed Nov 23, 2023
1 parent 84619c4 commit f6a96e3
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
12 changes: 6 additions & 6 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ nav_order: 1
>[**星陳**(exe)](https://github.com/forFudan/yuhao/releases/download/v3.1.0/yuhao_star_practice_tool.exe) ·
>[**星陳**字根(安卓)](https://github.com/forFudan/yuhao/releases/download/v3.0.0/yuhao_star_anki.apkg)
>拆分及编码查询:
>[**光華**](https://zhuyuhao.com/yuhao/light/chaifen/) ·
>[**星陳**](https://zhuyuhao.com/yuhao/star/chaifen/)
>[**光華方案**](https://zhuyuhao.com/yuhao/light/chaifen/) ·
>[**星陳方案**](https://zhuyuhao.com/yuhao/star/chaifen/)
<!-- {: .note }
>本页面介绍的是宇浩·光華,其他版本信息请移步导航栏 -->
Expand Down Expand Up @@ -376,17 +376,17 @@ nav_order: 1

宇浩输入法优化时,进行局部最大化的指标,按重要性排列:

- 字根键位空间聚合度。或者说是字根排布的规律性。本输入法采用传统的「首笔笔画聚合」和「键盘分区布局」。该布局下,每个字根可能存在的键位空间在 4 - 6 之间。故而,每个字根优化空间只有全乱序布局的 25%。优点:依照形码设计原理,易于上手,方便学习。缺点:各项指标理论极限低于纯乱序排布方案。
- 最大化键位舒适度(简体、繁体)。键盘上每一个按键,都有一个得分。食指、中指上的按键的分较高,无名指、中指上的按键得分较低。中排的按键得分较高,下派的按键的分较低。手指位移小的按键得分较高。比如 T 得分大于 Y。因为 Z 键比较难按,在部分输入平台又预留为功能键,故而本输入法不在 Z 上设置编码。优点:提升手感,增加平台通用性。缺点:全码理论编码空间只有 26 键方案的 85%,理论极限离散水平低于 26 键方案。
- 最大化各文本空间[双手互击率](./docs/articles/statistics#古今名著双手互击频率)。在连续文本的情况下,计算编码的双手互击率(包括标点符号)。如:「我今天去那里」,编码为 qaggtobufgdihvvtvacjksij。出现了14次同手击键,9次双手互击,故而互击率为 39.13%。这里用到了隐马尔科夫链或大样本统计,以计算每个汉字后下一个汉字的频率,从而得到连续文本的双手互击率。因为宇浩输入法是将字根按照键盘分区进行排布的,相对于全乱序字根排布的方案,双手互击方面有天生的劣势。如果不进行优化,那么会影响手感。这也是为什么宇浩输入法将双手互击率专门拿出来进行优化。宇浩输入法在保证字根分区、二十五键、重码极低、繁简通打这四个原则下,将双手互击率拉到可观的水平,仅次于蓝宝石,是所谓的「戴着脚链起舞」。
- 最大化非单指大跨行的频率。
- 字根键位空间聚合度。或者说是字根排布的规律性。光华方案采用类似五笔的「首笔分区布局」,星陈方案采用类似郑码的「相似字形聚合」。该布局下,每个字根可能存在的键位空间在 4 - 6 之间。故而,每个字根优化空间只有全乱序布局的 25%。优点:依照形码设计原理,易于上手,方便学习。缺点:各项指标理论极限低于纯乱序排布方案。
- 最大化键位舒适度(简体、繁体)。键盘上每一个按键,都有一个得分。食指、中指上的按键的分较高,无名指、中指上的按键得分较低。中排的按键得分较高,下派的按键的分较低。手指位移小的按键得分较高。比如 T 得分大于 Y。因为 Z 键比较难按,在部分输入平台又预留为功能键,故而本输入法不在 Z 上设置大码。优点:提升手感,增加平台通用性。缺点:全码理论编码空间只有 26 键方案的 85%,理论极限离散水平低于 26 键方案。
- 最大化各文本空间[双手互击率](./docs/articles/statistics#古今名著双手互击频率)。在连续文本的情况下,计算编码的双手互击率(包括标点符号)。如:「我今天去那里」,编码为 qaggtobufgdihvvtvacjksij。出现了14次同手击键,9次双手互击,故而互击率为 39.13%。这里用到了隐马尔科夫链或大样本统计,以计算每个汉字后下一个汉字的频率,从而得到连续文本的双手互击率。因为宇浩输入法是将字根按照键盘分区进行排布的,相对于全乱序字根排布的方案,双手互击方面有天生的劣势。如果不进行优化,那么会影响手感。这也是为什么宇浩输入法将双手互击率专门拿出来进行优化。宇浩输入法在保证字根分区、二十五键、重码极低、繁简通打这四个原则下,将双手互击率拉到可观的水平,星陈方案的双手互击率甚至达到了62.5%.

宇浩输入法优化时,进行局部最小化的指标,按重要性排列:

- 最小化简体文本、繁体文本、混合文本下的[全码动态选重率](./docs/articles/statistics#单字重码计算公式)。优点:实现真正意义上的繁简通打。用户使用本方案就可以自由切换繁简输入,不用选重。缺点:影响了极限简体/繁体文本各自的动态选重率,不过本输入方案的简体/繁体动态选重率已经是**市面上最低**的,所以这个缺点可以忽略。
- 最小化 GB2312、国字常用字的静态重码数量。这是因为动态选重率高度依赖文本的状态,而静态重码数量在非典范白话文的情况下更具有代表性。
- 最小化 GBK 的静态重码数量和翻页次数。这是为了不丢失检字的性能。本输入法 CJK 全汉字单编码最高重码字数为18个,也就是说,即使是生僻字,最多翻页一次即可找到。
- 最小化简体文本下的[完美词语选重率](./docs/articles/statistics#词语重码计算公式),使用了当代汉语词频表。例如,「我今天去那里」被分割成「我·今天·去·那里」,一共有 4 个词语。倘若「我」和「那里」生了重码,则选重率为 1 / 4 = 25%。优点:考虑该指标,可以优化用户打词时的选重体验。缺点:本指标的成立条件,只有当用户的分词习惯和词频表一致才有效。大多时候,用户会将词语拆成单字输入,避免词语不存在时的回删。因此,真实的文本选重率,介于单字动态选重率和完美词语选重率之间。另外,当样本空间改变时,比如输入非典范白话文的情况下,本指标参考价值也会降低。
- 最小化速度当量([陈一凡, 张鹿, 周志农, 1990,《键位相关速度当量的研究》,《中文信息学报 Vol.4》](http://jcip.cipsc.org.cn/CN/Y1990/V4/I4/14))。速度当量是关于「手感」的最宏观、量化的指标,是由大量实验得出的结果,具有很高的参考价值。这个指标越小,表明输入的速度越快。宇浩输入法在优化过程中,最小化字频加权速度当量。

{: .note }
宇浩方案的哲学是:**实用****直观****科学****理性**。实用,指的是完全以输入而非检字进行设计;直观,指的是对汉字的拆分直观易懂,不破坏汉字的美感;科学,指的是对于编码和简码的设计科学合理,符合统计频率,使用量化指标而非感性体验;理性,指的是拆字规则逻辑严明、没有二义,也指社群抱着理性和开放的态度去面对批评和建议,积极修正存在矛盾的、不正确的拆分。
Expand Down
1 change: 1 addition & 0 deletions star/chaifen/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ d3.csv("https://zhuyuhao.com/yuhao/star/chaifen/宇浩星陳全漢字拆分表.c
var dictionary = data;
var button = d3.select("#button");
var form = d3.select("#form");
button.on("click", runEnter);
form.on("keyup", runEnter);

// Defining the function
Expand Down
7 changes: 6 additions & 1 deletion star/chaifen/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,15 @@
<h2 class=>宇浩拆分·星陳編碼</h2>
<h6><a href="https://zhuyuhao.com/yuhao/">點擊返回官網首頁</a></h6>
<br>
<form id="form">
<form id="form" onsubmit="return false">
<div class="input-group input-group-newsletter">
<input class="form-control" id="user-input" placeholder="輸入字詞句">
</div>
<!-- <br>
<div class="boton input-group-append" id="boton">
<button class="boton" type="button" id="button">查詢宇浩拆分
</button>
</div> -->
</form>
<br>
<table class="table" cellpadding="10">
Expand Down

0 comments on commit f6a96e3

Please sign in to comment.