gosmq

command module
v0.0.0-...-575b77a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2024 License: GPL-3.0 Imports: 3 Imported by: 0

README

昙花赛码器 - 最快的赛码器

GitHub Repo stars GitHub forks GitHub release (latest by date) GitHub Workflow Status GitHub repo size GitHub

assets 文件夹下查看预览图。

本赛码器专用格式

字词 tab 真实输入码 tab 重码顺序

首选的 1 可以省略。

用法

server 命令

执行.\smq.exe server,启动server模式,自动打开浏览器。

server模式只会读取 text 文件夹下的文本和 dict 文件夹下的码表。

手动放码表要注意格式,推荐从剪贴板添加码表,具体操作步骤为:

  1. 粘贴码表
  2. 选择对应格式,并设置起顶码长等选项
  3. 点击赛码

跑一次赛码会自动保存转换后的码表到 dict 文件夹内。

剪贴板需要浏览器授予权限

convert 命令转换格式

使用 .\smq.exe convert 命令转换格式。

支持格式:极速赛码表(jisu|js)多多|rime(duoduo|dd|rime)极点|小小(jidian|jd|xiaoxiao|xx)冰凌(bingling|bl)

主命令参数解释

文本和码表

-i-t 用法一样

examples:

-i 文件1 -i 文件2 载入两个码表
-i 文件夹1 -i 文件夹2 载入文件夹 1 和文件夹 2 内所有码表
-i 文件1 -i 文件夹1 载入文件 1 和文件夹 1 内所有码表

载入多个文本,不保证输出结果有序。

匹配算法

默认贪心匹配,按照词长进行匹配,与码表中的顺序无关,相同词选择码长较短的。

指定 --stable,按照码表顺序匹配,相同词选择靠前的。

指定 --single-s,单字模式,只取码表中的单字,同一个字码长较短的。

输出详细数据

  • --split: 输出分词数据
  • --stat: 输出词条数据
  • --json: 输出 json 数据

--verbose-v 输出所有数据,可以追加 --json=false 关闭其中某项。

合并多文本的结果

使用 --merge-m 合并多文本的结果,这时输出分词结果不再生效。

关于匹配逻辑

若某个字符码表中匹配不到

默认情况:

  • 是标点符号
    • 根据内置的符号表继续匹配
  • 不是标点符号:编码设置为 ######
    • 是汉字:记为缺字

指定 --clean-c: 跳过该字符

Benchmark

配置:windows 10, i7-9750H(6c12t), 8g*2 2666Mhz

以下采用码表《091 点儿 2023 春》,词条数 214338

.\smq.exe -i .\dict\091点儿2023春.txt -t .\text\心情决定事情.txt
.\smq.exe -i .\dict\091点儿2023春.txt -t .\text\红楼梦原著.txt
.\smq.exe -i .\dict\091点儿2023春.txt -t .\text\《庆余年》.txt
.\smq.exe -i .\dict\091点儿2023春.txt -t .\text\那些热血飞扬的日子(整理版).txt
.\smq.exe -i .\dict\091点儿2023春.txt -t .\text\极品全能高手_花都大少.txt
文本 文本字数 耗时
心情决定事情 96253 120ms
红楼梦原著 872209 130ms
《庆余年》 3464055 195ms
那些热血飞扬的日子 16485176 440ms
极品全能高手 24910973 610ms

以下采用码表《红辣椒五笔码表》,词条数 8896705

.\smq.exe -i .\dict\红辣椒五笔码表880万多多格式.txt -t .\text\心情决定事情.txt
.\smq.exe -i .\dict\红辣椒五笔码表880万多多格式.txt -t .\text\极品全能高手_花都大少.txt
载入码表: 红辣椒五笔码表880万多多格式
文本 文本字数 耗时
心情决定事情 96253 8.6s
极品全能高手 24910973 9.6s

多文件测试

# 使用 --merge 合并所有文本结果
.\smq.exe -i .\dict\091点儿2023春.txt -t .\super\data\ --merge

# 载入码表: 091点儿2023春
# 共载入 26078 个文本,总字数 192108228,总耗时:5.9521118s

输出详情测试

.\smq.exe -i .\dict\091点儿2023春.txt -t .\text\极品全能高手_花都大少.txt -v

# cost time: 1.2575731s

编译

用到的工具链:bun, go 1.22.0+

编译前端

cd frontend
bun install
bun run build
cd ..

编译主程序

go mod tidy
go build

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
smq

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL