楼主: edennow

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

  [复制链接]

8

听众

0

收听

2

好友

举人

Rank: 6Rank: 6

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

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

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
297
回帖
149
主题
10
铜币
1357
威望
217
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-4-25
在线时间
81 小时
发表于 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
回复 支持 反对

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

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

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

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

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

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

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

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2985
回帖
1024
主题
67
铜币
44244
威望
2434
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-27
在线时间
1537 小时
 楼主| 发表于 2024-3-18 21:06 | 显示全部楼层
本帖最后由 edennow 于 2024-3-18 21:26 编辑
無愛 发表于 2024-3-18 20:35
窘,还真是那样,用txtFormat校对的时候点“下一个”的次数多。感谢大神提供思路,长知识了,加了标点符 ...

哈哈,这个词我也是印象流了,记得不少出版书里都有“乌泱泱”的说法,而且基本都是用来形容人群的,“乌压压”给我的印象基本都是形容黑云压城这种,可能偏颜色多一点。
这个词感觉没有什么很明确的标准,我只是根据“乌央央”这个发音统一了一下,如果不需要的话可以删除掉的,然后在你自己加的词条里改成“乌压压”就好了。

其实很多词条估计都会和个人标准有些偏差的,总体来说求同存异即可,很多情况下维护一套符合自己想法的词库,用来校正符合自己口味的书感觉合适一点。

另外就是如果不做什么额外编码的话,维护词条基本都集中在“自定义词库”这一个文件里面,里面也就是分了几个 map,做的操作也只有增删改词条,基本都是所见即所得,如果能够明确一些修改原则的话,其实感觉耗费的心智应该不会很多。

关于“暴发户->暴发户”这种词条我也再简单说明下吧,上面举的例子可能还是有点复杂了:

比如可以想象一下整个词库里只有“暴发->爆发”这一个词条,那文本中所有的“暴发”都会变成“爆发”,“暴发户”也无法避免地会被误改成“爆发户”。
那额外加上“暴发户->暴发户”这种词条,就是告诉脚本:

“帮我把所有的‘暴发’都改成‘爆发’,但是如果碰到‘暴发户’这个词就保留原样”。

这样也就起到了防止某些词条被误伤的效果了。

同理也可以再加上“暴发之家->暴发之家”的词条,就是告诉脚本,碰到“暴发户”和“暴发之家”就保持原样,其他所有的“暴发都统统帮我改成“爆发”。

可以在词库中搜一下"梁"这个字,会发现有一条“粱->粱”这个词条,紧跟在这条词条后面的是一堆类似“高粱”“黄粱”的词条,也就是告诉脚本把所有的粱都改成梁,除了下面列出来的这些含有粱的有意义的词之外

因为我发现很多文本里都有梁误写为粱的错误,可能是扫描出错或者作者手抖吧,而同时“粱”这个字实际可组成的有意义的词语不多,应该可以通过列出所有这些词条防止被误伤。

总之就是在用这个词库的时候,如果发现你自己加或者改的词条和你预想的效果没什么偏差,那就不用考虑其他有的没的,直接用就可以了。
但是如果某些词你加进去了,却不生效(有可能是被上面这种“暴发户->暴发户”的防误伤词条覆盖了),或者改错了(有可能是被 regexMap 里的正则改错了),可能还是得详细看一下帖子里关于替换逻辑和各种 map 的说明(特别是可以详细理解一下 postFixMap 的作用) 。
回复 支持 反对

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
297
回帖
149
主题
10
铜币
1357
威望
217
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-4-25
在线时间
81 小时
发表于 2024-3-18 20:35 | 显示全部楼层
edennow 发表于 2024-3-18 06:22
花了点时间把提供的这批词条整理了一下,感觉可用性挺不错,只有少数十几二十条我没有直接加进去,非常感 ...

窘,还真是那样,用txtFormat校对的时候点“下一个”的次数多。感谢大神提供思路,长知识了,加了标点符号能省却很多无效搜索。
后续增加词条,会放“normalMap”。解释清楚了就知道了(那篇帖子没具体逐字逐句看),这些代码看着就眼晕
下载了最新的词库,内中有个词条有疑问。“乌泱泱”查了字典,不管是《现代汉语词典》《现代汉语大词典》都没收录,搜索引擎搜索过后,有了这答案https://www.zhihu.com/zvideo/1623426430469025792
[发帖际遇]: 無愛 在论坛上传违禁小说,被网警发现,处罚 2 铜币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2985
回帖
1024
主题
67
铜币
44244
威望
2434
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-27
在线时间
1537 小时
 楼主| 发表于 2024-3-18 06:22 | 显示全部楼层
本帖最后由 edennow 于 2024-3-18 19:07 编辑
無愛 发表于 2024-3-17 21:36
粗略整理了读校笔记,增加了215条词条

花了点时间把提供的这批词条整理了一下,感觉可用性挺不错,只有少数十几二十条我没有直接加进去,非常感谢,可以下载一下新的附件看看。

另外提供一些建议:
首先是少量词条的长度和辨识度个人感觉不是很够,特别是 2 个字的。

例如:好勒->好嘞

如果是通过人工搜索这两个字来替换,相信可以很容易一条条判断哪些要改哪些不要改。
但是加到脚本的词库里的时候,由于校正过程是自动的,没有人工介入,只能通过 bc 比较校正后的结果
如果单纯只提供这两个字,就会造成文本中所有的“好勒”都变成“好嘞”,
要是文本中有“刚好勒住”“恰好勒住”这种词,就都会被误改,而且是每碰到一次有这样的词语的书,就被误改一次。
根据这个词的常见用法和特征,可以判断基本都是位于一个句子成分的结尾,那就可以拆分成:

    ['before' => "好勒,", 'after' => "好嘞,"],
    ['before' => "好勒。", 'after' => "好嘞。"],
    ['before' => "好勒!", 'after' => "好嘞!"],


这样几组词,这样的话“刚好勒住”“恰好勒住”这种就不会被误伤到。

意思就是把词条加入这个脚本词库的时候,还是需要尽量提升一些辨识度(不光是可以加标点,也可以加前缀后缀,从一条变成多条,当然改成正则表达式也可以,但执行效率会变低,反而不如直接堆放到 normalMap 里)。
上面的例子虽然从一条词条变成了三条,但因为是自动改正,不需要耗费精力去重复人工检索替换,所以也不会影响操作效率。
暂时是推荐尽量堆词条而不是正则,只要不是需要把一个词条拆成几十上百条这种无法接受的数量,都是一次性劳动,设置好一次之后就可以生效了。

即使可能会比直接用 好勒->好嘞 这样改得少了点,但是提升了正确率,也就不用在 bc 里面一条条把误改项还原回去。

同理还有 陈恳->诚恳 这种,我也拆分成了几条词条,如果文本中碰到有人的名字是陈恳,也能尽量减少一些误伤。

当然如果不把这样的 2 字词条拆成多条,直接就用它来校正也可以,这样会改得更多一点(虽然可能会额外有误伤)。
是否需要拆分还是要根据这个词的特性(比如 陈恳 这种,100 本书里面可能也不会碰到一本有名字叫陈恳的角色),
以及个人的偏好来进行一些取舍,暂时没有什么权威标准。

我之前整合 txtFormat 的词库就发现了,它的词库里面 4 个字的词条辨识度远比 2 个字和 3 个字的高,直接加入到脚本里面也不会增加多少误伤。
而 2 个字和 3 个字的词条反正我是不敢直接弄过来,不然 bc 比较的时候改误伤项会很麻烦(可以回忆一下平时用 txtFormat 是不是经常要跳过误改词条,疯狂点“下一个”……)。

总之就是这个脚本是全自动修正的,是旨在把一些确定性高的词条在进一步校对前,提前做好修正,然后通过 bc 进行对修正结果的确认。
即使比人工用 txtFormat 修正改得要少(也有可能会改得更多),但是操作体验应该是比单纯在 tf 里点点点会有提升。
主要是得实际校正比对几本书,多体验一下,可能就能理解一些词条怎样设置效果才会比较好了(以及需要尽量阅读理解一下帖子里提到的几条词条设置的规则,最好能理解类似“暴发户->暴发户”这种 before 和 after 值相同的词条能起什么作用)。

——————————

第二个是新增词条的存放位置,我看还是被单独放到了 preprocessMap 里面了,应该是还没有看到这个帖子里“预处理流程”的逻辑吧。
简单说明一下,同一个词条可以“同时放到 preprocessMap 和 normalMap 里”,也可以“单独只放到 normalMap 里”
但是不能“单独只放到 preprocessMap 里”,需要保证 preprocessMap 里的词条一直都是 normalMap 词条的子集,否则会造成混淆。

“单独只放到 normalMap 里”的那些词条在预处理的时候不会被用到 booksBak 的文件里,在 beyond compare 比较的时候是能看到这些词条的校正结果的。
“同时放到 preprocessMap 和 normalMap 里”的词条则会在 booksBak 的文件中也进行修正,这时在 beyond compare 比较的时候,就根本看不出来文件实际上已经被改过了。

“单独只放到 normalMap 里”的词条,等于是“我改了这个词,我也会在 bc 里面告诉你我改了它”。
“同时放到 preprocessMap 和 normalMap 里”的词条,则等于“我改了这个词,但我在 bc 里不会直接告诉你”。

所以除非你非常确定这个词条不会在任何情况下被误改(或者只有在极少数情况下才会误改),否则尽量不要放到 preprocessMap 里,而是单独堆到 normalMap 里面就好,这样可以比较好在 bc 里确认有没有被误改。

还有就是在这两个 map 中新增词条的时候,最好是都跟着放到这两个 map 的末尾,可以参照下面的两张图(注意'挨'在这个文件里有两个相同的词条,分别是在 preprocessMap 和 normalMap 里的,不要找错了):



这样可以把你自己加的词条和我这边加的词条区分开来(我一般会在原词条的位置直接加,位置比较随机),如果后续有词库更新的话,可以通过 bc 对比,较容易地看出我做的词条增改和你自己做的有什么差异,同步一些词条的增删改操作。
也可以在我这边更新词库的时候,直接把这两个地方后面的自己加的词条统统移到新的词库文件里面,而不用详细看我改了什么,这样起码能保证自己新加的词条一直是有效的。

对在这两个位置上方的词条,最好只做删除或注释的操作,让不需要的词条失效;
下方则只放置自己新增的词条(或者是把上面的词条删掉,自己在下面新增一个对应的映射,等于是更改了 before 的值,属于更新词条)。

新增词条之前建议先搜索下这个文件里有没有你需要的词,例如“无瑕”“无暇”这种我已经收集了不少可以用来校正的词条,可以先参考下,避免重复劳动。

——————————

还有个问题是词条里面不要出现 CJK 扩展区的字符,比如【尸从】这种(即使要加相关词条,也应该用本来的那个未简化字),否则在 bc 里面会报编码错误,无法编辑(文件编码会被脚本默认转成 UTF-8)。

因为这个脚本会把文件都统一处理成“UTF-8 无 BOM 的编码,以 LF(也就是 \n) 为换行符”的形式。
如果是执行 【双击运行】1.书籍校正.bat,会自动转码,无需关心(可以在校正和确认完后,自己把文件编码恢复成所需的中文编码)。
但如果执行【双击运行】2.书籍校正(不进行原文件预处理).bat 且本来的文件编码不是 UTF-8,最好在 bc 比较前把编码都统一改成 UTF-8 无 BOM,否则也有可能出现一些奇奇怪怪的问题。

只要是那种看上去有点奇怪的简体字,和电脑里的默认字体长得都不一样的,基本都是扩展区的字符,如果无法准确判断,可以查询汉典:
https://www.zdic.net/



出现了这种带有“扩展”两个字的,就是 CJK 扩展区中的字符,最好就不要采用了,这样的字符貌似很多都不在规范的汉字表里(http://www.jiaodui.com/bbs/read.php?tid=22867 这里也有说),目前有些阅读器的字体也是不支持完整的扩展区字符,而出现缺字的空白,兼容性比较差。

——————————

额外提一下,如果你会在手机平板等移动设备记读校笔记/批注/高亮,然后再统一在某个时间点改文本的话,不妨参考一下这个帖子:
随时随地进行校对

如果可以按照里面说的格式来记笔记(辨识度要尽可能高),也可以利用这个脚本,做到一键修正成百上千条笔记,应该能提升一些读校的效率(如果你是直接在电脑上边读边改文本的,就不用参考了……)

当然,欢迎随时提出意见和分享新的词条,我尽量都会根据实际情况整合到词库里。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[发帖际遇]: edennow 在公交车没有注意,被小偷偷去了 4 铜币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

2

听众

0

收听

1

好友

儒士

Rank: 4

UID
162852
积分
297
回帖
149
主题
10
铜币
1357
威望
217
银币
0
贡献
0
发书数
5
注册时间
2023-10-2
最后登录
2024-4-25
在线时间
81 小时
发表于 2024-3-17 22:29 | 显示全部楼层
edennow 发表于 2024-3-17 21:59
对了,推荐一下这个网站:http://www.jiaodui.com/bbs/read.php?tid=20270

如果某些词条拿不准该不该 ...


这敢情好呀,有些不确定的词,有多了个渠道进行确认了。
其实还蛮多词条没加进去的,加了会造成误伤。
如:
冷颤与冷战(这俩词,我会区分开,虽然现代汉语词典的首选词是冷战)
无瑕与无暇
形势与形式
黝黑与黢黑
皲裂与龟裂
机灵与激灵
庄稼与庄家
利害与厉害
修养与休养
修整与休整
胶着与焦灼
正直与正值
等等。
回复 支持 反对

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2985
回帖
1024
主题
67
铜币
44244
威望
2434
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-27
在线时间
1537 小时
 楼主| 发表于 2024-3-17 21:59 | 显示全部楼层
本帖最后由 edennow 于 2024-3-17 22:02 编辑
無愛 发表于 2024-3-17 21:36
粗略整理了读校笔记,增加了215条词条

对了,推荐一下这个网站:http://www.jiaodui.com/bbs/read.php?tid=20270

如果某些词条拿不准该不该改(比如有些实在太多人用错的,可以参考下不改可能也是种选择,特别是那些“也作”“亦作”的,我也有几个看不惯的已经投降了……),可以在它这里搜索下进行参考,除了查字典汉典辞海和各种语料库之外,这也是个比较方便的渠道,不过该网站有时好像会挂机,如不能访问就等一段时间再试。
回复 支持 反对

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2985
回帖
1024
主题
67
铜币
44244
威望
2434
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-27
在线时间
1537 小时
 楼主| 发表于 2024-3-17 21:49 | 显示全部楼层
無愛 发表于 2024-3-17 21:36
粗略整理了读校笔记,增加了215条词条

感谢,我有空看情况整合下,可以在新增之前先找找原来有没有同样的 after 值(在 preprocessmap 和 normalmap 中都有可能存在),可以避免重复加词条。


另外如果可以考虑在一些特征明显的词条前后限定一些标点,准确度会更高,如果是较短的词条,也是尽量选用特征明显的,可以降低一些误伤率。

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 16:16 , Processed in 0.043580 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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