IBM watsonx.ai にあるファイルから、Python ライブラリを使ってプログラムでテキストを抽出できます。
IBM Cloud Object Storage に格納されているファイルからテキストを抽出するドキュメント・テキスト抽出ジョブを、ibm-watsonx-ai
Python SDK を使用して実行し、結果を JSON ファイルで取得できます。
サンプル・ノートブック
watsonx.aiテキスト抽出サービスを使用してファイルからテキストを抽出するサンプルPythonノートブックにはwatsonx.aiでテキスト抽出ジョブを実行するコードが含まれています。
テキスト抽出ジョブを使ってファイルからテキストを抽出する
テ キ ス ト を抽出す る 元文書 と 、 抽出結果を収集す る 出力フ ァ イ ルを設定 し 、 テ キ ス ト 抽出ジョ ブを実行 し て結果を生成す る には、 以下の よ う な高度な手順を踏みます:
IBM Cloud Object Storage にソース・ドキュメントをアップロードし、抽出されたデータを入力する JSON ファイルをアップロードします。
from ibm_watsonx_ai.helpers import DataConnection, S3Location local_source_file_name = "granite_code_models_paper.pdf" source_file_name = "./files/granite_code_models_paper.pdf" results_file_name = "./files/text_extraction_granite_code_models_paper.json"
ソース・ドキュメントと結果ファイルを表すデータ接続オブジェクトを作成する。
document_reference = DataConnection(connection_asset_id=connection_asset_id, location=S3Location(bucket=bucketname, path=source_file_name)) results_reference = DataConnection(connection_asset_id=connection_asset_id, location=S3Location(bucket=bucketname, path=results_file_name))
TextExtractions
クラスを使ってテキスト抽出マネージャオブジェクトを初期化します。from ibm_watsonx_ai.foundation_models.extractions import TextExtractions extraction = TextExtractions(api_client=client, project_id=project_id)
テ キ ス ト 抽出処理で抽出 し たいプ ロ パテ ィ を設定 し ます。 この例では、光学式文字認識(OCR)を使って英語のテキストが検出され、文書に存在する表が処理される。
from ibm_watsonx_ai.metanames import TextExtractionsMetaNames steps = {TextExtractionsMetaNames.OCR: {'language_list': ['en']}, TextExtractionsMetaNames.TABLE_PROCESSING: {'enabled': True}}
テキスト抽出ジョブを実行し、ジョブIDを取得します。
details = extraction.run_job(document_reference=document_reference, results_reference=results_reference, steps=steps) extraction_job_id = extraction.get_id(extraction_details=details)
ジョブの実行終了後、結果出力ファイルをダウンロードし、抽出されたデータを処理することができます。
results_reference = extraction.get_results_reference(extraction_id=extraction_job_id) filename = "text_extraction_results_granite_code_models_paper.json" results_reference.download(filename=filename) import json metadata = json.load(open(filename, 'r')) metadata.get('all_structures').get('tokens')[:10]
詳細情報
親トピック Python ライブラリ