Automation 360のOCR(ABBYY)で遊ぶ


はじめに

Automation 360のOCRはどれくらい使えるの?という質問を受けて、OCR(ABBYY)の設定を調べてみました。
半日くらいしか調べていませんが、わかった範囲の事を記録しておきます。
なお、私はAutomation Anywhere社の人間でも、ABBYY社の人間でもありません。Web上の情報とAutomation 360で動かしてみての結果であるため、まだまだ不十分の可能性があります。何かご指摘あればお願いします。

OCR(ABBYY)を使うときに必須の設定

先達の有用な情報があります(感謝)。

重要な点は以下。

[RecognizerParams]
TextLanguage=JapaneseModern

※これがないと日本語英語混じりの文で英語が読み取れない

それ以外の設定

まず、Automation 360はABBYY FineReader 12を同梱しています。このFineReaderの設定についてはABBYY FineReader Engine User's Guideを見ました。

とにかく情報を多く取りたい

[PageAnalysisParams]
EnableTextExtractionMode = TRUE

[ObjectsExtractionParams]
EnableAggressiveTextExtraction = TRUE
DetectTextOnPictures = TRUE

https://support.abbyy.com/hc/en-us/articles/360004955899-EnableTextExtractionMode-prev-FlexiFormsDA-
ここに、V10のFlexiFormsDA指定のようにできるだけ情報を取りたいときはV12では上記の3つを指定してと書いてある。

ただ、EnableTextExtractionMode=TRUEを指定すると、表を検知しなくなります。
例えば以下の画像(情報処理試験の過去問)をOCRしたとき...

EnableTextExtractionMode有効
問19イーサネットにおいて,ルータで接統された二つのセグメント間でのコリジョンの
伝搬と,宛先MACアドレスの全てのビットが1であるブロードキャストフレームの
中継について,通切な組合せはどれか,
コリジョンの伝搬
ブロードキャストフレームの中縷
ア
伝搬しない
中継しない
イ
伝搬しない
中継する
ヴ
伝搬する
中維しない
伝搬する
中耕する
EnableTextExtractionModeなし
問19イーサネットにおいて,ルータで接統された二つのセグメント間でのコリジョンの
伝搬と,宛先MACアドレスの全てのビットが1であるブロードキャストフレームの
中継について,適切な組合せはどれか,
	コリジョンの伝搬	ブロードキャストフレームの中析
ア	伝搬しない	中継しない
イ	伝搬しない	中組する
ヴ	伝搬する	中維しない
X	伝搬する	中掛する

表の形をできるだけ活かしたい場合は、EnableTextExtractionModeを指定しない方がよさそうです。

原稿が斜めになっていても読み取りたい

[PrepareImageMode]
CorrectSkew = TRUE

※ただしデフォルトがTRUEなので指定せずとも傾いた原稿はOKです。

画像の上の文字も読み取りたい

[ObjectsExtractionParams]
DetectTextOnPictures = TRUE

例えば

こんな画像があったとして、一番上の
「フォーラムトピック
ソリューションを検索、情報を共有、サポートを依頼できます。」
という部分は、
TextLanguage=JapaneseModern
だけでは読みとれませんが、
DetectTextOnPictures = TRUE
を入れると読めます。

縦書き日本語

これは特にini触らずともデフォルトで認識してくれました。

さいごに

正直、これはAutomation Anywhereの話ではないですね。
ABBYY FineReaderの設定は非常に多くて、全部は見切れません。何かおもしろい設定があったら、追加していきます。