12
返回列表 发新帖
楼主: 無愛

[求助] 校对方面:关于文字查找(已解决)

[复制链接]

16

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1024
主题
67
铜币
44323
威望
2435
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-28
在线时间
1538 小时
发表于 2024-3-17 15:44 | 显示全部楼层
無愛 发表于 2024-3-17 15:31
好,下次校对书,试试脚本。
新增词库是不是如下图所示进行操作?

是的,直接增删改这些条目即可,可以一对一设置,也可以多对一设置,不过就是这个文件里有好几个 map 变量,最好是能比较明确这几个 map 的区别和作用。

另外就是这个词库的一些替换逻辑可能不是很符合直觉,那个帖子里有提到几个词条设置的规则,可能得多操作几遍验证下。

感觉比较简单的做法就是多校正几本书(暂时来讲挺快的,电脑配置不太差两三百万字估计就十秒左右),根据 bc 对比的结果把自己不需要的删掉,也基本上是只操作一次就行了。现在里面有一些词条可能设置得比较严格,有些词条后面也有一些注释说明,大概率是比需要的会多改一点,看着删改就行了。
[发帖际遇]: edennow 早睡早起,坚持晨练,获得奖励 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-17 18:33 | 显示全部楼层
edennow 发表于 2024-3-17 15:44
是的,直接增删改这些条目即可,可以一对一设置,也可以多对一设置,不过就是这个文件里有好几个 map 变 ...

这是个大工程呀,有时间整理一下记的笔记。
这些代码看着头疼,弄的话,还是按照截图的那个位置增加吧,会写一些注释。到时候回帖上传艾特你,你若有空看着着手处理不合理的进行删减吧。
回复 支持 反对

使用道具 举报

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 19:23 | 显示全部楼层
edennow 发表于 2024-3-17 15:44
是的,直接增删改这些条目即可,可以一对一设置,也可以多对一设置,不过就是这个文件里有好几个 map 变 ...

例句:
着瓜子
着桌子上的瓜子
着昨天放到桌子上的瓜子

以上例句有没有办法形成相关的词条?或者有没有正则可以实现?
就是在“瓜子”的“”后面能增减字符数量的正则表达外加“瓜子”形成一条能查找的正则。
如果有的话,相关的错字遗漏概率会低很多。
回复 支持 反对

使用道具 举报

16

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1024
主题
67
铜币
44323
威望
2435
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-28
在线时间
1538 小时
发表于 2024-3-17 21:01 | 显示全部楼层
本帖最后由 edennow 于 2024-3-17 21:24 编辑
無愛 发表于 2024-3-17 19:23
例句:
他磕着瓜子
他磕着桌子上的瓜子

可以拉到最下面看看 regexmap 里面那些正则,目前比较简单粗暴地限定了类似“磕”和“瓜子”之间不出现任何截断句子的句号逗号等标点。比如可以看看“噘”和“嘴”之间是怎么限定的,还有更复杂一点的“幅副”的判断。

不过还是建议不要太依赖用堆太多正则的方式来校正(除非是实在看不下去,类似幅副这种,不好拆分的),还是尽量把一些词拆分,用词条的形式堆到 normalmap 里面(看你上个截图那个位置应该是 preprocessmap,里面是预处理的词条,好像位置不太对),这样可以比较好地维持效率,这些在那个帖子里基本都有提到,可能得花点时间详细区分一下那些不同的 map 了(建议打开 emeditor 的大纲视图,或者直接在文件里搜 map 查找下),不然可能无法实现你预期的效果。

另外这个词库确实维护起来有点麻烦的,可以先试用看看效果(建议常备 beyond compare 工具,不管是用来比对这个脚本的校正结果,还是比对任何工具的修改结果以及不同书源之间的差异都很有用),如果觉得能理解这种批量替换的一些效率提升,再详细啃一下那篇帖子。如果和你的预期偏差较大或者觉得不好怎么操作,也不一定需要硬用的哈,毕竟能用自己熟悉且能有效操作的方式来校正感觉才比较合适。
回复 支持 反对

使用道具 举报

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:09 | 显示全部楼层
edennow 发表于 2024-3-17 21:01
可以拉到最下面看看 regexmap 里面那些正则,目前比较简单粗暴地限定了类似“磕”和“瓜子”之间不出现任 ...

呃,看了下,这正则太复杂了,表示看不懂
大神直接给个作业抄一下呗。
回复 支持 反对

使用道具 举报

16

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1024
主题
67
铜币
44323
威望
2435
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-28
在线时间
1538 小时
发表于 2024-3-17 22:23 | 显示全部楼层
本帖最后由 edennow 于 2024-3-17 22:29 编辑
無愛 发表于 2024-3-17 22:09
呃,看了下,这正则太复杂了,表示看不懂
大神直接给个作业抄一下呗。

如果比较简单的实现我会写成:

【查找】磕([^\n,。…?!;、—\-~~():]*?)(瓜子|药)
【替换】嗑\1\2(在脚本里应该写成 嗑$1$2)

这里就用到了“分组替换”,分别用 \1 \2 来引用上面两个括起来的部分,(瓜子|药) 这部分可任意扩充至 (瓜子|药|xxx|aaa|bbb) 。

其实基本的正则应该只需要了解 (){}[] 三种括号分别有啥用和 *+? 分别代表重复几次,以及一些元字符,很多就能自己写了。
比较复杂的断言(也称环视)可以后面再看。
建议还是先看看正则那篇帖子,或者另外找些通俗易懂的教程巩固一下,其他就是日积月累了。
我写在脚本里的正则都是很简单粗暴的,可能看着比较长,但结构是相对简单的,如果能掌握正则的一些基础应该是能看懂的。
回复 支持 反对

使用道具 举报

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:55 | 显示全部楼层
edennow 发表于 2024-3-17 22:23
如果比较简单的实现我会写成:

【查找】磕([^\n,。…?!;、—\-~~():]*?)(瓜子|药)

感谢大神,已记笔记。这下校书方便多了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 21:02 , Processed in 0.036316 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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