Инструменты пользователя

Инструменты сайта


Боковая панель

Перевод этой страницы:

ru:addons:capmonster:learning:recognition-testing

6. Тестирование модуля, поиск возможностей для улучшения распознавания

После обучения модуля нужно провести его тестирование. Зачем это нужно?
В окне теста модуля вы не только узнаете какой у него % распознавания и скорость работы, а еще сможете посмотреть на результат его работы. Т.е. какую строку на какой каптче он выдает.
Это очень важная информация, по ней вы сможете понять как повысить качество распознавания и уменьшить время работы модуля.

Настройки тестирования

Их можно изменять и провести тесты несколько раз, изменение параметров может изменить процент распознавания. При этом ядро переучивать не нужно, можно будет просто сохранить модуль.

1) Количество потоков для тестирования
2) Значения фильтра Thresold
3) Минимальная дистанция между символами - очень важный параметр! Можно попробовать слегка увеличить или уменьшить. Актуально, если у вас в ответах много лишних букв (увеличить) или много букв пропущено (уменьшить).
4) Тип сравнения: полное совпадение = полное соответствие реальному ответу на каптчу, совпадение подстроки и частичное = настройка, которой следует пользоваться, если сайт принимает успешно частичный ответ на капчу, а не полное соответствие. Тогда вы можете заставить модуль считать правильными ответы, которые на самом деле только частично верные.
5) Значение диапазона, если используете подстроку как тип сравнения. Количество верно отгаданных символов подряд, которые мы считаем как успешный ответ на каптчу.
6) Можно попробовать включить/отключить быстрое распознавание, это тоже может повлиять на процент распознавания.

Вспомним еще раз типы ошибок распознавания символа

Прежде чем перейти к ошибкам распознавания каптч, давайте вспомним, какие бывают ошибки распознавания символов:
1) Неправильное распознавание - это когда символ, действительно есть, но распознается он не правильно. Например мы показываем модулю символ «а», а он находит там символ «с».
2) Пропуск символа - это когда символ есть, но модуль вообще не видит никакого символа. Т.е. мы показываем ему символ «а», а модуль выдает, что тут ничего нет.
3) Ложное срабатывание- это когда символа нет, например между двумя символами, но модуль там что-то находит.

Суть вашей работы по улучшению распознавания

По сути, вся работа по улучшению % распознавания у вашего модуля сводится к балансу этих трех видов ошибок распознавания символа. Т.е. в идеале ваш модуль должен при неправильном распознавании иногда:
1) заменять правильный символ не правильным. Например вместо «captcha» выдавать «cagtcha».
2) не видеть тот символ, что есть. Например вместо «captcha» выдавать «cptcha».
3) выдавать лишний символ в тексте каптчи. Например вместо «captcha» выдавать «camptcha».
И каждая из этих ошибок должна встречаться примерно одинаковое количество раз.

Основные ошибки и способы их устранения

Количество букв, выданных модулем очень мало, либо их нет, вообще
1) При этом обучение прошло хорошо, т.е. зеленый график был около максимума, а красный и желтый опустились к нулю.
* Возможно вы установили параметр «минимальное расстояние между символами» слишком большим. В таком случае, редкие распознанные символы будут правильными. Т.е. вместо текста «amcaptchatext» модуль будет выдавать что-то типа «aathet». *Возможно вы что-то напутали в фильтрах или с центрами масс. У вас получается, что модуль хорошо обучился на символы, но на самой каптче он эти символы либо не встречает, либо встречает не в том виде, на который обучен. Самый простой случай - в фильтрах вы сделали изменение размера каптчи, а к символам эти фильтры применить забыли. В итоге модуль учится на меленькие символы, а на каптче ему показывают большие.
*Возможно, центры масс определяются не там, где вы определяли центры символов при их сборе. Если так, то вы это увидите в тесте центров масс, кликая по капче в местах найденных центров масс. Там отклика у модуля не будет, но он будет где-нибудь ниже или выше найденных центров масс. Это можно попытаться исправить без переобучения - увеличить разброс центра масс и кол-во дополнительных точек так, чтобы они начали попадать на те места, где модуль распознает символ. Либо переобучить модуль с увеличенным разбросом центра символа вместо (вместе с) увеличения разброса у центра масс.
2) При обучении зеленый график был близок к желтому. Красный был почти на нуле.
Читайте про исправление такой ситуации в разделе обучения.

Количество букв, вполне подходит, но они все (или большинство) не правильные
Если при этом обучение прошло хорошо, то, возможно, это проявление ошибки распознавания символов номер (3) - ложное срабатывание. Если так, то в тесте центров масс, кликая в центры символов вы будите получать правильный ответ модуля, но кликая в центры масс, которые лежат рядом, не в центре символа, модуль будет выдавать кучу других символов, которых там нет.
Лечится переобучением с увеличением параметра, отвечающего за предотвращение ложных срабатываний.

Букв очень много, и они все не правильные. Некоторые буквы могут повторяться по нескольку раз подряд
То же что и предыдущая ошибка, только еще параметр «минимальная дистанция между символами» слишком маленький.

Внутри выданного модулем текста виден правильный текст, но он прорежен неправильными символами
1) Параметр «минимальная дистанция между символами» слишком мал.
2) Слишком много ошибок распознавания символов (3) В разделе обучения написано как уменьшить количество этих ошибок.
3) Слишком низкий порог принятия символа.
4) Комбинации 1, 2 и 3.

ru/addons/capmonster/learning/recognition-testing.txt · Последние изменения: 2015/07/14 15:51 (внешнее изменение)