はじめに
IQ Botでフィールド項目をマッピングする3つの方法のうち、この記事では「相対座標によるマッピング」について解説します。
相対座標によるマッピングとは
相対座標によるマッピングは、ラベルと値の位置関係を人が明示的に指定するやりかたです。
以下の動画で行っているマッピングの方法が、相対座標によるマッピングです。
(最新バージョンのIQ Botには、「Draw」というボタンはありません。「フィールド値」にカーソルが当たった状態でマッピング領域を選択する操作になります)
動画の字幕からは、「ほしい値が一部しかとれていない場合」や「IQ Botが値を間違って取得してきた場合」のみに適用する方法かのように見えてしまうかもしれませんが、実際には違います。
実はフィールド項目に関しては、相対座標によるマッピングを行った方がいい場合がほとんどになります。
相対座標によるマッピングのメリット
相対座標によるマッピングを行うことで、フローティングによるマッピングの問題点を回避することができます。
以下の記事で「フローティングの注意点」の具体例に示した帳票を、相対座標でマッピングする場合を具体的に見てみましょう。
具体例
請求書1では、送料の値をIQ Botが自動取得してくれています。
ですが、相対座標によるマッピングをする際は、あえて送料の入るべき範囲を手動で明示的にマッピングします。
すると、IQ Bot は「送料」というラベルの位置に対して、明示的にマッピングされた位置関係にある項目を認識しようとします。
これによって、請求書2のような帳票でも、正しい値を認識することができます。
より正確に言えば、このケースはマッピングされた場所に値はないので、値がないことを正当に認識することができます。
相対座標によるマッピングの応用
フローティングによるマッピングの解説では、以下のような手書き帳票の具体例も挙げました。
このケースでも、相対座標によるマッピングが有効ですが、少し応用的なマッピングを考える必要があります。
おそらく多くの人が直感的に思い浮かべるのは、以下のようなマッピングだと思います。
こうしておけば、フローティングでは正しく取得できなかった帳票2の「どこでも太郎」さんのケースに関しては、正しく値を取得することができます。
ところが、ラベルと値がくっついてしまっていた帳票3の「どこでも次郎」さんのケースは、このやりかたでは正しく取得できません。
このようなケースに関しては、以下の記事で解説した方法でマッピングをする必要があります。
今回の帳票に関しては、以下のようにマッピングをします。
こうしておくと、下記のどのパターンであっても正しく値を取得することができます。
まとめ
以上が、相対座標によるマッピング方法の解説になります。
IQ Bot を使ってフィールド項目をマッピングする場合、最も実用的なのが、この相対座標によるマッピング方法です。
実際には、以前に解説したフローティングと、もうひとつ、固定座標によるマッピングの方法(記事は準備中)がありますが、筆者が実際にIQ Bot を使うときは、フィールドのほとんど全項目を相対座標でマッピングしています。