Amazon Web Services は、スキャンした文書をテキストに変換するサービスである Textract の一般提供を発表しました。
光学文字認識(OCR)は、多くのアプリケーションに組み込まれている成熟した技術です。例えば、スキャンした文書をMicrosoftのOneNoteに挿入すれば、「画像からテキストをコピー」して、適切な結果を得ることができます。
Textractには多くの利点があります。APIを使用することで、ドキュメントを一括処理またはワークフローの一部としてプログラムで変換できます。Amazon TranslateやAmazon Comprehend(Amazonによると、「テキスト内の洞察と関係性」を見つける機械学習サービス)などの他のAWSサービスと連携して使用できます。もう1つの関連サービスとして、Elasticのオープンソース検索エンジンであるElasticsearchがあり、テキストの検索と分析が可能です。
Textract を使用してデータベースにデータを入力することもできます。この機能は AWS によって強調されています。「Amazon Textract は単純な光学式文字認識 (OCR) を超え、フォーム内のフィールドの内容、テーブルに保存されている情報、および情報が提示されるコンテキストを識別します。」
Textractワークフローの例
表認識機能の結果は、対象の文書がTextractの「事前学習済み学習モデル」のいずれかに一致するかどうかによって左右される可能性が高い。同社によると、同社の機械学習システムには「契約書、税務書類、受注書、加入申込書、給付金申請書、保険金請求書類、保険証券など」数千万もの文書が入力済みだという。システムに馴染みのある文書をアップロードすれば、良好な結果が得られるはずだ。しかし、未知の文書をアップロードすると、より多くの作業が必要になるだろう。
Textractは通常API経由で使用されますが、AWSには便利なデモページも用意されており、スキャンした文書をアップロードして結果を確認できます。筆者は、少し扱いにくい文書を使って簡単に試してみましたが、結果は特に目立ったものではありませんでした。
Eric Meyer著のCSSに関する書籍から、色付きのテキスト、コード、例の表などが掲載されたページを選びました。Textractは基本的なテキストについてはまずまずの結果を出力しましたが、Fadingが「ading」に変わり、「so」がなぜか大文字になってしまいました(OneNoteは正しく認識しました)。また、表はTextractが認識できるほど明確ではありませんでした。別の文書では銀行手数料の表も試してみましたが、Textractはそれを表として認識できませんでした。おそらく、表の種類が間違っていたのでしょう。ドキュメントには、「文書内の表は、ページ上の周囲の要素から視覚的に分離されている」ことを確認するようにアドバイスされています。
Textractの最も一般的なユースケースである標準形式のドキュメントであれば、不完全な部分を考慮してコーディングできます。Textractはドキュメントをブロックの集合に分割し、各ブロックは単語、行、表、キーと値のペアなどの要素を表します。また、信頼度レベルも表示されるため、手動による介入が必要なドキュメントを特定できます。AWS GitHubリポジトリにコードサンプルがあります。
Textract APIは同期または非同期の方法で呼び出すことができます。ビットマップ画像の最大サイズは5MB、PDFは500MB、垂直方向からの回転は10%以内、手書き認識はできないなど、いくつかの制限があります。
AWS Textract には、Detecting Document Text API を使用した場合は月あたり最大 1,000 ページ、Analyze Document Text API を使用した場合は月あたり最大 100 ページまでの無料利用枠が用意されています。®