Sumarização legal
Este guia mostra como aproveitar as capacidades avançadas de processamento de linguagem natural do Claude para sumarizar documentos legais de forma eficiente, extraindo informações-chave e acelerando a pesquisa jurídica. Com o Claude, você pode otimizar a revisão de contratos, preparação de litígios e trabalho regulatório, economizando tempo e garantindo precisão em seus processos legais.
Visite nosso cookbook de sumarização para ver um exemplo de implementação de sumarização legal usando o Claude.
Antes de construir com o Claude
Decida se deve usar o Claude para sumarização legal
Aqui estão alguns indicadores-chave de que você deve empregar um LLM como o Claude para sumarizar documentos legais:
Determine os detalhes que você quer que a sumarização extraia
Não existe um único resumo correto para qualquer documento. Sem uma direção clara, pode ser difícil para o Claude determinar quais detalhes incluir. Para alcançar resultados ideais, identifique as informações específicas que você deseja incluir no resumo.
Por exemplo, ao resumir um contrato de sublocação, você pode querer extrair os seguintes pontos-chave:
Estabeleça critérios de sucesso
Avaliar a qualidade dos resumos é uma tarefa notoriamente desafiadora. Diferentemente de muitas outras tarefas de processamento de linguagem natural, a avaliação de resumos frequentemente carece de métricas objetivas claras. O processo pode ser altamente subjetivo, com diferentes leitores valorizando diferentes aspectos de um resumo. Aqui estão critérios que você pode considerar ao avaliar o desempenho do Claude na sumarização legal.
Veja nosso guia sobre estabelecimento de critérios de sucesso para mais informações.
Como sumarizar documentos legais usando o Claude
Selecione o modelo Claude correto
A precisão do modelo é extremamente importante ao resumir documentos legais. O Claude 3.5 Sonnet é uma excelente escolha para casos de uso como este onde alta precisão é necessária. Se o tamanho e a quantidade de seus documentos forem grandes a ponto de os custos começarem a se tornar uma preocupação, você também pode tentar usar um modelo menor como o Claude 3 Haiku.
Para ajudar a estimar esses custos, abaixo está uma comparação do custo para resumir 1.000 contratos de sublocação usando tanto o Sonnet quanto o Haiku:
-
Tamanho do conteúdo
- Número de contratos: 1.000
- Caracteres por contrato: 300.000
- Total de caracteres: 300M
-
Tokens estimados
- Tokens de entrada: 86M (assumindo 1 token por 3,5 caracteres)
- Tokens de saída por resumo: 350
- Total de tokens de saída: 350.000
-
Custo estimado do Claude 3.5 Sonnet
- Custo de tokens de entrada: 86 MTok * 258
- Custo de tokens de saída: 0,35 MTok * 5,25
- Custo total: 5,25 = $263,25
-
Custo estimado do Claude 3 Haiku
- Custo de tokens de entrada: 86 MTok * 21,50
- Custo de tokens de saída: 0,35 MTok * 0,44
- Custo total: 0,44 = $21,96
Transforme documentos em um formato que o Claude possa processar
Antes de começar a resumir documentos, você precisa preparar seus dados. Isso envolve extrair texto de PDFs, limpar o texto e garantir que ele esteja pronto para ser processado pelo Claude.
Aqui está uma demonstração deste processo em um PDF de exemplo:
Neste exemplo, primeiro baixamos um PDF de um contrato de sublocação de exemplo usado no cookbook de sumarização. Este contrato foi obtido de um contrato de sublocação publicamente disponível no site sec.gov.
Usamos a biblioteca pypdf para extrair o conteúdo do PDF e convertê-lo em texto. Os dados de texto são então limpos removendo espaços em branco extras e números de página.
Construa um prompt forte
O Claude pode se adaptar a vários estilos de sumarização. Você pode alterar os detalhes do prompt para guiar o Claude a ser mais ou menos verboso, incluir mais ou menos terminologia técnica, ou fornecer um resumo de nível mais alto ou mais baixo do contexto em questão.
Aqui está um exemplo de como criar um prompt que garante que os resumos gerados sigam uma estrutura consistente ao analisar contratos de sublocação:
Este código implementa uma função summarize_document
que usa o Claude para resumir o conteúdo de um contrato de sublocação. A função aceita uma string de texto e uma lista de detalhes a serem extraídos como entradas. Neste exemplo, chamamos a função com as variáveis document_text
e details_to_extract
que foram definidas nos trechos de código anteriores.
Dentro da função, um prompt é gerado para o Claude, incluindo 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 responder com um resumo de cada detalhe a ser extraído aninhado dentro de cabeçalhos XML.
Como decidimos produzir cada seção do resumo dentro de tags, cada seção pode ser facilmente analisada como uma etapa de pós-processamento. Essa abordagem permite resumos estruturados que podem ser adaptados para seu caso de uso, de modo que cada resumo siga o mesmo padrão.
Avalie seu prompt
O prompting frequentemente requer testes e otimização para estar pronto para produção. Para determinar a prontidão de sua solução, avalie a qualidade de seus resumos usando um processo sistemático combinando métodos quantitativos e qualitativos. Criar uma forte avaliação empírica baseada em seus critérios de sucesso definidos permitirá que você otimize seus prompts. Aqui estão algumas métricas que você pode desejar incluir em sua avaliação empírica:
Implante seu prompt
Aqui estão algumas considerações adicionais para ter em mente ao implantar sua solução em produção.
-
Garanta ausência de responsabilidade: Entenda as implicações legais de erros nos resumos, que poderiam levar a responsabilidade legal para sua organização ou clientes. Forneça avisos legais ou notificações esclarecendo que os resumos são gerados por IA e devem ser revisados por profissionais jurídicos.
-
Lide com diversos tipos de documentos: Neste guia, discutimos como extrair texto de PDFs. No mundo real, os documentos podem vir em uma variedade de formatos (PDFs, documentos Word, arquivos de texto, etc.). Garanta que seu pipeline de extração de dados possa converter todos os formatos de arquivo que você espera receber.
-
Paralelize chamadas de API ao Claude: Documentos longos com um grande número de tokens podem exigir até um minuto para o Claude gerar um resumo. Para grandes coleções de documentos, você pode querer enviar chamadas de API ao Claude em paralelo para que os resumos possam ser concluídos em um prazo razoável. Consulte os limites de taxa da Anthropic para determinar a quantidade máxima de chamadas de API que podem ser realizadas em paralelo.
Melhore o desempenho
Em cenários complexos, pode ser útil considerar estratégias adicionais para melhorar o desempenho além das técnicas padrão de engenharia de prompt. Aqui estão algumas estratégias avançadas:
Realize meta-sumarização para resumir documentos longos
A sumarização legal frequentemente envolve lidar com documentos longos ou muitos documentos relacionados de uma vez, de modo que você ultrapasse a janela de contexto do Claude. Você pode usar um método de chunking conhecido como meta-sumarização para lidar com este caso de uso. Esta técnica envolve dividir documentos em pedaços menores e gerenciáveis e então processar cada pedaço separadamente. Você pode então combinar os resumos de cada pedaço para criar um meta-resumo do documento inteiro.
Aqui está um exemplo de como realizar meta-sumarização:
A função summarize_long_document
se baseia na função anterior summarize_document
dividindo o documento em pedaços menores e resumindo cada pedaço individualmente.
O código alcança isso aplicando a função summarize_document
a cada pedaço de 20.000 caracteres dentro do documento original. Os resumos individuais são então combinados, e um resumo final é criado a partir desses resumos em pedaços.
Note que a função summarize_long_document
não é estritamente necessária para nosso exemplo de PDF, já que o documento inteiro cabe dentro da janela de contexto do Claude. No entanto, ela se torna essencial para documentos que excedem a janela de contexto do Claude ou ao resumir múltiplos documentos relacionados juntos. Independentemente disso, esta técnica de meta-sumarização frequentemente captura detalhes importantes adicionais no resumo final que foram perdidos na abordagem anterior de resumo único.
Use documentos indexados por resumo para explorar uma grande coleção de documentos
Pesquisar uma coleção de documentos com um LLM geralmente envolve geração aumentada por recuperação (RAG). No entanto, em cenários envolvendo documentos grandes ou quando a recuperação precisa de informações é crucial, uma abordagem RAG básica pode ser insuficiente. Documentos indexados por resumo é uma abordagem RAG avançada que fornece uma maneira mais eficiente de classificar documentos para recuperação, usando menos contexto que os métodos RAG tradicionais. Nesta abordagem, você primeiro usa o Claude para gerar um resumo conciso para cada documento em seu corpus, e então usa o Clade para classificar a relevância de cada resumo para a consulta sendo feita. Para mais detalhes sobre esta abordagem, incluindo um exemplo baseado em código, confira a seção de documentos indexados por resumo no cookbook de sumarização.
Faça fine-tuning do Claude para aprender com seu conjunto de dados
Outra técnica avançada para melhorar a capacidade do Claude de gerar resumos é o fine-tuning. O fine-tuning envolve treinar o Claude em um conjunto de dados personalizado que se alinha especificamente com suas necessidades de sumarização legal, garantindo que o Claude se adapte ao seu caso de uso. Aqui está uma visão geral de como realizar o fine-tuning:
-
Identifique erros: Comece coletando instâncias onde os resumos do Claude ficam aquém - isso pode incluir perder detalhes legais críticos, mal entender o contexto ou usar terminologia legal inadequada.
-
Curadoria de um conjunto de dados: Uma vez que você identificou esses problemas, compile um conjunto de dados desses exemplos problemáticos. Este conjunto de dados deve incluir os documentos legais originais junto com seus resumos corrigidos, garantindo que o Claude aprenda o comportamento desejado.
-
Realize o fine-tuning: O fine-tuning envolve retreinar o modelo em seu conjunto de dados curado para ajustar seus pesos e parâmetros. Este retreinamento ajuda o Claude a entender melhor os requisitos específicos de seu domínio legal, melhorando sua capacidade de resumir documentos de acordo com seus padrões.
-
Melhoria iterativa: O fine-tuning não é um processo único. Conforme o Claude continua a gerar resumos, você pode iterativamente adicionar novos exemplos onde ele teve desempenho abaixo do esperado, refinando ainda mais suas capacidades. Ao longo do tempo, este ciclo contínuo de feedback resultará em um modelo que é altamente especializado para suas tarefas de sumarização legal.
Was this page helpful?