投稿

ラベル(Document AI)が付いた投稿を表示しています

Google Natural Language API を利用して固有表現とその付加情報(ナレッジグラフなど)を抽出する

イメージ
本記事では、Googleが提供しているCloud Natural Language API のエンティティ分析を利用して、テキストから人名、地名などの固有表現とその付加情報(ナレッジグラフやWikipediaへのリンクなど)を抽出してみます。 【目次】 [1]はじめに [2]GCPプロジェクトの準備 [3]APIの仕様 (1)LanguageService の利用 (2)AnalyzeEntities メソッド (3)引数:AnalyzeEntitiesRequest (4)AnalyzeEntitiesRequest.encoding_type (5)戻り値:AnalyzeEntitiesResponse (6)Entity.type (7)Entity.metadata (mid,wikipedia_url他) (8)Entity.mentions [4]Pythonクライアントライブラリの利用 (1)準備 (2)エンティティ分析の実行と結果確認用コード (参考)分析結果をJSONファイルに保存、再現する方法 [5]エンティティ分析例 (1)Wikipediaの固有表現抽出にある例 (2)英語の文:"California is a state." (3)日本語の地名を含む例 (4)異なる漢字だけど同じエンティティの例 (5)OCRから抽出した表形式データの例 [6]最後に [1]はじめに 本記事では、Googleが提供しているCloud Natural Language API を利用したエンティティ分析(Entity Analysis)を取り上げます。 ここで、「エンティティ分析って何なの?」については、Googleのドキュメントに以下のように書かれています。 エンティティ分析は、指定されたテキストに既知のエンティティ(著名人、ランドマークなどの固有名詞)が含まれていないかどうかを調べて、それらのエンティティに関する情報を返します。 詳しくは以下のドキュメントを参照して下さい。 エンティティ分析 https://cloud.google.com/natural-language/docs/analyzing-entities そもそも、「これは何に使えるのかな?」という素朴な疑問については、テキストからの情報抽出や情報検索などに...

Google Document AI で文書画像からフォーム要素(キー名とその値)を抽出する

イメージ
本記事では、Document AI の汎用的な Form Parser を利用した簡単な実験を通して、文書画像から抽出できる情報を見ていきます。 【目次】 [1]はじめに [2]実験準備 (1)環境準備 (2)フォーム解析結果のデータ構造 (3)本記事で利用するユーティリティ関数 [3]Google のサンプル画像解析例 (1)画像データの準備 (2)解析の実行と結果確認 [4]Google フォームの画像解析例 (1)画像データの準備 (2)解析の実行と結果確認 (3)修正した画像で解析の実行と結果確認 [5]表形式の画像解析例 (1)画像データの準備 (2)フォーム解析の結果確認 (3)Google Knowledge Graphとの関係 [6]罫線のない表形式画像の解析例 (1)画像データの準備 (2)解析の実行と結果確認 [7]最後に [1]はじめに OCR(Google ならVision APIなど)を利用すると、画像から文字を抽出することができます。小説のような文章中心の文書をスキャンする場合は、OCRの機能で十分な場合が多いと思います。 一方、例えば、請求書をスキャンする場合は、そこに書かれている全ての文字を列挙したいわけではなく、請求元や請求日、各金額などの必要な項目をコンピュータで再利用しやすい形式で抽出したい、ということではないかと思います。 つまり、請求書などのようなテンプレート(様式?、フォーム?)にそった文書をスキャンする目的は、そこに書かれている「文字」を抽出することよりも、そこに書かれている「情報」を抽出することだと思います。 (多くの場合、様式といわれるような文書は、アンケートのように、質問と回答のペア(キー/バリューで表現)で効率よく情報を取得できるように作られていると思います。) Google の Document AI は、このような、文書画像から、OCRより一歩踏み込んだ情報を抽出することを目的としているようです。 Document AI( https://cloud.google.com/document-ai ) また、Document AI の動機や技術的な仕組みは以下のブログで触れられています。 Extracting Structured Data from Templatic Documents https...

Google Document AI の Python クライアントライブラリを利用して画像から表形式データを抽出する

イメージ
本記事では、Google Document AIを利用するための準備作業、Pythonクライアントライブラリを利用したAPIの呼び出し方、そして文書画像に対するテーブル解析の結果をみていきます。 【目次】 [1]はじめに [2]GCPプロジェクトの準備 [3]プロセッサの準備 (1)プロセッサの選択 (2)プロセッサの作成手順 (3)Cloud Console でプロセッサの動作を確認 [4]APIの仕様 (1)DocumentProcessorService.ProcessDocument メソッド (2)引数:ProcessRequest (3)戻り値:ProcessResponseとTable [5]Python クライアントライブラリの準備 [6]Python クライアントライブラリを利用した解析サンプル (1)DocumentProcessorService.ProcessDocument を利用する方法 (2)サンプル画像 (3)解析結果の確認 (参考)レスポンスデータ(ProcessResponse)をJSONファイルで保存、再現する方法 [7]最後に [1]はじめに Google の Document AI を利用すると、文書画像から、OCRより一歩踏み込んだ情報を抽出することができそうです。 Document AI( https://cloud.google.com/document-ai ) 以前の記事で、Document AI を利用して、文書画像の中にある表形式のレイアウトが認識される例を見ました。 Google Document AIで画像から表形式データを抽出する(Vision API OCRとの違い) この記事では、以下のサイトを利用して無料でテーブル解析を行って、Vision API のOCRとの違いをみました。 試してみましょう(Try it!) https://cloud.google.com/document-ai/docs/drag-and-drop この記事を書いた時点では、APIがベータ版でしたが、現時点ではv1になっているようです。 そこで本記事では、Google Document AIを利用するための準備作業、Pythonクライアントライブラリを利用したAPIの呼び出し方、そして文書画像に対するテーブル解析...