質問
FlexiCaptureとFlexiLayoutでの正規表現の使い方を教えてください。
回答
FlexiCapture、FlexiLayoutでは正規表現の使用方法の概念・コツが異なります。
画像上で読み取る位置が画像上の要素の相対関係によって完全に決まっている場合は、FlexiLayoutでは区域: Region Elementを読み取る事が推奨されます。
FlexiLayout上では、基本的に、読み取る位置が画像上の要素の相対関係では不明な場合、正規表現を用います。
詳しくは、下記の記事をご覧ください。
FlexiCapture で FlexiLayout からエクスポートした定義を元に文字をできるだけ正確に読み取りたい時の基本的な考え方を教えてほしい
FlexiCaptureでは正規表現は「読み取りの精度を高める」為に使用します。
FlexiLayoutでは正規表現は「目的の要素を拾う」為に使用します。緩めに設定します。何故なら、FlexiLayoutはページ全体を多種多様・複雑なレイアウト、点、罫線、言語など多岐に渡る印刷された要素をAIにて考慮して読み取るため、読み取りに失敗する場合がある為です。
ですので、FlexiLayout は FlexiCapture に読み取る位置を指定してブロックで渡し、FlexiCapture 側で読み取る際に設定を行い、精度を高める、という使用方法が基本となります。
- FlexiCaptureでは欲しい読み取り結果を厳密に設定
- FlexiLayoutでは拾いたい読み取り結果を読取間違いも考慮して画像品質によって使い分ける設定
正規表現サンプル集
パターン | FlexiCapture、高品質の画像向き | FlexiLayout向き |
1文字以上の文字何でも | ||
*{1-} | *{1-} | |
郵便番号 | ||
123-4567 | N{3}"-"N{4} | *{3}("-"|"―"|"ー")*{4} |
〒123-4567 | ("〒"|"T"){1}N{3}"-"N{4} | ("〒"|"T")*{3}("-"|"―"|"ー")*{4} |
電話番号 | ||
123-4567-8901 | N{1-4}"-"N{4}"-"N{4} | N{1-4}("-"|"―"|"ー")N{4}("-"|"―"|"ー")N{4} |
*{1-4}("-"|"―"|"ー")*{4}("-"|"―"|"ー")*{4} | ||
TEL: 123-4567-8901 | "TEL:"N{1-4}"-"N{4}"-"N{4} | "TEL"*{2-} |
電話番号:123-4567-8901 | "電話番号:"N{1-4}"-"N{4}"-"N{4} | "電話番号"*{2-} |
銀行口座 | ||
1234567 | N{7} | N{7} |
普通 1234567 | ("普通"|"当座")N{7} | ("普通"|"当座")N{7} |
(当) 1234567 | "("{1}("普"|"当"){1}")"{1}N{7} | ("("|"(")("普"|"当")(")"|")")N{7} |
メールアドレス | ||
taro.abbyy@abbyy.com | ([a-z]|[A-Z]|N|"_"|"."){2-}"@"([a-z]|[A-Z]|N|"_"|"."){2-}"."([a-z]|[A-Z]|N|"_"|"."){2-}(([a-z]|[A-Z]|N|"_"|"."){2-}){0-} | *{2-}"@"*{2-}"."*{2-}(*{2-}){0-} |
URL | ||
https://www.abbyy.com/ja-jp/ | "http"{1}"s"{0-1}"://"(("www")|(([a-z]|N){2-}))"."([a-z]|N){2-}(("."|"/"){0-}[a-z]|N|"-"|"_"){0-}"/"{0-1} | "http"{1}"s"{0-1}*{2-} |
日付 | ||
令和2年3月15日 | ("令和"|"平成"|"昭和"|"大正"|"明治")N{1-2}"年"N{1-2}"月"N{1-2}"日" | ("令和"|"平成"|"昭和"|"大正"|"明治")*{6-} |
2020年11月21日 | N{4}"年"N{1-2}"月"N{1-2}"日" | N{4}"年"N{1-2}"月"N{1-2}"日" |
サンプルプロジェクトを添付しています。
詳しくは下のリンクからご入手できるサンプルプロジェクトをご覧ください。
*ご覧になるには、バージョン12.0.2.3118以上の FlexiCaptureが必要です。
コメント
0件のコメント
サインインしてコメントを残してください。