Guide de Claude sur les cas d'utilisation courants : mémoires juridiques

Ce guide décrit comment résumer efficacement des documents juridiques, extraire des informations clés et accélérer la recherche juridique en utilisant les capacités avancées de traitement du langage naturel de Claude. Avec Claude, vous pouvez rationaliser la révision des contrats, la préparation des litiges et la conformité, en gagnant du temps et en garantissant la précision du processus juridique.

Visitez notre Recettes abstraites Pour plus d'informations, voir un exemple de mise en œuvre d'un résumé juridique à l'aide de Claude.

Avant de construire avec Claude

Décider d'utiliser Claude pour les mémoires juridiques

Voici quelques instructions clés pour résumer des documents juridiques à l'aide d'un LLM comme Claude :

Vous souhaitez examiner de grands volumes de documents de manière efficace et économique.

L'examen manuel de documents à grande échelle peut être long et coûteux. Claude peut traiter et résumer rapidement de grands volumes de documents juridiques, réduisant ainsi de manière significative le temps et les coûts nécessaires à l'examen des documents. Cette capacité est particulièrement précieuse dans des tâches telles que la diligence raisonnable, l'analyse de contrats ou la découverte de litiges, où l'efficacité est cruciale.

Vous devez extraire automatiquement les métadonnées clés

Claude extrait et catégorise efficacement les métadonnées importantes des documents juridiques, telles que les parties impliquées, les dates, les termes du contrat ou les clauses spécifiques. Cette extraction automatisée permet d'organiser l'information et de faciliter la recherche, l'analyse et la gestion de grandes collections de documents. Elle est particulièrement utile pour la gestion des contrats, le contrôle de la conformité ou la création de bases de données consultables d'informations juridiques.

Vous voulez produire des résumés clairs, concis et standardisés

Claude génère des résumés structurés qui suivent un format prédéfini, permettant aux professionnels du droit de saisir rapidement les points clés de divers documents. Ces résumés standardisés améliorent la lisibilité, facilitent les comparaisons entre documents et améliorent la compréhension globale, en particulier lorsqu'il s'agit d'un langage juridique complexe ou d'une terminologie technique.

Vous devez fournir des citations précises pour vos résumés.

Claude peut être invité à fournir des citations précises pour tous les points de droit cités, ce qui permet aux professionnels du droit d'examiner et de valider plus facilement les informations résumées.

Vous souhaitez simplifier et accélérer le processus de recherche juridique

Claude peut aider à la recherche juridique en analysant rapidement de grands volumes de jurisprudence, de lois et de revues juridiques. Il identifie les précédents pertinents, extrait les principes juridiques clés et résume les arguments juridiques complexes. Cette capacité peut accélérer considérablement le processus de recherche, permettant aux professionnels du droit de se concentrer sur l'analyse de haut niveau et l'élaboration de stratégies.

Identifiez les détails que vous voulez extraire du résumé

Il n'existe pas de résumé unique et correct pour un document donné. En l'absence de directives claires, Claude peut éprouver des difficultés à déterminer les détails à inclure. Pour obtenir les meilleurs résultats, identifiez les informations spécifiques que vous souhaitez inclure dans le résumé.

Par exemple, lorsque vous résumez un contrat de sous-location, vous pouvez extraire les points clés suivants :

details_to_extract = [
    '相关方(转租人、转租承租人和原出租人)',
    '物业详情(地址、描述和允许用途)', 
    '期限和租金(开始日期、结束日期、月租金和保证金)',
    '责任(公用设施、维护和维修)',
    '同意和通知(房东的同意和通知要求)',
    '特别条款(家具、停车位和转租限制)'
]

Établissement de critères de réussite

L'évaluation de la qualité des résumés est une tâche notoirement difficile. Contrairement à de nombreuses autres tâches de traitement du langage naturel, l'évaluation des résumés ne s'appuie généralement pas sur des mesures claires et objectives. Le processus est souvent très subjectif, et différents lecteurs peuvent évaluer différemment différents aspects des résumés. Voici ce à quoi vous pouvez vous attendre lorsque vous évaluez Claude Critères à prendre en compte dans la mise en œuvre de la note juridique.

Exactitude des faits

Le résumé doit présenter avec précision les faits, les concepts juridiques et les points clés du document.

Précision juridique

La terminologie et les références aux lois, à la jurisprudence ou aux règlements doivent être correctes et conformes aux normes juridiques.

simplicité

Le résumé doit condenser le document juridique en ses points essentiels, sans omettre les détails importants.

cohérence

Dans le cas du résumé de plusieurs documents, le Big Language Model doit conserver une structure et un traitement cohérents pour chaque résumé.

lisibilité

Le texte doit être clair et facile à comprendre. Si le public n'est pas un expert juridique, le résumé ne doit pas contenir de termes juridiques susceptibles d'embrouiller le public.

Partialité et impartialité

Les résumés doivent présenter des arguments et des positions juridiques justes et impartiaux.

Consultez notre guide pour en savoir plus sur Établissement de critères de réussite Le message.


Comment utiliser Claude pour résumer des documents juridiques

Choisir le bon modèle Claude

Lors du résumé de documents juridiques, la précision du modèle est cruciale, et Claude 3.5 Sonnet est un excellent choix pour de tels cas d'utilisation où un haut degré de précision est requis. Si la taille et le nombre de documents sont importants, ce qui pose un problème de coût, vous pouvez également essayer d'utiliser un modèle plus petit tel que Claude 3 Haiku.

Pour aider à estimer ces coûts, voici une comparaison des coûts de résumé de 1 000 contrats de sous-location à l'aide de Sonnet et de Haiku :

  • Échelle de contenu
    • Nombre d'accords : 1 000
    • Caractères par accord : 300 000
    • Nombre total de caractères : 300M
  • Estimation des jetons
    • Jetons d'entrée : 86M (hypothèse 1) jeton (correspondant à 3,5 caractères)
    • Jetons de sortie par résumé : 350
    • Total des jetons de sortie : 350 000
  • Claude 3.5 Coûts estimés pour Sonnet
    • Entrer le coût des jetons : 86 MTok * $3.00/MTok = $258
    • Coût des jetons de sortie : 0,35 MTok * $15.00/MTok = $5.25
    • Coût total : $258.00 + $5.25 = $263.25
  • Claude 3 Haiku Coût estimé
    • Coût des jetons d'entrée : 86 MTok * $0,25/MTok = $21,50
    • Coût des jetons de sortie : 0,35 MTok * $1,25/MTok = $0,44
    • Coût total : $21.50 + $0.44 = $21.96

Les coûts réels peuvent différer de ces estimations. Les estimations ci-dessus sont basées sur incitation Exemples dans les chapitres.

Convertir les fichiers dans un format que Claude peut traiter

Avant de commencer à résumer un document, vous devez préparer les données. Il s'agit d'extraire le texte du PDF, de le nettoyer et de s'assurer qu'il peut être traité par Claude.

Vous trouverez ci-dessous une démonstration de ce processus sur un exemple de 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])

    # 去除多余的空格
    text = re.sub(r'\s+', ' ', text) 

    # 去除页码
    text = re.sub(r'\n\s*\d+\s*\n', '\n', text) 

    return text


# 从 GitHub 仓库创建完整的 URL
url = "https://raw.githubusercontent.com/anthropics/anthropic-cookbook/main/skills/summarization/data/Sample Sublease Agreement.pdf"
url = url.replace(" ", "%20")

# 下载 PDF 文件到内存中
response = requests.get(url)

# 从内存加载 PDF
pdf_file = BytesIO(response.content)

document_text = get_llm_text(pdf_file) 
print(document_text[:50000])

Dans cet exemple, nous avons d'abord téléchargé un PDF d'un contrat de sous-location à partir du site Web de la livre de recettes de synthèse . L'accord est issu de la Site web sec.gov Le contrat de sous-location qui a été rendu public sur le site Internet de l

Nous utilisons la bibliothèque pypdf pour extraire le contenu du PDF et le convertir en texte. Les données textuelles sont ensuite nettoyées en supprimant les espaces redondants et les numéros de page.

Construire des indices puissants

Claude peut être adapté à une variété de styles de résumé. Vous pouvez ajuster les détails des mots-clés selon les besoins pour guider Claude afin qu'il génère un contenu plus ou moins détaillé ou concis, qu'il inclue plus ou moins de jargon, ou qu'il fournisse un niveau plus ou moins élevé de résumé contextuel.

L'exemple ci-dessous montre comment créer un mot clé pour s'assurer que les résumés générés lors de l'analyse d'un contrat de sous-location suivent une structure cohérente :

import anthropic

# 初始化 Anthropic 客户端
client = anthropic.Anthropic()

def summarize_document(text, details_to_extract, model="claude-3-5-sonnet-20240620", max_tokens=1000):

    # 将要提取的细节格式化为提示词上下文的一部分
    details_to_extract_str = '\n'.join(details_to_extract)
    
    # 提示模型总结转租协议
    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]
    // 根据需要添加更多细节
    </parties involved>
    
    如果文档中没有明确说明某些信息,请标注为「未说明」。不要使用前言。

    转租协议内容:
    {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},
            {"role": "assistant", "content": "Here is the summary of the sublease agreement: <summary>"}
        ],
        stop_sequences=["</summary>"]
    )

    return response.content[0].text

sublease_summary = summarize_document(document_text, details_to_extract)
print(sublease_summary)

Ce code met en œuvre un summarize_document qui utilise Claude pour résumer le contenu d'un contrat de sous-location. La fonction prend en entrée une chaîne de texte et une liste de détails à extraire. Dans cet exemple, nous utilisons la fonction document_text répondre en chantant details_to_extract appelle cette fonction.

Dans la fonction, un mot-clé est généré pour Claude, contenant le document à résumer, les détails à extraire et des instructions spécifiques pour résumer le document. L'invite demande à Claude de renvoyer un résumé de chaque détail extrait sous la forme d'une balise XML imbriquée.

Comme nous avons décidé d'insérer chaque partie du résumé dans une balise, nous pouvons facilement analyser chaque partie lors d'une étape de post-traitement. Cette approche génère des résumés structurés, s'adapte à votre scénario d'utilisation et garantit que chaque résumé suit le même modèle.

Évaluez vos mots-clés

Les mots-clés doivent généralement être testés et optimisés avant de pouvoir être utilisés en production. Pour déterminer si votre solution est prête, utilisez un processus systématique combinant des méthodes quantitatives et qualitatives pour évaluer la qualité des résumés. Créez des critères de réussite basés sur desUne évaluation empirique solidevous aidera à optimiser les mots-clés. Voici quelques indicateurs que vous pourriez vouloir inclure dans votre évaluation :

Score ROUGE

Score BLEU

Similitude de l'intégration du contexte

Notation basée sur le LLM

évaluation manuelle

Conseils de déploiement

Gardez les considérations suivantes à l'esprit lorsque vous déployez votre solution dans un environnement de production.

  1. S'assurer qu'il n'y a pas de risque de responsabilité : Comprendre les implications juridiques potentielles des erreurs contenues dans les résumés, qui pourraient engager la responsabilité juridique de votre organisation ou de vos clients. Fournir une clause de non-responsabilité ou une déclaration juridique indiquant que le résumé a été généré par l'IA et qu'il doit être examiné par un professionnel du droit.
  2. Traite plusieurs types de documents : Dans ce guide, nous verrons comment extraire du texte d'un document PDF. Dans la pratique, les documents peuvent se présenter sous plusieurs formats (PDF, documents Word, fichiers texte, etc.). Assurez-vous que votre processus d'extraction de données convertit tous les formats de fichiers que vous pouvez recevoir.
  3. Appels parallèles à l'API de Claude : Pour les longs documents comportant un grand nombre de jetons, la génération d'un résumé par Claude peut prendre jusqu'à une minute. Pour les grandes collections de documents, il peut être nécessaire d'envoyer des appels API à Claude en parallèle pour s'assurer que les résumés sont terminés dans un délai raisonnable. Voir la page limite de vitesse pour déterminer le nombre maximal d'appels d'API pouvant être exécutés en parallèle.

améliorer les performances

Dans les scénarios complexes, en plus de la Conseils pour l'ingénierie Au-delà, il peut être utile d'envisager des stratégies supplémentaires pour améliorer les performances. Voici quelques stratégies avancées :

Méta-sommaires exécutifs pour résumer de longs documents

Les résumés juridiques impliquent souvent le traitement de longs documents ou de plusieurs documents connexes, qui peuvent se trouver en dehors de la fenêtre contextuelle de Claude. Vous pouvez utiliser une méthode de découpage en morceaux appelée méta-digestion pour faire face à cette situation. Cette technique consiste à diviser les documents en morceaux plus petits et plus faciles à gérer, puis à traiter chaque morceau séparément. Ensuite, vous pouvez combiner les résumés de chaque morceau pour produire un méta-résumé de l'ensemble du document.

Voici un exemple de méta-résumé :

import anthropic

# 初始化 Anthropic 客户端
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-3-5-sonnet-20240620", max_tokens=1000):

    # 格式化提取细节以放置在提示的上下文中
    details_to_extract_str = '\n'.join(details_to_extract)

    # 遍历块并分别对每个块进行摘要
    chunk_summaries = [summarize_document(chunk, details_to_extract, model=model, max_tokens=max_tokens) for chunk in chunk_text(text)]
    
    final_summary_prompt = f"""
    
    你正在查看多个相关文档的分块摘要。
    将以下来自不同可信来源的文档摘要整合成连贯的整体摘要:

    <chunked_summaries>
    {"".join(chunk_summaries)}
    </chunked_summaries>

    重点关注以下关键方面:
    {details_to_extract_str})

    将摘要以嵌套在每个部分的 XML 标头下的项目符号点的形式提供。例如:

    <parties involved>
    - 转租方:[姓名]
    // 根据需要添加更多细节
    </parties involved>
    
    如果文档中未明确说明任何信息,请注明「未指定」。不要加入前言。
    """

    response = client.messages.create(
        model=model,
        max_tokens=max_tokens,
        system="你是一名总结文档笔记的法律专家。",
        messages=[
            {"role": "user",  "content": final_summary_prompt},
            {"role": "assistant", "content": "以下是转租协议的摘要:<summary>"}

        ],
        stop_sequences=["</summary>"]
    )
    
    return response.content[0].text

long_summary = summarize_long_document(document_text, details_to_extract)
print(long_summary)

summarize_long_document est basée sur la fonction summarize_document qui divise le document en morceaux plus petits et résume chaque morceau séparément.

Pour ce faire, le code définit le paramètre summarize_document Pour ce faire, la fonction est appliquée à chaque bloc de 20 000 caractères du document original. Les résumés de chaque bloc sont ensuite combinés pour produire un résumé final composé des résumés de ces blocs.

Notez que pour notre exemple de PDF, l'optionsummarize_long_document n'est pas strictement nécessaire, car le document entier peut tenir dans la fenêtre contextuelle de Claude. Toutefois, cette approche est essentielle lorsque le document dépasse la fenêtre contextuelle de Claude ou lorsque plusieurs documents connexes doivent être résumés. Quoi qu'il en soit, cette technique de méta-résumé permet souvent de capturer des détails plus importants dans le résumé final, qui n'ont pas été pris en compte par les méthodes de résumé unique précédentes.

Explorer un grand nombre de documents à l'aide de documents indexés de façon sommaire

La recherche de collections de documents à l'aide de grands modèles de langage (LLM) implique généralement la génération d'augmentation de la recherche (RAG). Toutefois, dans les scénarios impliquant des documents volumineux ou lorsque la recherche d'informations précises est essentielle, la méthode de base de la génération d'augmentation de la recherche (RAG) peut être utilisée. RAG peut s'avérer insuffisante. Les documents indexés par résumé sont une méthode RAG avancée qui offre un moyen plus efficace de classer les documents pour la recherche, en utilisant moins de contexte que les méthodes RAG traditionnelles. Dans cette approche, Claude est utilisé pour générer un résumé concis pour chaque document du corpus, puis Clade est utilisé pour classer la pertinence de chaque résumé par rapport à la requête. Pour plus de détails sur cette approche, y compris un exemple basé sur le code, consultez la page livre de recettes de synthèse La section du document d'index sommaire dans le

Affiner l'apprentissage de votre ensemble de données par Claude

Une autre technique avancée pour améliorer la capacité de Claude à générer des résumés est le réglage fin. Le réglage fin consiste à entraîner Claude sur un ensemble de données personnalisé qui correspond parfaitement à vos besoins en matière de résumés juridiques, en veillant à ce qu'il s'adapte à votre scénario d'utilisation. Vous trouverez ci-dessous un aperçu de l'exécution d'un réglage fin :

  1. Erreur d'identification : Commencez par recueillir des exemples de résumés de Claude qui ne répondent pas aux exigences - il peut s'agir d'omettre des détails juridiques essentiels, de mal comprendre le contexte ou d'utiliser une terminologie juridique inappropriée.
  2. Préparation des ensembles de données : Une fois ces problèmes identifiés, compilez un ensemble de données contenant des exemples de ces problèmes. Cet ensemble de données devrait inclure les documents juridiques originaux ainsi que vos résumés corrigés afin de s'assurer que Claude apprend les comportements souhaités.
  3. Mise en œuvre du réglage fin : La mise au point consiste à réentraîner le modèle sur l'ensemble des données que vous avez rassemblées afin d'ajuster ses poids et ses paramètres. Ce réajustement permet à Claude de mieux comprendre les exigences spécifiques de votre domaine juridique et d'améliorer sa capacité à résumer les documents en fonction de vos critères.
  4. Amélioration itérative : La mise au point n'est pas un processus ponctuel. Au fur et à mesure que Claude génère des résumés, vous pouvez ajouter de manière itérative de nouveaux exemples moins performants afin d'affiner ses capacités. Au fil du temps, cette boucle de rétroaction continue produira un modèle hautement spécialisé dédié à votre tâche de résumés juridiques.

Fine Tuning est actuellement disponible uniquement sur Amazon Bedrock. Pour plus de détails, voir Blog de publication AWS.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...