0 / 0
資料の 英語版 に戻る
プログラムでファイルからテキストを抽出する
最終更新: 2024年11月28日
プログラムでファイルからテキストを抽出する

IBM watsonx.ai にあるファイルから、Python ライブラリを使ってプログラムでテキストを抽出できます。

IBM Cloud Object Storage に格納されているファイルからテキストを抽出するドキュメント・テキスト抽出ジョブを、ibm-watsonx-ai Python SDK を使用して実行し、結果を JSON ファイルで取得できます。

サンプル・ノートブック

watsonx.aiテキスト抽出サービスを使用してファイルからテキストを抽出するサンプルPythonノートブックにはwatsonx.aiでテキスト抽出ジョブを実行するコードが含まれています。

テキスト抽出ジョブを使ってファイルからテキストを抽出する

テ キ ス ト を抽出す る 元文書 と 、 抽出結果を収集す る 出力フ ァ イ ルを設定 し 、 テ キ ス ト 抽出ジョ ブを実行 し て結果を生成す る には、 以下の よ う な高度な手順を踏みます:

  1. 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"
    
  2. ソース・ドキュメントと結果ファイルを表すデータ接続オブジェクトを作成する。

    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))
    
  3. TextExtractionsクラスを使ってテキスト抽出マネージャオブジェクトを初期化します。

    from ibm_watsonx_ai.foundation_models.extractions import TextExtractions
    
    extraction = TextExtractions(api_client=client,
                                project_id=project_id)
    
  4. テ キ ス ト 抽出処理で抽出 し たいプ ロ パテ ィ を設定 し ます。 この例では、光学式文字認識(OCR)を使って英語のテキストが検出され、文書に存在する表が処理される。

    from ibm_watsonx_ai.metanames import TextExtractionsMetaNames
    
    steps = {TextExtractionsMetaNames.OCR: {'language_list': ['en']},
            TextExtractionsMetaNames.TABLE_PROCESSING: {'enabled': True}}
    
  5. テキスト抽出ジョブを実行し、ジョブIDを取得します。

    details = extraction.run_job(document_reference=document_reference, 
                                results_reference=results_reference, 
                                steps=steps)
    extraction_job_id = extraction.get_id(extraction_details=details)
    
  6. ジョブの実行終了後、結果出力ファイルをダウンロードし、抽出されたデータを処理することができます。

    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 ライブラリ