Excelの表の読み込みについて

FAXで届いた注文書をExcelに転記するロボットを制作しています。
当初はUipathのOCRで読み込めないかと思ったのですが、デジタル化の際に何度やってもエラーになり、そちらは断念しました。

その為、変換できるサイトへPDFデータをアップロード→変換後Excelデータをダウンロードして、社内用のExcelに転記するような形に変更しました。

精度は高くないものの、最低限取れてほしい値は取れるのですが、元々のフォーマットの作り上、注文書の内容を読み取るのに苦戦しています。主な問題点は以下です。

①注文内容の表の最初の行が注文書ごとに変わってしまう。
これは表より上に発注元等の他のデータが載っているのですが、毎回Excelに変換すると数行分ズレて変換されてしまい、表の範囲が変わってしまうためです。

②注文内容の表の、項目行の下に1行空白行があり、そこで値の読み込みが終了してしまう

③注文内容の表が1商品に対して、2行ずつある

①~③を解決して、Excelに転記する方法はあるでしょうか?
データ抽出したいのは、商品コード、配送先場所コード、発注数量の3つだけです。

そもそものPDFの作りやExcelに変換した精度がかなり低いので、やはり難しいでしょうか…?

こんにちは

コストをかけれるならDocument Understanding使うと良いかと思いますが、いかがでしょうか?

当初はUipathのOCRで読み込めないかと思ったのですが

どのOCRエンジン使ったのでしょうか?

Yoichiさん、いつもありがとうございます。
今のところ、コストをかけられる見込みは薄いですが、一応検討はしてみます。
こちらはかなり精度が高いのでしょうか?

OCRエンジンは、以下を試したのですが、いずれもテンプレート作成のデジタル化「ドキュメントの処理中にエラーが発生しました」と表示されます。

・UiPath Document OCR
・OCR for Chinese,Japanese and Korean
・Tesseract OCR

該当の注文書以外のPDFを利用したい際は、テンプレートマネージャーが起動したので、
やはり元のPDFが上手く読み取れないのかなと思っております。

こんにちは

使っているアクティビティはこちらでしょうか?これでしたらDocumentUnderstandingの一部かと思います。

https://docs.uipath.com/ja/activities/other/latest/document-understanding/digitize-document

あるいは後続のフォーム抽出器でしょうか?

Tesseract OCRはともかく、他の2つはそこそこ精度が良いと思いますので精度の問題ではないかもしれません。他に試すならGoogleCloudVisionあたりでしょうか

おはようございます。

はい、アクティビティとしては「ドキュメントをデジタル化」と「フォーム抽出器」の中のテンプレートを管理でOCRを使っています。以下のサイトを参考にして、フローは作成しました。

Google Cloud Visionも試したかったのですが、Google Cloud Platformを利用していないため、APIキーを取得できませんでした。

こんにちは

「ドキュメントをデジタル化」で問題なければ、デジタイズ自体はできていると思います。
ドキュメントテキストに読み込んだテキストが格納されているので、必要なデータ自体の有無はこちらで確認できると思います。

後続のフォーム抽出器でうまくいかないのであれば、何かフォーム抽出器の設定あるいはそれ自体に問題があるのかもしれません。

こちらで解消が難しいようでしたら最初に記載いただいているEXCELでのアプローチになるかもしれませんが、こちらはダミーでも結構ですので実例を挙げていただくと良いかと思います。(入力と期待する出力)

ありがとうございます。

「ドキュメントをデジタル化」のとこで、確認したところすでにエラーが出ていました。

ドキュメントをデジタル化: One or more errors occurred. (One or more errors occurred. (Invalid CJK server configuration. Neither async nor sync endpoints are enabled. MicrosoftAzureComputerVisionErrorRunEngine))

ただ、ドキュメントを別のPDF(テキストとして読み取れるもの)に変更したところ、上手くいったので、やはり元ファイルの問題かもしれません。元ファイルはFAXで受信したPDFの為、テキストとしては読めず画像になっています。

入力するPDFは本物の注文書PDFしかないので提示が難しいのですが、Excel変換して抽出したい値としては、最初の画像の部分になります。
サンプル.xlsx (11.6 KB)
ただ、こちらのExcelも無料のWebサイトで変換したので、文字化けも多く、毎回の精度にかなりバラつきがあります(値の行が毎回変わったり等)。。。

テキストとして格納されているPDFはOCRを通りませんので、何かOCRに問題ある可能性はないでしょうか?
たとえば以下の画像を入力としたとき正しく動作しますでしょうか?動作しないようであれば設定など何か問題があると思います。

上記エクセルでアプローチする場合は、最初に必要な文字列がどこにあるかを探して
そこを起点に他を探しに行くというロジックになるのではないかと思います。

画像データでも試してみましたが、エラーになりました。
となると、OCRの設定がどこかおかしいのでしょうか…。
もう一度フローを作成し直してみてみます。

こんにちは

Tesseract OCRでもエラーが出ますか?こちら端末内で完結するので、Tesseract OCRが動いて他2つが動かないのであれば通信周りの問題かもしれません。

Tesseract OCRに変更したところ「ドキュメントをデジタル化」ではエラー出ていないです。
ただ、実際値が取れているのか確認したいのですが、メッセージボックスで値を表示するのは難しいのでしょうか?値は一旦、変数に格納して、以下のようなフローになっているのですが、メッセージボックスのところで止まってしまって表示されません。

ドキュメントテキストにOCRの結果は格納されると思いますが、これが大きいとメッセージボックスでは表示できません。中身を確認する必要がある場合は、テキストファイルに書き込みアクティビティで一度テキストファイルに出力し、メモ帳等で確認してみてください。

あとTessarctOCRで通るということはクラウドOCRへの通信に問題がある可能性があるかと思います。例えば企業ネットワークから使っているのであれば、プロキシが適切ではない、あるいは送信サイズ制限でブロックされている等が疑われます。

ありがとうございます。
ドキュメントテキストをテキストファイルに吐き出すようにしたところ、TessarctOCRでデバックするとエラーは発生しないのですが、内容ではなくエラーメッセージが入力されました。これはやはりOCRの設定が正しくされていないということでしょうか?ちなみに、他のOCRはエラーが出て、同様のメッセージがエラーログで表示されます。

HOFESTENET, [EFAS PEFSHIUG] OETT, BREULEETSI TICIS AH TOELE,

| REX MEFS)UE: One of more errors occurred. {One or more errors ocourred. (invalid GJK server configuration.
Neither async nor sync endpoints are enabled.
MicrosoftAzureComputerVisionErrorRunEngine))

もし可能でしたら、サンプルでよいのでプロジェクト一式共有可能でしょうか?
プロジェクト側の問題か、UiPathあるいは端末側の問題かの切り分けができると思います。

お手数をお掛けして、すみません。
ファイルの情報やAPIキー等を外したものをお送りします。
注文書テンプレート.zip (5.1 KB)

TessractOCRの言語指定が正しくないように思えますが、これでエラーがでていなかったでしょうか?

単純にはまずは上記で動くかの確認からいただくのが良いと思います。
TessractOCRの日本語の辞書設定ができていなければ空欄でも結構です

言語を"jpn"にしたのですが、以下のエラーが表示されました。
ドキュメントをデジタル化: One or more errors occurred. (Error performing OCR: InvalidInputLanguage)

以前、同様の投稿があったようなのですが、保存先の「app-」は今は違う場所なのでしょうか?見当たりませんでした。

C:\Users\ユーザ名\AppData\Local\UiPath\app-バージョン\

Per User Installでしょうか?(%USERPROFILE%以下に実行ファイルがありますか?)

そうであれば、Windowsプロジェクトの場合、以下のフォルダを作成してtraindataを設置してみてください。

C:\Users\[ユーザー名]\AppData\Local\Programs\UiPath\Studio\tessdata

実行ファイルというのは、UiPath.Studio.exeのことでしょうか?
こちらでしたら、以下にあります。

C:\Users[ユーザー名]\AppData\Local\Programs\UiPath\Studio
ただ、Studioの配下にtessdataフォルダはありません。

>そうであれば、Windowsプロジェクトの場合、以下のフォルダを作成してtraindataを設置してみてください。

C:\Users\[ユーザー名]\AppData\Local\Programs\UiPath\Studio\tessdata