Loading...
    • 構築
    • 管理
    • モデルと価格
    • クライアントSDK
    • APIリファレンス
    Search...
    ⌘K
    最初のステップ
    Claudeの紹介クイックスタート
    Claudeで構築
    機能概要Messages APIの使用Claude APIスキル停止理由の処理
    モデル機能
    拡張思考適応的思考努力タスク予算(ベータ版)高速モード(ベータ版:研究プレビュー)構造化出力引用ストリーミングメッセージバッチ処理検索結果ストリーミング拒否多言語サポート埋め込み
    ツール
    概要ツール使用の仕組みウェブ検索ツールウェブ取得ツールコード実行ツールアドバイザーツールメモリツールBashツールコンピュータ使用ツールテキストエディタツール
    ツールインフラストラクチャ
    ツールリファレンスツール検索プログラマティックツール呼び出し細粒度ツールストリーミング
    コンテキスト管理
    コンテキストウィンドウ圧縮コンテキスト編集プロンプトキャッシングトークンカウント
    ファイルの操作
    Files APIPDFサポート画像とビジョン
    スキル
    概要クイックスタートベストプラクティスエンタープライズ向けスキルAPI内のスキル
    MCP
    リモートMCPサーバーMCPコネクタ
    プロンプトエンジニアリング
    概要プロンプティングのベストプラクティスConsoleプロンプティングツール
    テストと評価
    成功を定義して評価を構築ConsoleでEvaluation Toolを使用レイテンシの削減
    ガードレールの強化
    幻覚の削減出力の一貫性向上ジェイルブレイク対策プロンプトリークの削減
    リソース
    用語集
    概要チケットルーティングカスタマーサポートエージェントコンテンツモデレーション法務要約
    リリースノート
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    ユースケース

    法的文書の要約

    このガイドでは、Claudeの高度な自然言語処理機能を活用して、法的文書を効率的に要約し、重要な情報を抽出し、法的調査を迅速化する方法について説明します。Claudeを使用することで、契約書、訴訟準備、規制業務のレビューを合理化し、法的プロセスの時間を節約し、精度を確保できます。

    Was this page helpful?

    • Claudeで構築する前に
    • 法的文書の要約にClaudeを使用するかどうかを決定する
    • Claudeを使用して法的文書を要約する方法
    • 適切なClaudeモデルを選択する
    • 文書をClaudeが処理できる形式に変換する
    • Claudeをファインチューニングしてデータセットから学習する

    要約クックブックにアクセスして、Claudeを使用した法的文書要約の実装例を確認してください。

    Claudeで構築する前に

    法的文書の要約にClaudeを使用するかどうかを決定する

    Claudeのような大規模言語モデルを使用して法的文書を要約すべき主な指標を以下に示します:

    要約で抽出する詳細を決定する

    特定の文書に対して単一の正しい要約は存在しません。明確な指示がないと、Claudeが含めるべき詳細を決定するのが難しい場合があります。最適な結果を達成するには、要約に含めたい特定の情報を特定してください。

    たとえば、サブリース契約を要約する場合、次の重要なポイントを抽出したいかもしれません:

    details_to_extract = [
        "Parties involved (sublessor, sublessee, and original lessor)",
        "Property details (address, description, and permitted use)",
        "Term and rent (start date, end date, monthly rent, and security deposit)",
        "Responsibilities (utilities, maintenance, and repairs)",
        "Consent and notices (landlord's consent, and notice requirements)",
        "Special provisions (furniture, parking, and subletting restrictions)",
    ]

    成功基準を確立する

    要約の品質を評価することは、悪名高く困難なタスクです。他の多くの自然言語処理タスクとは異なり、要約の評価には明確で客観的なメトリクスが不足していることが多いです。このプロセスは非常に主観的であり、異なる読者が要約のさまざまな側面を重視します。Claudeが法的要約をどの程度うまく実行しているかを評価する際に考慮したい基準を以下に示します。

    詳細については、成功基準の確立に関するガイドを参照してください。


    Claudeを使用して法的文書を要約する方法

    適切なClaudeモデルを選択する

    モデルの精度は、法的文書を要約する際に非常に重要です。Claude Opus 4.7は、高い精度が必要なこのようなユースケースに最適な選択肢です。文書のサイズと数が大きい場合、コストが懸念事項になり始めたら、Claude Haiku 4.5のような小さいモデルを試すこともできます。

    これらのコストを見積もるのに役立つように、以下はSonnetとHaikuの両方を使用して1,000のサブリース契約を要約するコストの比較です:

    • コンテンツサイズ

      • 契約数:1,000
      • 契約あたりの文字数:300,000
      • 総文字数:300M
    • 推定トークン

      • 入力トークン:86M(1トークンあたり3.5文字と仮定)
      • 要約あたりの出力トークン:350
      • 総出力トークン:350,000
    • Claude Opus 4.7推定コスト

      • 入力トークンコスト:86 MTok * $5.00/MTok = $430
      • 出力トークンコスト:0.35 MTok * $25.00/MTok = $8.75
    実際のコストはこれらの見積もりと異なる場合があります。これらの見積もりは、プロンプトのセクションで強調されている例に基づいています。

    文書をClaudeが処理できる形式に変換する

    文書の要約を開始する前に、データを準備する必要があります。これには、PDFからテキストを抽出し、テキストをクリーニングし、Claudeで処理される準備ができていることを確認することが含まれます。

    サンプルpdfでこのプロセスのデモンストレーションを以下に示します:

    from io import BytesIO
    import re
    
    import pypdf
    import requests
    
    
    def get_llm_text(pdf_file):
        reader = pypdf.PdfReader(pdf_file)
        text = "\n".join([page.extract_text() for page in reader.pages])
    
        # Remove extra whitespace
        text = re.sub(r"\s+", " ", text)
    
        # Remove page numbers
        text = re.sub(r"\n\s*\d+\s*\n", "\n", text)
    
        return text
    
    
    # Create the full URL from the GitHub repository
    url = "https://raw.githubusercontent.com/anthropics/anthropic-cookbook/main/skills/summarization/data/Sample Sublease Agreement.pdf"
    url = url.replace(" ", "%20")
    
    # Download the PDF file into memory
    response = requests.get(url)
    
    # Load the PDF from memory
    pdf_file = BytesIO(response.content)
    
    document_text = get_llm_text(pdf_file)
    print(document_text[:50000])

    この例では、最初に要約クックブックで使用されるサンプルサブリース契約のpdfをダウンロードします。この契約は、sec.govウェブサイトから入手可能な公開サブリース契約から取得されました。

    この例では、pypdfライブラリを使用してpdfの内容を抽出し、テキストに変換します。テキストデータは、余分な空白とページ番号を削除することでクリーニングされます。

    強力なプロンプトを構築する

    Claudeはさまざまな要約スタイルに適応できます。プロンプトの詳細を変更して、Claudeをより詳細または簡潔にするか、より多くまたはより少ない技術用語を含めるか、またはコンテキストのより高いまたはより低いレベルの要約を提供するようにガイドできます。

    サブリース契約を分析する際に、生成された要約が一貫した構造に従うようにするプロンプトを作成する方法の例を以下に示します:

    Python
    # Initialize the Anthropic client
    client = anthropic.Anthropic()
    
    
    def summarize_document(
        text, details_to_extract, model="claude-opus-4-7", max_tokens=1000
    ):
        # Format the details to extract to be placed within the prompt's context
        details_to_extract_str = "\n".join(details_to_extract)
    
        # Prompt the model to summarize the sublease agreement
        prompt = f"""Summarize the following sublease agreement. Focus on these key aspects:
    
        {details_to_extract_str}
    
        Provide the summary in bullet points nested within the XML header for each section. For example:
    
        <parties involved>
        - Sublessor: [Name]
        // Add more details as needed
        </parties involved>
    
        If any information is not explicitly stated in the document, note it as "Not specified". Do not preamble.
    
        Sublease agreement text:
        {text}
        """
    
        response = client.messages.create(
            model=model,
            max_tokens=max_tokens,
            system="You are a legal analyst specializing in real estate law, known for highly accurate and detailed summaries of sublease agreements.",
            messages=[
                {"role": "user", "content": prompt},
            ],
        )
    
        return response.content[0].text
    
    
    sublease_summary = summarize_document(document_text, details_to_extract)
    print(sublease_summary)

    このコードは、Claudeを使用してサブリース契約の内容を要約するsummarize_document関数を実装しています。この関数は、テキスト文字列と抽出する詳細のリストを入力として受け入れます。この例では、コードは前のコードスニペットで定義されたdocument_textおよびdetails_to_extract変数を使用して関数を呼び出します。

    関数内では、要約する文書、抽出する詳細、および文書を要約するための特定の指示を含む、Claudeのプロンプトが生成されます。プロンプトは、Claudeに各詳細の要約をXMLヘッダー内にネストされた形式で応答するよう指示します。

    コードは各セクションの要約をタグ内に出力するため、各セクションは後処理ステップとして簡単に解析できます。このアプローチにより、ユースケースに適応できる構造化された要約が可能になり、各要約が同じパターンに従うようになります。

    プロンプトを評価する

    プロンプティングは、本番環境で準備ができるようにするためにテストと最適化が必要なことが多いです。ソリューションの準備状況を判断するには、定義された成功基準に基づいて、定量的および定性的な方法を組み合わせた体系的なプロセスを使用して、要約の品質を評価してください。定義された成功基準に基づいた強力な経験的評価を作成することで、プロンプトを最適化できます。経験的評価に含めたいメトリクスの例を以下に示します:

    プロンプトをデプロイする

    ソリューションを本番環境にデプロイする際に念頭に置いておくべき追加の考慮事項を以下に示します。

    1. 責任を確保する: 要約のエラーの法的影響を理解してください。これは、組織またはクライアントに対する法的責任につながる可能性があります。要約がAIによって生成されており、法的専門家によってレビューされるべきであることを明確にする免責事項または法的通知を提供してください。

    2. 多様な文書タイプを処理する: このガイドでは、PDFからテキストを抽出する方法について説明しています。実際には、文書はさまざまな形式(PDF、Word文書、テキストファイルなど)で提供される場合があります。データ抽出パイプラインが、受け取ることが予想されるすべてのファイル形式を変換できることを確認してください。

    3. Claudeへのパラレル化API呼び出し: トークン数が多い長い文書では、Claudeが要約を生成するのに最大1分かかる場合があります。大規模な文書コレクションの場合、Claudeへのパラレル化API呼び出しを送信して、要約を妥当な時間枠で完了できるようにしたいかもしれません。Anthropicのレート制限を参照して、パラレルで実行できるAPI呼び出しの最大数を決定してください。


    パフォーマンスを向上させる

    複雑なシナリオでは、標準的なプロンプトエンジニアリング技術を超えてパフォーマンスを向上させるための追加の戦略を検討することが役立つ場合があります。以下は、いくつかの高度な戦略です:

    メタ要約を実行して長い文書を要約する

    法的要約には、長い文書または多くの関連文書を一度に処理することが含まれることが多く、Claudeのコンテキストウィンドウを超える場合があります。メタ要約として知られるチャンキング方法を使用して、このユースケースを処理できます。この技術には、文書をより小さく、管理しやすいチャンクに分割し、各チャンクを個別に処理することが含まれます。その後、各チャンクの要約を組み合わせて、文書全体のメタ要約を作成できます。

    メタ要約を実行する方法の例を以下に示します:

    Python
    # Initialize the Anthropic client
    client = anthropic.Anthropic()
    
    
    def chunk_text(text, chunk_size=20000):
        return [text[i : i + chunk_size] for i in range(0, len(text), chunk_size)]
    
    
    def summarize_long_document(
        text, details_to_extract, model="claude-opus-4-7", max_tokens=1000
    ):
        # Format the details to extract to be placed within the prompt's context
        details_to_extract_str = "\n".join(details_to_extract)
    
        # Iterate over chunks and summarize each one
        chunk_summaries = [
            summarize_document(
                chunk, details_to_extract, model=model, max_tokens=max_tokens
            )
            for chunk in chunk_text(text)
        ]
    
        final_summary_prompt = f"""
    
        You are looking at the chunked summaries of multiple documents that are all related.
        Combine the following summaries of the document from different truthful sources into a coherent overall summary:
    
        <chunked_summaries>
        {"".join(chunk_summaries)}
        </chunked_summaries>
    
        Focus on these key aspects:
        {details_to_extract_str})
    
        Provide the summary in bullet points nested within the XML header for each section. For example:
    
        <parties involved>
        - Sublessor: [Name]
        // Add more details as needed
        </parties involved>
    
        If any information is not explicitly stated in the document, note it as "Not specified". Do not preamble.
        """
    
        response = client.messages.create(
            model=model,
            max_tokens=max_tokens,
            system="You are a legal expert that summarizes notes on one document.",
            messages=[
                {"role": "user", "content": final_summary_prompt},
            ],
        )
    
        return response.content[0].text
    
    
    long_summary = summarize_long_document(document_text, details_to_extract)
    print(long_summary)

    summarize_long_document関数は、文書をより小さなチャンクに分割し、各チャンクを個別に要約することで、以前のsummarize_document関数に基づいています。

    コードは、元の文書内の20,000文字の各チャンクにsummarize_document関数を適用することでこれを実現します。個別の要約は、その後、組み合わされ、これらのチャンク要約から最終的な要約が作成されます。

    summarize_long_document関数は、例のpdfでは厳密には必要ありません。文書全体がClaudeのコンテキストウィンドウ内に収まるためです。ただし、Claudeのコンテキストウィンドウを超える文書の場合、または複数の関連文書を一度に要約する場合に必須になります。いずれにせよ、このメタ要約技術は、以前の単一要約アプローチで見落とされた最終要約の追加の重要な詳細をキャプチャすることが多いです。

    要約インデックス付き文書を使用して大規模な文書コレクションを探索する

    大規模言語モデルを使用した文書コレクションの検索には、通常、検索拡張生成(RAG)が含まれます。ただし、大規模な文書を含むシナリオまたは正確な情報検索が重要な場合、基本的なRAGアプローチは不十分な場合があります。要約インデックス付き文書は、従来のRAG方法よりも少ないコンテキストを使用して、検索用の文書をより効率的にランク付けする方法を提供する高度なRAGアプローチです。このアプローチでは、最初にClaudeを使用してコーパス内の各文書の簡潔な要約を生成し、次にClaudeを使用して、質問されているクエリに対する各要約の関連性をランク付けします。コードベースの例を含むこのアプローチの詳細については、要約クックブックの要約インデックス付き文書セクションを確認してください。

    Claudeをファインチューニングしてデータセットから学習する

    Claudeの要約生成能力を向上させるためのもう1つの高度な技術は、ファインチューニングです。ファインチューニングには、法的要約のニーズに特に合わせたカスタムデータセットでClaudeをトレーニングすることが含まれ、Claudeがユースケースに適応することを確保します。ファインチューニングを実行する方法の概要を以下に示します:

    1. エラーを特定する: Claudeの要約が不足している場合を収集することから始めます。これには、重要な法的詳細の欠落、コンテキストの誤解、または不適切な法的用語の使用が含まれる可能性があります。

    2. データセットをキュレートする: これらの問題を特定したら、これらの問題のある例のデータセットをコンパイルします。このデータセットには、元の法的文書と修正された要約が含まれるべきであり、Claudeが望ましい動作を学習することを確保します。

    3. ファインチューニングを実行する: ファインチューニングには、キュレートされたデータセットでモデルを再トレーニングして、その重みとパラメータを調整することが含まれます。この再トレーニングにより、Claudeは法的ドメインの特定の要件をより良く理解し、標準に従って文書を要約する能力を向上させることができます。

    4. 反復的な改善: ファインチューニングは1回限りのプロセスではありません。Claudeが要約を生成し続けるにつれて、パフォーマンスが低下した新しい例を反復的に追加し、その機能をさらに改善できます。時間とともに、この継続的なフィードバックループにより、法的要約タスク用に高度に特化したモデルが生成されます。

    ファインチューニングは現在、Amazon Bedrockを介してのみ利用可能です。追加の詳細は、AWSローンチブログで利用可能です。
    要約クックブック

    Claudeを使用して契約を要約する方法の完全に実装されたコードベースの例を表示します。

  1. 総コスト:$430.00 + $8.75 = $438.75
  2. Claude Haiku 3推定コスト

    • 入力トークンコスト:86 MTok * $0.25/MTok = $21.50
    • 出力トークンコスト:0.35 MTok * $1.25/MTok = $0.44
    • 総コスト:$21.50 + $0.44 = $21.96
  3. 引用クックブック

    情報の精度と説明可能性を確保する方法に関するガイダンスについては、引用クックブックレシピを参照してください。