EXCELへのOCRの抽出結果を形成した上で書き込むやり方を教えていただけると幸いです。
以下のような、表をOCRで読み取り、EXCELに抽出はできています。
列 1 |
列 2 |
列 3 |
列 4 |
A |
優秀 |
A |
A |
B |
普通 |
B |
B |
D |
劣等 |
C |
E |
A |
優秀 |
A |
B |
しかしながら、日本語のOCRエンジンの精度が高くないため、英数字および日本語でそれぞれ異なるエンジンで読み取るようにしています。
構成としては英数字のエンジンで読み取り、EXCELに出力後、日本語のエンジンで読み取り、EXCELに出力しております。
英数字のエンジンでは日本語もマーキングしておりますが、読めなく空白もしくは[66VTE]などのよく分からない文字が出力されています。以下のようなイメージです。
【英数字エンジン】
列 1 |
列 2 |
列 3 |
列 4 |
E |
F |
G |
H |
A |
|
A |
A |
B |
66VTE |
B |
B |
|
|
|
|
|
|
|
|
日本語エンジンでは日本語のみ読み
列 1 |
列 2 |
列 3 |
列 4 |
優秀 |
普通 |
劣等 |
優秀 |
英数字エンジンと日本語エンジンで出力したEXCELを突合させたいと考えています。
UiPathでのEXCELの形成方法を教えていただけると助かります。
また、可能であれば、EXCELではなくスプレッドシートで実現したいと思っており、併せてご存知であれば教えていただけると幸いです。
Yoichi
(Yoichi)
2
こんにちは
上記ですと厳密な出力がわかりませんので
1入力データの画像
2英数字エンジン、日本語エンジンそれぞれの出力のxlsx
を共有いただくと良いかと思います。
返信いただきありがとうございます。
上記のはあくまで例のため、以下に塗りつぶした上で共有いたします。新規ユーザーはアップロードできないため、画像を共有いたします。
1入力したデータの画像
Yoichi
(Yoichi)
6
上記ですが、どのアクティビティを使って抽出したものでしょうか?
別のトピックでDocumentUnderstandingの話が出ていましたが、それを使用していますか?
そうであればフォーム抽出器で表として指定・抽出できるのではと思いますが、そのようにはされていないのでしょうか?
DocumentUnderstandingを使用しておりますが、フォーム抽出器で表として指定しておりませんでした。表指定する場合はタクソノミーマネージャーで定義した上で、フォーム抽出機で設定する認識であってますでしょうか?
英数字エンジンで日本語を読み取れないことから、以下画像のように設定してました。
性格パターンの数字が2つあるものや運転タイプにおいて日本語が読めないことを考慮して、どこが間違っているかを分かるようにする意図で設定しています。
Yoichi
(Yoichi)
8
そもそもになりますが、OCRエンジンは何を使用していますでしょうか?
UiPath Extended Langunage OCRが使えるなら、言語を意識する必要はありませんし、ローカル環境でのOCRであればOmniPageOCRのような選択肢もあると思いますが。
ありがとうございます
現状以下エンジンを使用しております
英数字エンジン:UiPath Document OCR
日本語エンジン:UiPath Extended Langunage OCR
UiPath Extended Langunage OCRにおいて日本語を読み取れることは存じ上げており、試しておりますが、表の|を読み取ってしまうことや精度がUipath Document OCRに比べて低いことを考慮して分けていました。

Yoichi
(Yoichi)
10
行全体を一つのフィールドとして読み込んでいることも要因の一つかもしれません。
OCRでどの範囲を文字列化・単語化しているかにも依存しますが、タクソノミーで表として項目を作成して、表として読み込んだ方が良いように思えます。
ありがとうございます
表としての項目で試してみます
Yoichi
(Yoichi)
12
上記の画像で少し試してみましたが、ExtendedOCRの場合、特に右側の細かい表で、本来別のWordとして扱ってほしい項目(AやBは独立したものとして扱われてほしい)が一つのWordとして扱われてしまい(ABCDのようになっている)、これがこの表の抽出の妨げになっているように思えます。
DocumentOCRの場合は、これらは別のWordとして扱われているので、やはり表として指定した上で、ExtendedOCRで抽出する列と、DocumentOCRで抽出する列とをそれぞれで指定して、最後に2つの結果をマージすれば良いように思えます。
ご提案いただいたように、抽出対象の列をExtendedOCRとDocumentOCRそれぞれで指定し、最終的に結果をマージする方法について、早速検討を進めていきます。ありがとうございます。