楼主: edennow

[软件] 分享个人使用的网文常见字词替换校对表(含 php 脚本)

  [复制链接]

17

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1016
主题
67
铜币
44794
威望
2439
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-5-6
在线时间
1540 小时
 楼主| 发表于 2024-3-24 06:56 | 显示全部楼层
本帖最后由 edennow 于 2024-3-24 08:17 编辑
無愛 发表于 2024-3-24 00:28
“摊”与“滩”对比,“滩”太具有欺骗性了,有三点水以为跟液体相关的都用“滩”,后来查了词典才发现草 ...

浑水的词条之前应该是加过了的,可以搜索下看看。

至于 excel 表的问题,其实之前我也考虑过把词库文件改成 json、csv、yaml、toml 之类的格式,也考虑过另外用 sqlite、access 之类的本地数据库或者 excel 来管理。
其实目前的词库相当于就是个 txt 纯文本文件,使用 bc 对比或者一些文本编辑器来直接编辑都没有问题,通用性应该还是不错的。
如果改成 json 之类的格式还好,同样是保存成纯文本,但是如果弄成 excel 表的话应该换成 csv 会比较好(否则会是 xlsx 等二进制格式,不好用别的工具比对和编辑)。

csv 的导出和转换的操作其实我之前已经实现了,只是因为这个格式有些局限性(目前词条里一定不能含有英文逗号和英文引号),没有把这个功能开放出来。
这个功能我本来是想用来整合一些外部词库的,但是一直也没找到什么比 txtFormat 更好的词库,所以基本没怎么用过。

可以下载新的附件,里面有个 csv_operation.bat 的命令,打开之后,输入 0 可以将对应的 map 转成 csv 文件,输入 1 可以通过 csv 生成对应的词库格式 txt 文件(只是用于统一一下数据格式,基本不会用到)。
现在就是可以输入对应 map 的索引,生成比如 normalMap 的 csv 文件,然后就可以在 excel 里面进行 csv 文件的编辑。
只要在 maps 文件夹中有对应 map 的 csv 文件,就会自动优先加载 csv 里的词条,不会再去加载 php 文件里的了(没有生成 csv 文件的 map,就还是加载 php 里的词条,比如 preprocessMap 和其他各种 map)。
不过我这边就不会在附件里直接提供 csv 了,如果后面我这边有词库更新,需要自行将更新的 php 词库转换成 csv 文件,和你本地的 csv 词库对比差异。

其实还是更推荐直接编辑 php 的词库文件的(目前那个正则的 regexMap 暂时不能转成 csv,只能先直接改 php 文件,犯懒了),
主要是我也更喜欢用 php 数组的:

['before' => ["四两拔千斤", "四两拨千金", "四两拨千钧", "四量拨千斤"], 'after' => "四两拨千斤"],
['before' => "高海拨地区", 'after' => "高海拔地区"],
['before' => ["aaa", "bbb", "ccc"], 'after' => ["111", "222", "333"]],


这种比较灵活的形式来任意表示“多对一”“一对一”“多对多”的关系,
还可以通过加注释的方式来保留一些可供参考的词条,以及做一些词条注解(csv 要保留注释有点麻烦……)。
又改了下,现在可以在 csv 文件中前两列(before 和 after 列)之外的任意一列加上对应词条的注解(最好统一写在第三列,以后如果数据的结构有变动比较好统一处理)。
目前自定义词库的词条数量也还算比较少(展开数组后实际是六万出头),检索替换等编辑操作还算是比较便利的。

如果一直用旧版本的 emeditor 可能会有点落伍了,我如果用论坛分享的 emeditor 来编辑 php 格式的词库文件也不太顺手,很多类似:

【多行同时编辑】【批量添加/取消注释(使用 ctrl+/ 快捷键)】【总览全局搜索结果(搜索相关词条的时候很有用)】【分屏编辑同一文件】

这样的操作都无法实现(有些应该能做到,但我不怎么会用 emeditor),可以考虑更新 emeditor 版本,或者使用其他一些现代一点的编辑器,比如 vscode 之类的,有助于提升编辑体验。
可以看一下 vscode 的一些编辑操作演示:https://blog.csdn.net/weixin_46655235/article/details/121788623
回复 支持 反对

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
301
回帖
160
主题
10
铜币
1334
威望
215
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-5-8
在线时间
84 小时
发表于 2024-3-24 00:28 | 显示全部楼层
edennow 发表于 2024-3-23 23:13
哈哈,也算是能学到一些现代汉语的规范吧,比如我之前一直把“一摊水”写成“一滩水”的,就算输入法写成 ...

“摊”与“滩”对比,“滩”太具有欺骗性了,有三点水以为跟液体相关的都用“滩”,后来查了词典才发现草率了,跟你犯了一样的错误。

['before' => ["这滩浑水", "这滩混水"], 'after' => "这摊浑水"],
这个词条有欺骗性,得看语境。若是带有“蹚”“掺和”“搅和”,用“趟”更合适。
建议加个反查词条。

脚本的词库能不能做成调用Excel表格的呀?这样维护起来更直观、更方便一点,也不怕复制代码时,多或少复制空格,前几天看了个程序员找了一天Bug的视频,Bug原来是多了个空格。故才有此一问。
目前记笔记用的是Excel表格,用Word记录过,不太直观。
不知道能不能实现?
[发帖际遇]: 無愛 过年期间遭遇熊孩子,破财消灾,发红包 5 铜币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

17

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1016
主题
67
铜币
44794
威望
2439
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-5-6
在线时间
1540 小时
 楼主| 发表于 2024-3-23 23:13 | 显示全部楼层
無愛 发表于 2024-3-23 22:57
现在基本养成了有疑问的字词,先查词典的习惯。单纯的靠记忆真的很容易遗漏,就比如:
“莽莽”与“茫茫 ...

哈哈,也算是能学到一些现代汉语的规范吧,比如我之前一直把“一摊水”写成“一滩水”的,就算输入法写成“一摊水”,我都会手动把“一摊水”给改成“滩”,后来查了词典才知道一直都搞错了-_-||

不过这个脚本也只是通过机械重复的方式来解决一些机械重复的问题(有时候会惊叹于不同的作者写的不同的书,怎么犯的错误都是一样一样的,感觉好像乐此不疲……),是不能寄希望于搞定所有文本问题的,只能通过这种类似精卫填海的方式,把一些碰到的问题记录下来,一次性解决,避免一直重复劳动。

总之就是日积月累了,这个脚本好处就是你只要往里加词条,它就会帮你改;坏处当然就是,你不往里加,它也不能自行推断,因此改语病什么的就不用奢望了……

这些都是只能靠以后大佬们搞出开放人工智能工具才有可能实现了,不过暂时用这个脚本应该也能提高一些操作效率。
回复 支持 反对

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
301
回帖
160
主题
10
铜币
1334
威望
215
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-5-8
在线时间
84 小时
发表于 2024-3-23 23:02 | 显示全部楼层
cumt313 发表于 2024-3-23 20:33
加反查词条的思路确实很好,能很好地避免误伤。可以拿几本稿子来试一下,就基本能确定了。两个字的词条误 ...

两个字的词条,你不加吧,又会遗漏,加了又会误伤。只能通过比对发现问题记笔记,做出反查词条,还是得手动查。
对比原先的逐个字词去单独查找,这个脚本太方便快捷了,该误伤耗费的时间可以忽略不计。
回复 支持 反对

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
301
回帖
160
主题
10
铜币
1334
威望
215
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-5-8
在线时间
84 小时
发表于 2024-3-23 22:57 | 显示全部楼层
edennow 发表于 2024-3-23 20:39
感谢,除了人名那几个基本都可以加防止误伤的词条,可以留意后续的脚本附件更新。

其中那个“的说”改 ...

现在基本养成了有疑问的字词,先查词典的习惯。单纯的靠记忆真的很容易遗漏,就比如:
“莽莽”与“茫茫”(这俩词太看语境了)
“全当”与“权当”(这俩词太看语境了)
“拜将封侯”与“拜相封侯”
“怙恶不改”与“怙恶不悛”
“不可置否”与“不置可否”
“电光火石”与“电光石火”(当时还觉得“电光火石”对的,因为游戏的技能也叫这名字)
等等,有些词很考验知识积累啊。

等再校书,有问题再反馈。词库积累,真是大工程啊。
回复 支持 反对

使用道具 举报

17

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1016
主题
67
铜币
44794
威望
2439
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-5-6
在线时间
1540 小时
 楼主| 发表于 2024-3-23 20:39 | 显示全部楼层
無愛 发表于 2024-3-23 20:10
词条反馈,没过txtFormat,单纯运行脚本后BCompare比对

感谢,除了人名那几个基本都可以加防止误伤的词条,可以留意后续的脚本附件更新。

其中那个“的说”改成“地说”是因为我偷懒了,当时加了很多的类似“掌柜的说”“看门的说”之类的,后面发现这种情况太多了,暂时就没继续往里加类似词条了,只能通过手动修复相关词条,相信应该也比较容易能看出来,或者把这个词条删掉不改也可以。

那个连续引号中间的逗号去掉的,有的情况是不能直接改的,但是有的情况不改又不合适,放在这里也是提供一个自行判断的入口,如果有误改也是需要手动修复。

和上面那个“的说”之类的词条一样,有部分词条就是容易误改(特别是两个字的,当时加的时候就是没考虑到防误伤的问题),但是我认为“它制造的问题”和“它解决的问题”之间比例比较悬殊,大部分情况下还是能解决掉一些问题的,所以暂时还是保留了。

融会古今是从 txtFormat 词库里直接搬过来的,打算把 before 和 after 位置换一下,txtFormat 词库里有不少都是有问题的,我目前也是碰到一个改一个,但只要改好一次就不会重复改错了。

可以把修改过后的文本再用 txtFormat 修正一下,体验一下脚本改的效果,目前我试过基本上脚本是把 txtFormat 里面 80% 到 90% 的词条给改了(还有很多是脚本里独有的词条做出的额外修改),再去 txtFormat 里手动改的话(可以尝试看一下帖子里的“txtFormat 词库”的相关信息,用脚本调用 txtFormat 词库自动改也是可以的),要做的有效修改应该不算多了。

还有部分人名的,因为这都是某本书里才有可能出现的误改,也可以尝试看一下帖子里的“书籍专有替换”的逻辑,为每本书建立单独的词条集合,防止重复修正某本书时,重复发生误改。
回复 支持 反对

使用道具 举报

8

听众

0

收听

2

好友

举人

Rank: 6Rank: 6

UID
2230
积分
1634
回帖
2010
主题
1
铜币
9447
威望
628
银币
0
贡献
0
发书数
0
注册时间
2015-7-1
最后登录
2024-5-8
在线时间
805 小时
QQ
发表于 2024-3-23 20:33 | 显示全部楼层
無愛 发表于 2024-3-23 20:10
词条反馈,没过txtFormat,单纯运行脚本后BCompare比对

加反查词条的思路确实很好,能很好地避免误伤。可以拿几本稿子来试一下,就基本能确定了。两个字的词条误伤确实会有,好在还可以比对改回来。
[发帖际遇]: cumt313 向女王献媚,收到打赏 2 铜币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
301
回帖
160
主题
10
铜币
1334
威望
215
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-5-8
在线时间
84 小时
发表于 2024-3-23 20:10 | 显示全部楼层
本帖最后由 無愛 于 2024-3-23 20:13 编辑
edennow 发表于 2024-3-18 21:06
哈哈,这个词我也是印象流了,记得不少出版书里都有“乌泱泱”的说法,而且基本都是用来形容人群的,“乌 ...


词条反馈,没过txtFormat,单纯运行脚本后BCompare比对



容易误识:
目框架<节目眶
['before' => "目框", 'after' => "目眶"],


迷面前<歌谜面
['before' => "迷面", 'after' => "谜面"],


作不方便<动多不方便
['before' => "作不方便", 'after' => "多不方便"],


在坐的<现在座的
['before' => "在坐的", 'after' => "在座的"],


词令人<台辞令
['before' => "词令", 'after' => "辞令"],


告之下<密告知
['before' => "告之", 'after' => "告知"],


搭当天下午的航班<转搭档天下午的航班
['before' => ["搭当", "搭挡"], 'after' => "搭档"],


的答道<女地答道
的答道<男地答道
['before' => "的答道:", 'after' => "地答道:"],
同理,其他的“的地得”的词条需要增添“女的”“男的”的反查词条,注意别误伤“处女地”。


笔画<工笔划
['before' => "笔划", 'after' => "笔画"],


发形象<金发型
发形象<越发型
['before' => "发形", 'after' => "发型"],


去做画面处理<去作画面处理
['before' => "去做画", 'after' => "去作画"],


委过足了瘾<评诿过足了瘾
['before' => "委过", 'after' => "诿过"],


还改对了,是人名
特吕弗过来<特吕拂过来
["弗过", "怫过"], 'after' => "拂过"],


人名:
修耸耸肩<马修葺耸肩
['before' => ["修茸", "修耸"], 'after' => "修葺"],


芝动情地说道<阿劳动情地说道
['before' => ["劳働", "芝动"], 'after' => "劳动"],


希有些不好意思<赵稀有些不好意思
['before' => "希有", 'after' => "稀有"],


疑问词条:
['before' => "”,“", 'after' => "”“"],
原句:蒋介石死后,台当局举行“国丧”,“国丧”的一个月期间
改后句:蒋介石死后,台当局举行“国丧”“国丧”的一个月期间
并不是绝对


['before' => "融汇古今", 'after' => "融会古今"],
根据《现代汉语词典第七版》“融汇”的释义中的释义例句:融合汇聚:~古今|把普及科学知识~到群众文化活动之中。



2024-03-23
回复 支持 反对

使用道具 举报

17

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1016
主题
67
铜币
44794
威望
2439
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-5-6
在线时间
1540 小时
 楼主| 发表于 2024-3-18 23:30 | 显示全部楼层
無愛 发表于 2024-3-18 23:01
长知识了,这脚本既然做到相互反查,赞啊。
等读完在校的书,下一本用脚本试试,到时候有问题得麻烦你解 ...

我倾向于是不转的,本来也算是一些网络用语的用法,可能看上去合适一点,有些场景也是比较有调侃的味道,没有那么重的语气。

可以把这些词按照这个脚本的词条 before 和 after 这种格式,单独写到一个文件里,看心情如果想转换就把它们拉到那个“足矣”的词条后面,也会自动转的,如果不想转就又把它们移出去就行了。
[发帖际遇]: edennow 送迷路的小孩回家,奖励 5 铜币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
301
回帖
160
主题
10
铜币
1334
威望
215
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-5-8
在线时间
84 小时
发表于 2024-3-18 23:01 | 显示全部楼层
edennow 发表于 2024-3-18 21:06
哈哈,这个词我也是印象流了,记得不少出版书里都有“乌泱泱”的说法,而且基本都是用来形容人群的,“乌 ...

长知识了,这脚本既然做到相互反查,赞啊。
等读完在校的书,下一本用脚本试试,到时候有问题得麻烦你解惑了。
话说,常见的防和谐字需要加词条吗?
如:
叼、刁、碉<屌
艹、草、擦<操
特么、踏马<他妈
之类的。
[发帖际遇]: 無愛 看美女导致钱包被偷,损失了 5 铜币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|阡陌居

GMT+8, 2024-5-8 17:15 , Processed in 0.045217 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表