ZennoLab

Automate everything

用户工具

站点工具


侧边栏

本页面的其他翻译:

zh:addons:capmonster:learning:recognition-testing

6. 测试模块,提高识别。

通过训练模块,我们需要测试它,为什么需要这样?
模块测试可以帮助你检测识别率和速度,通用能够检测识别结果,验证码图片分别都输出哪些文字。
这些信息非常重要,知道这些你能有效提高识别率和速度。

测试设置

你可以自定义测试设置,并且多次运行测试,它也影响识别率。调整设置你可以改变识别率。在这个过程中,核心将不需要重新训练,你只需要保存模块的测试结果。

下面的这些测试参数可以自定义:

1) 线程数
2) 阈值
3) 符号之间最短距离 - 非常重要的参数!尝试升高/降低这个值去调整识别结果。
4) 比较类型: 完整匹配 - 识别结果与验证码的文字完全匹配。如果网站认可对验证码的一部分匹配,则可以选择部分匹配或者子串匹配。然后你可以获取到模块去计算正确结果,这实际上只是部分正确。
5) 范围值 如果你使用的子串作为比较的类型。连续正确识别符号的数量,认为是验证码的正确值。 6) 你可以尝试开启/禁用 快速识别。它也可能会影响识别结果。

记住识别错误的类型

在处理验证码识别错误之前,让我们记住识别错误的类型:

1) 错误识别 - 存在的符号却识别错误,比如,本来是“a”,却识别出来“c”。
2) 错过符号 - 存在的符号,模块却识别不到。换句话说,本来是“a”,你得到的空值。
3) 假识别 - 符号不存在,比如在两个符号之间,模块识别出来了第三个符号。

如何提高识别率

关于如何提高识别率的主要思想是去平衡这三种识别错误类型。理想情况下,当你得到不正确的识别几个,你的模块应该做了以下事情:

1) 将错误的符号更换为正确的。比如,答案应该是“cagtcha”,而不是“captcha”。
2) 它确实存在却看不到的符号。比如,答案应该是“cptcha”,而不是“captcha”。
3) 在验证码文章上输出多余的字符。比如,答案应该是“camptcha”,而不是“captcha”。
而且每种错误出现的次数几乎是相同的。

常见的错误,以及如何去避免它们

验证码的值符号数量很少甚至为0
1)尽管如此,培训是成功的,即绿线接近最大值,而红色和黄色下降到零。
*也许,你把中心之间最短距离设置的太高了。这种情况下,只有几个符号可以被正确识别,«amcaptchatext»验证码的值会被识别为«aathet»。
*也许你已经正确应用滤镜或设置质量中心。你创建的是很好识别符号训练的模块,但由于某些原因,没有看到在验证码中看到它们或者它们看起来有所不同。例如,在滤镜你更改了验证码的大小,但是忘了将其应用到符号上。其结果是,模块训练来识别在验证码小尺寸,但对大尺寸的验证码进行测试。
*也许,质量中心不是你收集的符号设置的。如果是这种情况,你可以在质量中心进行检测。不依靠模块重新训练调整质量中心是可行的 - 你应该提高质量中心变化参数和质量点,这样可以让它们覆盖区域并让模块看到符号。或者你可以重新训练你的模块,提供符号中小变化参数,而是不是质量中心变化。
2) 虽然训练过,绿线靠近黄线。红线几乎下降到零。要解决这个问题见训练模块段落.

验证码中符号的数量是对的,但是他们全错了。
如果模块训练是成功的,但是你还有这个问题,可能是假识别错误(3)。这种情况,在质量中心测试,点击符号中心的时候你将会得到正确的响应,但是点击跟它们很相近的质量中心,你会得到一系列错误的符号。你可以通过重新训练模块,去提高假识别的参数,从而修复这个问题。

验证码值中符号过多,但都正确了。一些符号重复了。
跟之前问题一样,但是“符号间最短距离”参数值太小了。

识别结果中保存正确的值但有多余符号。
1) “符号间最短距离”参数值太低。
2) 太多的识别错误类型 (3). 在模块训练片段中查看如何提高他们的值。
3) 识别阈值太低。
4) 组合1、2、3。

zh/addons/capmonster/learning/recognition-testing.txt · 最后更改: 2015/07/14 15:51 (外部编辑)