libchai 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -16
- package/chai.d.ts +2 -1
- package/chai.js +20 -17
- package/chai_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# chai: 汉字自动拆分系统[命令行版]
|
|
2
2
|
|
|
3
|
-
`chai` 是一个使用 Rust
|
|
3
|
+
`chai` 是一个使用 Rust 编写的命令行程序。用户提供拆分表以及方案配置文件,本程序能够生成编码并评测一系列指标,以及基于退火算法优化元素的布局。
|
|
4
4
|
|
|
5
5
|
## 使用
|
|
6
6
|
|
|
@@ -18,26 +18,19 @@
|
|
|
18
18
|
|
|
19
19
|
压缩包中有以下的示例文件:
|
|
20
20
|
|
|
21
|
-
- `config.yaml`: 方案文件(米十五笔),具体的格式解释参见 [config.md](
|
|
21
|
+
- `config.yaml`: 方案文件(米十五笔),具体的格式解释参见 [config.md](https://github.com/hanzi-chai/docs/blob/main/docs/tutorial/config.md);这个文件也可以由[汉字自动拆分系统](https://chaifen.app/)生成;
|
|
22
22
|
- `elements.txt`: 拆分表文件(米十五笔),每个字一行,每行的内容依次为汉字、制表符和以空格分隔的汉字拆分序列;这个文件也可由自动拆分系统生成;
|
|
23
|
-
- `assets/
|
|
24
|
-
- `assets/
|
|
25
|
-
- `assets/key_equivalence.txt`:单键用指当量文件,每个按键一行,每行的内容为以制表符分隔的按键和当量;
|
|
23
|
+
- `assets/frequency.txt`:词频文件,每个字一行,每行的内容为以制表符分隔的词和词频;
|
|
24
|
+
- `assets/key_distribution.txt`:用指分布文件,每个按键一行,每行的内容为以制表符分隔的按键、目标频率、低频率惩罚系数、高频率惩罚系数;
|
|
26
25
|
- `assets/pair_equivalence.txt`:双键速度当量文件,每个按键组合一行,每行的内容为以制表符分隔的按键组合和当量;
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
可执行文件支持三个不同的命令:`encode`, `evaluate` 和 `optimize`,例如
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
将使用方案文件和拆分表计算出字词编码并统计各类评测指标,而
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
./chai optimize
|
|
38
|
-
```
|
|
29
|
+
- `encode`:将使用方案文件和拆分表计算出字词编码
|
|
30
|
+
- `evaluate`:统计各类评测指标
|
|
31
|
+
- `optimize`:将基于拆分表和方案文件中的配置优化元素布局
|
|
39
32
|
|
|
40
|
-
|
|
33
|
+
另外,如果方案文件和拆分表文件的路径不为以上的默认值,可以通过命令行参数提供,例如
|
|
41
34
|
|
|
42
35
|
```bash
|
|
43
36
|
./chai yima.yaml -e yima.txt optimize
|
package/chai.d.ts
CHANGED
package/chai.js
CHANGED
|
@@ -200,6 +200,7 @@ function debugString(val) {
|
|
|
200
200
|
}
|
|
201
201
|
/**
|
|
202
202
|
* @param {any} js_config
|
|
203
|
+
* @returns {any}
|
|
203
204
|
*/
|
|
204
205
|
export function validate(js_config) {
|
|
205
206
|
try {
|
|
@@ -207,9 +208,11 @@ export function validate(js_config) {
|
|
|
207
208
|
wasm.validate(retptr, addHeapObject(js_config));
|
|
208
209
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
209
210
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
210
|
-
|
|
211
|
-
|
|
211
|
+
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
|
212
|
+
if (r2) {
|
|
213
|
+
throw takeObject(r1);
|
|
212
214
|
}
|
|
215
|
+
return takeObject(r0);
|
|
213
216
|
} finally {
|
|
214
217
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
215
218
|
}
|
|
@@ -394,6 +397,14 @@ function __wbg_get_imports() {
|
|
|
394
397
|
const ret = getObject(arg0) === undefined;
|
|
395
398
|
return ret;
|
|
396
399
|
};
|
|
400
|
+
imports.wbg.__wbindgen_number_new = function(arg0) {
|
|
401
|
+
const ret = arg0;
|
|
402
|
+
return addHeapObject(ret);
|
|
403
|
+
};
|
|
404
|
+
imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
|
|
405
|
+
const ret = getStringFromWasm0(arg0, arg1);
|
|
406
|
+
return addHeapObject(ret);
|
|
407
|
+
};
|
|
397
408
|
imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) {
|
|
398
409
|
const ret = getObject(arg0) == getObject(arg1);
|
|
399
410
|
return ret;
|
|
@@ -402,17 +413,6 @@ function __wbg_get_imports() {
|
|
|
402
413
|
const ret = +getObject(arg0);
|
|
403
414
|
return ret;
|
|
404
415
|
};
|
|
405
|
-
imports.wbg.__wbg_getwithrefkey_4a92a5eca60879b9 = function(arg0, arg1) {
|
|
406
|
-
const ret = getObject(arg0)[getObject(arg1)];
|
|
407
|
-
return addHeapObject(ret);
|
|
408
|
-
};
|
|
409
|
-
imports.wbg.__wbg_set_9182712abebf82ef = function(arg0, arg1, arg2) {
|
|
410
|
-
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
|
|
411
|
-
};
|
|
412
|
-
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
|
413
|
-
const ret = getObject(arg0);
|
|
414
|
-
return addHeapObject(ret);
|
|
415
|
-
};
|
|
416
416
|
imports.wbg.__wbg_String_389b54bd9d25375f = function(arg0, arg1) {
|
|
417
417
|
const ret = String(getObject(arg1));
|
|
418
418
|
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
@@ -420,14 +420,17 @@ function __wbg_get_imports() {
|
|
|
420
420
|
getInt32Memory0()[arg0 / 4 + 1] = len1;
|
|
421
421
|
getInt32Memory0()[arg0 / 4 + 0] = ptr1;
|
|
422
422
|
};
|
|
423
|
-
imports.wbg.
|
|
424
|
-
const ret = arg0;
|
|
423
|
+
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
|
424
|
+
const ret = getObject(arg0);
|
|
425
425
|
return addHeapObject(ret);
|
|
426
426
|
};
|
|
427
|
-
imports.wbg.
|
|
428
|
-
const ret =
|
|
427
|
+
imports.wbg.__wbg_getwithrefkey_4a92a5eca60879b9 = function(arg0, arg1) {
|
|
428
|
+
const ret = getObject(arg0)[getObject(arg1)];
|
|
429
429
|
return addHeapObject(ret);
|
|
430
430
|
};
|
|
431
|
+
imports.wbg.__wbg_set_9182712abebf82ef = function(arg0, arg1, arg2) {
|
|
432
|
+
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
|
|
433
|
+
};
|
|
431
434
|
imports.wbg.__wbg_new_abda76e883ba8a5f = function() {
|
|
432
435
|
const ret = new Error();
|
|
433
436
|
return addHeapObject(ret);
|
package/chai_bg.wasm
CHANGED
|
Binary file
|