OCRで文字データ化した請求書の会社名を取得する方法

質問失礼します。
今回UipathStudioProにて請求書をOCRで文字データ化して、
そこから会社名や金額などを取得したいのですが、○○株式会社などピンポイントに取得することは可能でしょうか?使用するアクティビティややり方をご教授しただけると幸いです。
ずっと調べてはいるのですがタクソノミーマネージャーを使ったほうがいいのでしょうか?
よろしくお願いいたします。

一致アクティビティを使用して、パターンを作成します

1 Like

@K400H

こんにちは

フォーラムへようこそ

OCRの精度は画質に依存します。カラー画像かどうかを最適化してから、画像アクティビティを使用してグレースケールで試してください。

結果が抽出されたら、正規表現関数を使用してコンテンツを抽出できます

このようにして、結果を改善することもできます。UiPathドキュメントの理解アクティビティも試すことができます。

これがお役に立てば幸いです

ありがとう

1 Like

コメントありがとうございます。
Matchesのアクティビィ詳しく調べて作成してみます!
また質問させていただくかもしれませんがよろしくお願いいたします。

コメントありがとうございます。
初心者なので詳しく教えていただき、助かります。
一応OCRの結果を右下の出力に表示させることはできました!
そこから会社名や金額を取得したいのですが、正規表現関数というものを使用すればよい感じなのでしょうか。
よろしくお願いいたします!

1 Like

Sure…

問題も解決しましたが、OCRの精度は OCRエンジンより違います。
よろしければ、以下のページを参照してください。

2 Likes

コメントありがとうございます。
調べている最中にその記事読みました!
とても使いやすくかなり精度も高かったです!

2 Likes

こんにちは。
質問失礼いたします。
Matchesアクティビティにて株式会社の前後の会社名を取得するのはどのように使用すればよいでしょうか?
下記例です。

○○株式会社御中
請求日令和2年12月19日
合計金額¥30,000(税込)

ここの○○部分だけ取得したいです。
あらかじめ名前が分かっていないと取得は難しいでしょうか?

よろしくお願いいたします。

こんにちは

以下のパターンを試してみてください。

"\w+(?=株式会社)"

\は円マークです。
\wは通常文字にマッチし、記号にはマッチしませんので、試すときは適当な会社名を入れてみてください。

1 Like

コメントありがとうございます。
正規表現の値の所に入力すればよろしいでしょうか?
テスト用テキストと正規表現は何を選択すればよろしいでしょうか。
お手数をおかけします。

よろしくお願いいたします。

こんにちは

やり方が何通りかありますが、
手っ取り早く、代入アクティビティを使うなら

companyName = System.Text.RegularExpressions.Regex.Match(yourString,"\w+(?=株式会社)").Value

としてみてください。

コメントありがとうございます。
Matchesアクティビティは使用しないで代入で直接拾う形でしょうか?

こんにちは

上記の式はそうです。
Matchesアクティビティを使っても可能ですが、返り値がIEnumerable<Match>型なので、展開にFor Each等が必要になります。

様々なやり方があるのですね!
代入で入力してみたところできました!
ありがとうございます。

更に質問で申し訳ないのですが
株式会社○○などあと株の時の入力方法もお伺いしてもよろしいでしょうか?

こんんちは

前株の場合は

"(?<=株式会社)\w+"

になります。

間違えてあと株と言ってしまいました。

ありがとうございます!
大変助かりました。

こんにちは。
度々質問失礼します。
下記画像のように株式会社が二つある場合、両方、あるいは任意の社名を拾うことは可能でしょうか。
よろしくお願いいたします。

こんにちは

上述したMatchesアクティビティを使えば、複数の結果が返ってきます。

コメントありがとうございます。

ここでMatchesのアクティビティを使用するのですね。
少し前に質問させていただいたのですが、下記内容について教えていただけると幸いです。

・テスト用テキストと正規表現は何を選択すればよろしいでしょうか。

お手数をおかけし申し訳ございません。
よろしくお願いいたします。