OCRとGoogleBooksAPIを使用した書籍のメタデータとカバーの取得
KNIME を使用すると、画像から重要な情報を抽出することが ABC と同じくらい簡単になります。
By ロベルト・カディリ、データ サイエンティスト、KNIME & ラダ・ルドニツカイア、データサイエンティスト、KNIME
図 1: OCR のおかげで情報を抽出できる書籍版の通知の例。
ほとんどの場合、データ サイエンス プロジェクトに必要な生データは、適切に構造化された洞察に満ちた表に整理されていません。 むしろ、これはスキャンした文書にテキストとして保存されることがあります。 次に、ドキュメント内の単語を XNUMX つずつ抽出して、テキスト形式のデータ セルを形成する必要があります。 これは、光学式文字認識 (OCR) によって実行されるタスクです。
テキストであれ数字であれ、この記事の言葉を読むと、あなたの目は、文字を構成する明暗のパターン (文字、数字、句読点など) を認識してそれらを処理することができます。 あなたの脳は、単語の意味を把握するために、文字とパターンのさまざまな組み合わせを解読しています. その意味で、あなたの目と脳は、あなたが想像できる最も洗練された OCR エンジンであり、あなたが気付かないうちに機能しています。
コンピューターにも同様の機能がありますが、重大な制限に取り組まなければなりません。それは目が無いことです。 コンピュータに物理的なテキスト ドキュメントを表示して読み取らせたい場合は、光学スキャナまたはデジタル カメラで生成されたグラフィック ファイルを入力する必要があります。 コンピュータに関する限り、これらのオプションのいずれかで取得されたドキュメントとエッフェル塔の写真との間に違いはありません。どちらも、コンピュータ グラフィック イメージを構成する色付きの四角形 (ピクセルとも呼ばれます) の無意味な集まりと見なされます。 そのため、後者は、テキスト自体ではなく、私たちが読むつもりのテキストの単なる写真です.
ここでOCRが役に立ちます。 この強力なテクノロジーは、請求書、名刺、法律文書、印刷物など、印刷、タイプ、または手書きのデータを抽出し、検索および編集可能なデジタル形式に変換できます。 2000 年代半ば以降、OCR は高価なサービスと見なされてきましたが、8 年代半ば以降、OCR のコストは徐々に下がり、今日では数百の言語と文字エンコーディングをサポートする精度と機能が進化しています。 、UTF-2312 から GBXNUMX まで。
画像からテキストを検索して抽出できるという利点は、計り知れません。 たとえば、法律業界や会計業界では、記事や財務諸表のテキストや数値の一部を数秒で取得できるため、コストと時間を大幅に節約できます。 このプロセスを、XNUMX つの重要な情報を見つけるためだけに何千ものドキュメントを読むために人員を雇うコストと比較すると、OCR がビジネスにどのように役立つかがわかります。
最近では、このサービスのプロバイダーが AI と組み合わせているため、OCR テクノロジは静かな革命を起こしています。 その結果、データがキャプチャされ、検索可能になり、編集可能になるだけでなく、AI システムが実際にコンテンツを理解して特定のタスクを実行できるようになります。 たとえば、テキストを OCR 処理した後、AI は人間の介入を最小限に抑えて、ニューラル機械翻訳を使用してその翻訳を提供できます。 もう XNUMX つの典型的な例は、異常値検出技術を使用して PDF ドキュメントのコンテンツを OCR 処理した後、不正な請求書を認識することができる監査セクションから来ています。 等々。 この相乗効果により、両方の長所を組み合わせて、プロセスを合理化し、企業とクライアントの生産性を向上させます。
この記事で説明する使用例では、OCR を使用して書籍を識別し、Google ブックス リポジトリから書籍のメタデータを取得します。
より具体的には、以下を見ていきます。
- OCR を実行する方法 KNIME分析プラットフォーム.
- 本のメタデータと表紙を取得するユースケースのために、KNIME の OCR プロセッサと Google ブックス API を統合する方法。
KNIME 分析プラットフォームの OCR
KNIME でテキストを含む画像を OCR するのは非常に簡単な作業です。 必要なのは、インストールするだけです KNIME 画像処理 — Tess4J 統合 あなたのローカルの拡張子 KNIME分析プラットフォーム、ドラッグ&ドロップ テス4J ノードをワークフロー エディターに追加します。
Tess4J ノードは、 Tesseract OCR ライブラリ、最も広く使用されている正確なオープン ソース OCR プロセッサの 1990 つです。 Tesseract は、もともと 2005 年代初頭に Hewlett-Packard Laboratories によってプロプライエタリ ソフトウェアとして開発され、その後 XNUMX 年にオープン ソースになりました。それ以来、Google はこのプロジェクトを採用し、その開発を後援しています。
Tess4J ノードは、Tesseract 3 で実行されます。Tesseract XNUMX は、XNUMX パス手順で文字パターンを認識することによって機能します。
- 最初のパスで、エンジンは個々の文字を認識しようとします。 次に、最初のパスで高い信頼度で認識された文字を学習データとして適応分類器に渡します。 このようにして、適応分類器は、後続のテキストをより正確に認識する方法を学習する機会を得ます。
- ただし、適応型分類器が有用な情報を学習するのが遅すぎて、意味のある貢献ができない場合があります。 この問題を解決し、適応分類器によって取得された知識を活用するために、エンジンは、十分に認識されなかった文字が再度認識される 1 番目のパスを実行します [XNUMX]。
Tesseract 3 は、すべての Unicode 文字 (UTF-8 でコード化された) を処理し、さまざまな言語と書き込みレイアウト (左から右 (英語、イタリア語、ロシア語など)、右から左 (英語、イタリア語、ロシア語など)) でテキストを処理できます。アラビア語、ヘブライ語、ウルドゥー語など) と上から下 (たとえば、日本語、韓国語、中国語など) [2]。
免責事項。 Mac ユーザーは現在、Tess4J ノードを使用できません。 KNIME の開発者は、スムーズな機能の回復に取り組んでいます。
ユースケース: 本のメタデータと表紙の取得
KNIME Analytics Platform で OCR がどのように機能するかについて基本的な理解が得られたので、興味深い使用例を見てみましょう。 いくつかの本の版の通知を示す画像を収集し、この情報を使用して本のメタデータと表紙を取得したいとします。 取得したデータは、たとえば、カスタマイズされたデジタル ライブラリを構築したり、書籍レコメンダー システムをトレーニングしたりするために使用できます。
図 2 のワークフローは、画像の読み取り、OCR 処理、テキスト処理、ISBN 参照の抽出から、書籍のメタデータ、表紙の検索と視覚化まで、すべてのステップを網羅しています。 さまざまな手順を詳しく見てみましょう。
図 2: これ ワークフロー 書籍版の通知に対して簡単な OCR タスクを実行し、Google Books API を使用して書籍のメタデータと表紙を取得します。
1 — 画像データの読み取り
最初のステップは、本の版の通知イメージを KNIME にインポートすることです。 エディション通知は、著作権表示、法的通知、出版情報、印刷履歴、ISBN コードなど、現在の版に関する情報を含む本のページです (図 1)。
メタノード「画像データの読み取り」は、簡単かつプログラム的な方法でこれを処理します (図 3)。 画像ファイルが保存されている場所を識別します リストファイル/フォルダ ノードを使用して イメージリーダー(表) ノードを使用して、イメージを適切にインポートします。 Image Reader (Table) ノードでは、「File Input Column」、つまり、画像が保存されているファイルへのパスを含む列を指定するだけで済みます。 他のすべての構成はデフォルトのままにしておくことができます。
イメージ リーダー (テーブル) は、 KNINE 画像処理 この拡張機能の他のノードと同様に、ノードを右クリックして [View: Image Viewer] を選択し、テーブル ビュー内の任意の画像をダブルクリックするだけで、画像とそのメタデータを含むインタラクティブなビューを提供します。
図 3: メタノードの内部「イメージ データの読み取り」。 イメージ リーダー (テーブル) ノードは、画像をワークフローにインポートし、そのビューでインタラクティブに探索できるようにします。
2 — OCR
書籍版のお知らせの画像ファイルを読み込んだ後、OCR を実行できます。
Tess4J ノードの構成は非常にシンプルで、数回クリックするだけです (図 4)。 の中に 設定 タブで、このノードは、構成ダイアログの「前処理」セクションで「入力画像の傾き補正」ボックスを選択することにより、回転または歪んだ画像を修正する可能性を提供します。 グラフィックファイルが適切に配置されない可能性があるため、通常はそうすることをお勧めします。 さらに、Tess4J ノードは、ボンネットの背後にある XNUMX 値化された画像を自動的に生成します。
次に、「Tessdata パス」を選択します。 デフォルトでは、これは「Use Internal」に設定されており、処理するテキストの言語を選択できます。 この構成では、英語がデフォルトの言語ですが、Tess4J ノードはデンマーク語、イタリア語、スペイン語、ロシア語、ギリシャ語、スロバキア語、ドイツ語、フランス語などの他の自然言語をサポートしています。 「Use External」を選択すると、Tess4J ノードの機能を拡張して、内部でサポートされていない言語を含めることができることに注意してください。 実際、保存先のディレクトリを指定することで、独自の外部トレーニング済みデータ言語モデルを選択できます。 英語のドキュメントでは Tess4J の内部モデルに依存することを好むため、「Use Internal」を選択します。
「認識構成」セクションには、「ページ分割モード」と「OCR エンジン モード」という XNUMX つの最も重要なドロップダウン リスト構成があります。 XNUMX つ目は、ページの分割方法を定義します。
図 4 では、完全に自動化されたページ セグメンテーションを保証する「Full Auto Pageseg」を選択しています。 目前の特定のユースケースによっては、利用可能な 13 のモードから別のモードを選択することがより適切なオプションになる場合があります (たとえば、「単一列」または「スパース テキスト」)。
XNUMX 番目の設定では、OCR エンジンを選択するよう求められます。 ここでは、最速の実行を保証する「Tesseract Only」を選択します。 その他のオプションには、Tesseract の代替認識モードである「Cube Only」があります。これは低速ですが、多くの場合、より良い結果が得られます。 または、両方の長所を組み合わせた「Tesseract And Cube」。 どちらのエンジンを選択するかは、処理したい画像の品質とテキストの複雑さに大きく依存します。
基本設定に加えて、Tess4J ノードは以下を提供します。 高度な設定 のセットを定義できるタブ 制御パラメータ. このタブは、ノードを非常に柔軟にし、エキスパート ユーザーが特定のニーズに合わせて Tesseract OCR エンジンをカスタマイズおよび微調整するのに役立ちます。 ただし、ほとんどの場合、基本的な構成には長い道のりが必要ですので、心配しないでください。
図 4: Tess4J ノードの構成ダイアログ。
Tess4J ノードの構成を目前のユース ケースに合わせて微調整することに加えて、必要に応じて、入力画像を完全に前処理することをお勧めします。 特に、Tesseract は、文字の x 高さのピクセル数が少なくとも 20 ピクセルになるように画像が十分に拡大されている場合に最適に機能します。 画像が正しく配置されており、解像度が十分に高い。 暗い境界線はすべて削除されます。そうしないと、文字として誤って解釈される可能性があります [3]。 の KNINE 画像処理 拡張機能には、画像のクリーニング、操作、および変換のためのいくつかのノードが含まれています。 ワークフローの例 上で見つけることができます KNIMEハブ.
Tess4J ノードの出力は、抽出されたテキストを String データ型として含むテーブルであり、検索および編集が可能です。
3 — ISBN 抽出のためのテキスト処理
画像がOCRedされると、それらに含まれるテキストに最終的にアクセスして、有用な情報を取得できます。
特に、版の通知では通常、書籍に割り当てられた ISBN コードが報告されます。 ISBN コードは、一意の 13 桁の長さ (10 年以前は 2007 桁の長さ) の商用書籍の識別子であり、出版物の個別の版およびバリエーションごとに割り当てられます。 ISBN コードを抽出すると、メタ情報を取得したいときに各書籍を明確に参照できます。 それを達成するために、含まれているノードに頼ることができます KNIME — テキスト処理 一部は「ISBN 抽出」メタノードで使用されます (図 5)。
「テキストクリーニング」メタノードでは、OCRed テキストを String から Document データ型に変換することから始めます。 次に、テキストを小文字に変換し、句読点、空白、ハイフンを削除し、文字「o」を「0」(ゼロ)に置き換えて、ISBN コードの誤認識された文字を修正します。
文字列「isbn」に続く 13 文字を分離して ISBN コードを抽出し、 ルール エンジン ノードを使用して、抽出された文字に欠損値が含まれておらず、予想される長さが 13 文字であるかどうかを確認します。 次に、このノードの機能を利用して、成功した抽出を 1、失敗した抽出を 0 としてラベル付けする列を追加します。
図 5: 「ISBN 抽出」メタノードの内部。
4 — メタ情報の検索と可視化
最後のステップでは、ISBN コードを使用して書籍のメタ情報と表紙を Google Books API から取得します。 「書籍のメタデータと表紙を取得する」メタノードがそれを処理します (図 6)。 ただし、メタデータの取得は、ISBN コードが正常に抽出された場合にのみ可能です。 ISBN 抽出の成功/失敗をスムーズに処理するために、いくつかのワークフロー制御ノードが含まれています。 洞察に満ちた概要については、 チート シート: KNIME 分析プラットフォームによる制御とオーケストレーション.
ISBN コードが正常に抽出された場合は、 GETリクエスト GETリクエストを送信するノード Google ブックス APIは、書籍のタイトル、サブタイトル、著者、発行日、説明、ページ数、言語、平均評価、評価数、表紙など、いくつかのメタ情報を取得できる、Google が提供する無料の RESTful Web サービスです。 さらに、この RESTful Web サービスでは、開発者アカウントを作成する必要はありません。 GET Request ノードの構成は非常に簡単です。 意味のある「URL 列」を簡単に選択する必要があります。 文字列操作 ノードに参加することによって Google ブックス API の URL 各版予告のISBNコード付。 他のすべての構成はデフォルトのままにしておくことができます。
次に、GET Request ノードの JSON 出力を解析します。 JSONパス 最終結果を収集する前に、抽出されたメタ情報を本の表紙と結合します。
最後に、取得した書籍のメタ情報と表紙をきちんと視覚化するための「書籍のメタデータと表紙を視覚化する」コンポーネントを作成します。
コンポーネントでは、 インタラクティブ レンジ スライダー フィルター ウィジェット ノードを使用して、Google ブックスの読者によって割り当てられた平均評価数 (0 - ひどい、5 - 素晴らしい) に基づいて動的なブック フィルタリングを有効にします。 タイルビュー 結果を表示するノード。
コンポーネントは次に、平均評価に基づいて書籍を選択するためのスライダーを含むビューと、選択した書籍の表紙と説明をホストするテーブルを取得します。 この記事では、評価が 3 ~ 5 の本を抽出するように選択しました。結果を図 6 に示します。
図 6: 評価が 3 を超える本の検索されたメタ情報と本の表紙。
まとめ
この記事では、KNIME Analytics Platform で OCR を簡単に実行する方法を説明しました。 この目的のために、Tess4J ノードを提示し、このノードが基づいている Tesseract OCR ライブラリの機能に関する詳細を提供しました。
さらに、OCR が強力で便利なリソースになる簡単な使用例を示しました。 Google ブックスの RESTful Web サービスに GET リクエストを送信するために、書籍版の通知から情報 (特に ISBN コード) を抽出しました。 これにより、書籍のメタデータと表紙を取得できるようになりました。
KNIME を使用すると、重要な情報を抽出するための画像の OCR 処理が ABC と同じくらい簡単になります。 自分で試してみてください! OCR のユースケースは何ですか?
この記事で紹介するワークフローは、次の Web サイトから無料でダウンロードできます。 KNIMEハブ.
参考文献
[1] スミス、R. (2007). 「Tesseract OCR エンジンの概要」。 ドキュメント分析と認識に関する第 2007 回国際会議 (ICDAR XNUMX)、pp。629–633。 アクセス可能:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[取得: 15.07.2021].
[2] GitHub の Tesseract OCR プロジェクト — https://github.com/tesseract-ocr/tesseract
[3] GitHub の Tesseract OCR ドキュメント — https://tesseract-ocr.github.io/tessdoc/
ロベルト・カディリ KNIME のデータ サイエンティストであり、NLP 愛好家であり、歴史愛好家でもあります。 高度なデータ サイエンスのためのローコードのエディター。
ラダ・ルドニツカイア KNIMEのデータサイエンティストです。
で最初に公開されたように 高度なデータサイエンスのためのローコード.
元の。 許可を得て転載。
関連する
ソース: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- 会計
- AI
- すべて
- 分析
- 分析論
- API
- 記事
- 物品
- 著者
- オート
- BEST
- 本
- ボックス
- ビルド
- ビジネス
- ビジネス
- これ
- キャリア
- 例
- 文字認識
- 中国語
- 分類
- クリーニング
- クライアント
- コード
- 収集
- コラム
- コマーシャル
- 企業
- コンポーネント
- コンピューター
- 講演
- 信頼
- コンテンツ
- 著作権
- 電流プローブ
- ダッシュボード
- データ
- データサイエンス
- データサイエンティスト
- 詳細
- 検出
- Developer
- 開発者
- 開発
- デジタル
- ドキュメント
- Drop
- 早い
- エディタ
- エンジニア
- 英語
- 等
- 実行
- 詳細
- 悪用する
- 抽出
- フィギュア
- 最後に
- ファイナンシャル
- 名
- フォーム
- 形式でアーカイブしたプロジェクトを保存します.
- 無料版
- フランス語
- GitHubの
- 良い
- でログイン
- グループ
- ハンドリング
- ハンディ
- こちら
- ハイ
- 雇用
- history
- ホスティング
- 認定条件
- How To
- HTTPS
- アイデア
- 識別する
- 画像
- 含めて
- 所得
- 増える
- 産業を変えます
- 情報
- 相互作用的
- 世界全体
- IT
- join
- 知識
- 韓国語
- ラベル
- 言語
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 大
- LEARN
- 学習
- リーガルポリシー
- 活用します
- 図書館
- 光
- リスト
- 場所
- 長い
- 機械学習
- 機械翻訳
- 操作
- ミディアム
- すなわち
- すっきり
- ニューラル
- NLP
- ノード
- 番号
- OCR
- オファー
- 開いた
- オープンソース
- 光学式文字認識
- オプション
- オプション
- その他
- のワークプ
- 物理的な
- 画像
- ピクセル
- プラットフォーム
- 生産性
- プロジェクト
- Python
- 品質
- 範囲
- 評価
- Raw
- 生データ
- リーダー
- 読者
- リーディング
- レポート
- リソースを追加する。
- 結果
- 科学
- を検索
- 選択
- センス
- セッションに
- 設定
- 簡単な拡張で
- So
- ソフトウェア
- 解決する
- スペイン語
- スポンサー
- start
- ストーリー
- 成功した
- サポート
- サポート
- サポート
- テクニック
- テクノロジー
- 遺言
- 時間
- top
- トレーニング
- 変換
- 変換
- インタビュー
- ユニコード
- us
- users
- 詳しく見る
- 可視化
- ウェブ
- 何ですか
- 言葉
- 仕事
- ワークフロー
- 作品
- 価値
- 書き込み
- X
- 年