Skip to content
/ gosmq Public

昙花赛码器 - 最快的赛码器(对码表类输入方案针对指定文本进行评估)。

License

Notifications You must be signed in to change notification settings

nopdan/gosmq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

About

昙花赛码器 - 最快的赛码器(对码表类输入方案针对指定文本进行评估)。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published