Este guia descreve como aproveitar os recursos avançados de processamento de linguagem natural do Claude para resumir documentos jurídicos com eficiência, extrair informações importantes e acelerar a pesquisa jurídica. Com o Claude, você pode simplificar a revisão de contratos, a preparação para litígios e a conformidade, economizando tempo e garantindo a precisão do processo jurídico.
Visite nosso Receitas abstratas Veja um exemplo de implementação de resumo jurídico usando o Claude.
Antes de construir com o Claude
Decidir se deve usar o Claude para resumos jurídicos
Aqui estão algumas instruções importantes para resumir documentos jurídicos usando um LLM como o Claude:
Você deseja analisar grandes volumes de documentos de forma eficiente e econômica
A análise manual de documentos em grande escala pode ser demorada e cara, e o Claude pode processar e resumir rapidamente grandes volumes de documentos jurídicos, reduzindo significativamente o tempo e o custo necessários para a análise de documentos. Esse recurso é particularmente valioso em tarefas como due diligence, análise de contratos ou descoberta de litígios, em que a eficiência é fundamental.
Você precisa extrair automaticamente os principais metadados
O Claude extrai e categoriza com eficiência metadados importantes de documentos jurídicos, como as partes envolvidas, datas, termos de contratos ou cláusulas específicas. Essa extração automatizada pode ajudar a organizar as informações e facilitar a pesquisa, a análise e o gerenciamento de grandes coleções de documentos. É particularmente útil no gerenciamento de contratos, na verificação de conformidade ou na criação de bancos de dados pesquisáveis de informações jurídicas.
Você deseja gerar resumos claros, concisos e padronizados
O Claude gera resumos estruturados que seguem um formato predefinido, permitindo que os profissionais jurídicos compreendam rapidamente os pontos principais de vários documentos. Esses resumos padronizados melhoram a legibilidade, facilitam as comparações entre documentos e aprimoram a compreensão geral, especialmente ao lidar com linguagem jurídica complexa ou terminologia técnica.
Você precisa fornecer citações precisas para seus resumos
Ao criar resumos jurídicos, a atribuição e a citação adequadas são essenciais para garantir a credibilidade e a conformidade com os padrões jurídicos. O Claude pode ser solicitado a fornecer citações precisas para todos os pontos citados da lei, facilitando a revisão e a validação das informações resumidas pelos profissionais jurídicos.
Você deseja simplificar e acelerar o processo de pesquisa jurídica
O Claude pode ajudar na pesquisa jurídica, analisando rapidamente grandes volumes de jurisprudência, estatutos e revisões de leis. Ele identifica precedentes relevantes, extrai os principais princípios jurídicos e resume argumentos jurídicos complexos. Esse recurso pode acelerar significativamente o processo de pesquisa, permitindo que os profissionais da área jurídica se concentrem em análises de nível superior e no desenvolvimento de estratégias.
Identifique os detalhes que você deseja que o resumo extraia
Não existe um único resumo correto para um determinado documento. Sem uma orientação clara, Claude pode ter dificuldade para determinar quais detalhes incluir. Para obter melhores resultados, identifique as informações específicas que você deseja incluir no resumo.
Por exemplo, ao resumir um contrato de sublocação, talvez você queira extrair os seguintes pontos principais:
details_to_extract = [
"Partes relacionadas (sublocatários, sublocadores e locadores originais),
'Detalhes da propriedade (endereço, descrição e usos permitidos)',
'Prazo e aluguel (data de início, data de término, aluguel mensal e depósito de segurança)',
"Responsabilidade (serviços públicos, manutenção e reparos),
"Consentimento e notificação (requisitos de consentimento e notificação do locador),
'Termos especiais (mobília, estacionamento e restrições de sublocação)'
]
Estabelecimento de critérios de sucesso
Avaliar a qualidade dos resumos é uma tarefa notoriamente desafiadora. Ao contrário de muitas outras tarefas de processamento de linguagem natural, a avaliação de resumos geralmente não possui métricas claras e objetivas. O processo costuma ser altamente subjetivo, e leitores diferentes podem valorizar aspectos diferentes dos resumos de forma diferente. Veja o que você pode esperar ao avaliar Claude Critérios que podem precisar ser considerados na implementação do resumo jurídico.
Precisão dos fatos
O resumo deve apresentar com precisão os fatos, os conceitos jurídicos e os pontos principais do documento.
Precisão jurídica
A terminologia e as referências a estatutos, jurisprudência ou regulamentos devem estar corretas e de acordo com os padrões legais.
simplicidade
O resumo deve resumir o documento legal em seus pontos principais sem deixar de fora detalhes importantes.
consistência
No caso do resumo de vários documentos, o modelo de linguagem grande deve manter uma estrutura e um processamento consistentes para cada resumo.
legibilidade
O texto deve ser claro e fácil de entender. Se o público não for um especialista em direito, o resumo não deve conter termos jurídicos que possam confundir o público.
Preconceito e imparcialidade
Os resumos devem apresentar argumentos e posições jurídicas justas e imparciais.
Confira nosso guia para saber mais sobre Estabelecimento de critérios de sucesso A mensagem.
Como usar o Claude para resumir documentos jurídicos
Selecionando o modelo Claude correto
Ao resumir documentos jurídicos, a precisão do modelo é crucial, e o Claude 3.5 Sonnet é uma excelente opção para esses casos de uso em que é necessário um alto grau de precisão. Se o tamanho e o número de documentos forem grandes, fazendo com que o custo seja um problema, você também pode tentar usar um modelo menor, como o Claude 3 Haiku.
Para ajudar a estimar esses custos, aqui está uma comparação dos custos de resumir 1.000 contratos de sublocação usando o Sonnet e o Haiku:
- Escala de conteúdo
- Número de contratos: 1.000
- Caracteres por contrato: 300.000
- Total de caracteres: 300M
- Tokens estimados
- Tokens de entrada: 86M (suposição 1) token (correspondente a 3,5 caracteres)
- Tokens de saída por resumo: 350
- Total de tokens de saída: 350.000
- Claude 3.5 Custos estimados do Sonnet
- Digite o custo do token: 86 MTok * $3.00/MTok = $258
- Custo do token de saída: 0,35 MTok * $15,00/MTok = $5,25
- Custo total: $258,00 + $5,25 = $263,25
- Claude 3 Haiku Custo estimado
- Custo do token de entrada: 86 MTok * $0,25/MTok = $21,50
- Custo do token de saída: 0,35 MTok * $1,25/MTok = $0,44
- Custo total: $21,50 + $0,44 = $21,96
Os custos reais podem diferir dessas estimativas. As estimativas acima são baseadas em solicitação Exemplos nos capítulos.
Converta arquivos em um formato que o Claude possa manipular
Antes de começar a resumir um documento, você precisa preparar os dados. Isso envolve extrair o texto do PDF, limpar o texto e garantir que ele possa ser processado pelo Claude.
Veja abaixo uma demonstração desse processo em um PDF de amostra:
de io importação BytesIO
importação re
importação pypdf
importação solicitações
def get_llm_text(pdf_file):
reader = pypdf.PdfReader(pdf_file)
text = "\n".join([page.extract_text() para página em reader.pages])
# Remover espaços redundantes
text = re.sub(r'\s+', ' ', texto)
# Remover o número da página
text = re.sub(r'\n\s*\d+\s*\n', '\n', texto)
retorno texto
# Criação de URLs completas a partir de repositórios do GitHub
url = "https://raw.githubusercontent.com/anthropics/anthropic-cookbook/main/skills/summarization/data/Sample Sublease Agreement.pdf"
url = url.replace(" ", "%20")
# Download de arquivos PDF para a memória
response = requests.get(url)
# Carregar PDF da memória
pdf_file = BytesIO(response.content)
document_text = get_llm_text(pdf_file)
impressão(document_text[.50000])
Neste exemplo, primeiro baixamos um PDF de um contrato de sublocação do livro de receitas de compactação . O acordo tem origem na Site sec.gov O contrato de sublocação que foi tornado público no
Usamos a biblioteca pypdf para extrair o conteúdo do PDF e convertê-lo em texto. Em seguida, os dados de texto são limpos com a remoção de espaços redundantes e números de página.
Criando pistas poderosas
O Claude pode ser adaptado a uma variedade de estilos de resumo. Você pode ajustar os detalhes das palavras-chave conforme necessário para orientar o Claude a gerar conteúdo mais ou menos detalhado ou conciso, incluir mais ou menos jargões ou fornecer um nível maior ou menor de resumo contextual.
Abaixo está um exemplo que mostra como criar uma palavra-chave para garantir que os resumos gerados ao analisar um contrato de sublocação sigam uma estrutura consistente:
importação antrópico
# Inicialização do Anthropic Client
cliente = anthropic.Anthropic()
def resumir_documento(text, details_to_extract, model="claude-3-5-sonnet-20240620", max_tokens=1000):
# Formatação do detalhe a ser extraído como parte do contexto da palavra-chave
details_to_extract_str = '\n'.join(details_to_extract)
# Modelo de dica Resumo do contrato de sublocação
prompt = f""""Faça um resumo do seguinte contrato de sublocação, concentrando-se nos seguintes aspectos principais.
{details_to_extract_str}
Forneça o resumo em marcadores aninhados no cabeçalho XML de cada seção. Por exemplo.
- Sublocador: [Nome]
// Adicione mais detalhes conforme necessário
</partes envolvidas
Se alguma informação não estiver explicitamente declarada na documentação, marque-a como "não declarada". Não use preâmbulos.
Conteúdo do contrato de sublocação:
{texto}
"""
response = client.messages.create(
model=model,
model=model, max_tokens=max_tokens, system=max_tokens, max_tokens
system="Você é um analista jurídico especializado em direito imobiliário, conhecido por resumos altamente precisos e detalhados de contratos de sublocação.",
messages=[
{"função": "usuário", "content" (conteúdo): prompt}, {
{"função": "assistente", "content" (conteúdo): "Aqui está o resumo do contrato de sublocação: " }
],
stop_sequences=[""]
)
retorno response.content[0].text
sublease_summary = summarise_document(document_text, details_to_extract)
impressão(sublease_summary)
Esse código implementa um resumir_documento
que usa o Claude para resumir o conteúdo de um contrato de sublocação. A função recebe como entrada uma string de texto e uma lista de detalhes a serem extraídos. Neste exemplo, usamos a função texto_documento
responder cantando detalhes_para_extrair
chama essa função.
Dentro da função, uma palavra-chave é gerada para o Claude contendo o documento a ser resumido, os detalhes a serem extraídos e instruções específicas para resumir o documento. O prompt instrui o Claude a retornar um resumo de cada detalhe extraído como uma tag XML aninhada.
Como decidimos gerar cada parte do resumo em uma tag, podemos analisar facilmente cada parte em uma etapa de pós-processamento. Essa abordagem gera resumos estruturados, adapta-se ao seu cenário de uso e garante que cada resumo siga o mesmo padrão.
Avalie suas palavras-chave
Geralmente, as palavras-chave precisam ser testadas e otimizadas antes de serem colocadas em uso na produção. Para determinar se sua solução está pronta, use um processo sistemático que combine métodos quantitativos e qualitativos para avaliar a qualidade dos resumos. Crie critérios de sucesso com base em critérios definidosAvaliação empírica sólidao ajudará a otimizar as palavras do prompt. Aqui estão algumas métricas que você pode querer incluir em sua avaliação:
Pontuação ROUGE
Pontuação BLEU
Similaridade de incorporação de contexto
Pontuação baseada em LLM
avaliação manual
Dicas de implantação
Tenha em mente as seguintes considerações ao implementar sua solução em um ambiente de produção.
- Garantir que não haja risco de responsabilidade: Entenda as possíveis implicações legais de erros nos resumos, que podem resultar em responsabilidade legal para sua organização ou clientes. Forneça uma isenção de responsabilidade ou uma declaração legal de que o resumo foi gerado por IA e precisa ser revisado por um profissional da área jurídica.
- Manipula vários tipos de documentos: Neste guia, discutiremos como extrair texto de PDF. Na prática, os documentos podem estar em vários formatos (PDF, documentos do Word, arquivos de texto, etc.). Certifique-se de que seu processo de extração de dados converta todos os formatos de arquivo que você pode receber.
- Chamadas paralelas à API do Claude: Para documentos longos que contêm um grande número de tokens, pode levar até um minuto para o Claude gerar um resumo. Para grandes coleções de documentos, talvez seja necessário enviar chamadas de API ao Claude em paralelo para garantir que os resumos sejam concluídos em um período de tempo razoável. Consulte a seção limite de velocidade para determinar o número máximo de chamadas de API que podem ser executadas em paralelo.
melhorar o desempenho
Em cenários complexos, além do padrão Dicas para engenharia Além disso, pode ser benéfico considerar algumas estratégias adicionais para melhorar o desempenho. Aqui estão algumas estratégias avançadas:
Meta-resumos executivos para resumir documentos longos
Os resumos jurídicos geralmente envolvem o processamento de documentos longos ou de vários documentos relacionados, que podem estar fora da janela de contexto do Claude. Você pode usar um método de fragmentação chamado meta-digestão para lidar com essa situação. Essa técnica envolve a divisão de documentos em partes menores e gerenciáveis e, em seguida, o processamento de cada parte separadamente. Depois disso, você pode combinar os resumos de cada parte para produzir um meta-resumo do documento inteiro.
A seguir, um exemplo de como realizar um meta-resumo:
importação antrópico
# Inicialização do Anthropic Client
cliente = anthropic.Anthropic()
def chunk_text(text, chunk_size=20000):
retorno [text[i:i+chunk_size] para i em alcance(0, len(texto), chunk_size)]
def resumir_longo_documento(text, details_to_extract, model="claude-3-5-sonnet-20240620", max_tokens=1000):
# Formatação de detalhes de extração para colocação no contexto de um prompt
details_to_extract_str = '\n'.join(details_to_extract)
# Percorra os blocos e faça um resumo de cada bloco separadamente
chunk_summaries = [summarise_document(chunk, details_to_extract, model=model, max_tokens=max_tokens) para pedaço em chunk_text(text)]
final_summary_prompt = f"""
Você está visualizando resumos em blocos de vários documentos relacionados.
Consolide os seguintes resumos de documentos de diferentes fontes confiáveis em um resumo geral coerente:
{"".join(chunk_summaries)}
Concentre-se nos seguintes aspectos principais:
{details_to_extract_str})
Forneça o resumo como marcadores aninhados sob o cabeçalho XML de cada seção. Exemplo:
<partes envolvidas
- Sublocatário: [nome].
// Adicione mais detalhes conforme necessário
Se alguma informação não estiver explicitamente declarada no documento, indique "não especificado". Não inclua um preâmbulo.
"""
response = client.messages.create(
model=model,
model=model, max_tokens=max_tokens, system=max_tokens, max_tokens
system="Você é um especialista jurídico em resumir anotações de documentos.",
messages=[
{"função": "usuário", "content" (conteúdo): final_summary_prompt}, {
{"função": "assistente", "content" (conteúdo): "A seguir, um resumo do contrato de sublocação:" }
],
stop_sequences=[""]
)
retorno response.content[0].text
long_summary = summarise_long_document(document_text, details_to_extract)
impressão(long_summary)
resumir_longo_documento
é baseada na função resumir_documento
que faz isso dividindo o documento em partes menores e resumindo cada parte separadamente.
O código faz isso definindo o resumir_documento
Para isso, a função é aplicada a cada bloco de 20.000 caracteres do documento original. Os resumos de cada bloco são então combinados para produzir um resumo final composto por esses resumos de bloco.
Observe que, em nosso exemplo de PDF, oresumir_longo_documento
A função de resumo não é estritamente necessária, pois o documento inteiro pode caber na janela de contexto do Claude. No entanto, essa abordagem é fundamental quando o documento excede a janela de contexto do Claude ou quando vários documentos relacionados precisam ser resumidos. De qualquer forma, essa técnica de meta-resumo muitas vezes pode capturar detalhes mais importantes no resumo final que foram perdidos em métodos anteriores de resumo único.
Explore um grande número de documentos usando documentos indexados resumidos
A pesquisa de coleções de documentos usando Modelos de Linguagem Grandes (LLMs) geralmente envolve a Geração de Aumento de Recuperação (RAG). No entanto, em cenários que envolvem documentos grandes ou em que a recuperação precisa de informações é fundamental, o modelo básico RAG pode ser insuficiente. Resumo de documentos indexados é um método RAG avançado que oferece uma maneira mais eficiente de classificar documentos para recuperação, usando menos contexto do que os métodos RAG tradicionais. Nessa abordagem, o Claude é usado primeiro para gerar um resumo conciso de cada documento no corpus e, em seguida, o Clade é usado para classificar a relevância de cada resumo para a consulta. Para obter mais detalhes sobre essa abordagem, incluindo um exemplo baseado em código, consulte o site livro de receitas de compactação A seção do documento de índice resumido no
Ajuste fino do Claude para aprender seu conjunto de dados
Outra técnica avançada para melhorar a capacidade do Claude de gerar resumos é o ajuste fino. O ajuste fino envolve o treinamento do Claude em um conjunto de dados personalizado altamente alinhado com suas necessidades de resumo jurídico, garantindo que ele se adapte ao seu cenário de uso. A seguir, apresentamos uma visão geral da realização do ajuste fino:
- Identificação incorreta: Comece coletando exemplos de resumos da Claude que não atendem aos requisitos - isso pode incluir a omissão de detalhes jurídicos importantes, a compreensão errônea do contexto ou o uso de terminologia jurídica inadequada.
- Preparação de conjuntos de dados: Depois que esses problemas forem identificados, compile um conjunto de dados contendo exemplos desses problemas. Esse conjunto de dados deve incluir os documentos legais originais, bem como seus resumos corrigidos, para garantir que Claude aprenda os comportamentos desejados.
- Implementação do ajuste fino: O ajuste fino envolve o retreinamento do modelo no conjunto de dados que você coletou para ajustar seus pesos e parâmetros. Esse retreinamento ajuda o Claude a entender melhor os requisitos específicos de sua área jurídica, aprimorando sua capacidade de resumir documentos de acordo com seus critérios.
- Aprimoramento iterativo: O ajuste fino não é um processo que ocorre uma única vez. Como o Claude continua a gerar resumos, você pode adicionar iterativamente novos exemplos de baixo desempenho para refinar ainda mais seus recursos. Com o tempo, esse ciclo contínuo de feedback produzirá um modelo altamente especializado dedicado à sua tarefa de resumos jurídicos.
No momento, o Fine Tuning está disponível apenas na Amazon Bedrock. Para obter mais detalhes, consulte Blog de publicação da AWS.