일반적인 사용 사례에 대한 클로드의 가이드: 법률 요약
이 가이드에서는 Claude의 고급 자연어 처리 기능을 활용하여 법률 문서를 효율적으로 요약하고, 핵심 정보를 추출하고, 법률 연구를 가속화하는 방법을 설명합니다. Claude를 사용하면 계약서 검토, 소송 준비 및 규정 준수를 간소화하여 시간을 절약하고 법률 절차의 정확성을 보장할 수 있습니다.
방문하기 추상 레시피 를 참조하여 Claude를 사용한 법률 요약 예시를 구현해 보세요.
클로드와 함께 빌드하기 전
법률 요약에 Claude를 사용할지 여부 결정하기
다음은 Claude와 같은 LLM을 사용하여 법률 문서를 요약하는 데 필요한 몇 가지 핵심 지침입니다:
대량의 문서를 효율적이고 경제적으로 검토하고 싶은 경우
수작업으로 대량의 문서를 검토하는 것은 시간과 비용이 많이 들 수 있는데, Claude는 대량의 법률 문서를 신속하게 처리하고 요약하여 문서 검토에 필요한 시간과 비용을 크게 절감할 수 있습니다. 이 기능은 실사, 계약서 분석 또는 소송 증거 개시와 같이 효율성이 중요한 업무에서 특히 유용합니다.
주요 메타데이터를 자동으로 추출해야 합니다.
Claude는 관련 당사자, 날짜, 계약 조건 또는 특정 조항과 같은 법률 문서에서 중요한 메타데이터를 효율적으로 추출하고 분류합니다. 이 자동 추출 기능은 정보를 정리하고 대용량 문서 컬렉션을 더 쉽게 검색, 분석, 관리할 수 있도록 도와줍니다. 특히 계약 관리, 규정 준수 확인 또는 검색 가능한 법률 정보 데이터베이스를 만드는 데 유용합니다.
명확하고 간결하며 표준화된 요약을 생성하고 싶을 때
Claude는 사전 정의된 형식을 따르는 구조화된 요약을 생성하여 법률 전문가가 다양한 문서의 핵심을 빠르게 파악할 수 있도록 지원합니다. 이러한 표준화된 요약은 가독성을 높이고 문서 간 비교를 용이하게 하며 특히 복잡한 법률 언어나 전문 용어를 다룰 때 전반적인 이해도를 높여줍니다.
초록에 정확한 인용을 제공해야 합니다.
법률 요약을 작성할 때 적절한 출처 표시와 인용은 신뢰성을 보장하고 법률 표준을 준수하는 데 필수적이며, Claude는 인용된 모든 법률 조항에 대해 정확한 인용을 제공하라는 메시지를 표시하여 법률 전문가가 요약된 정보를 쉽게 검토하고 검증할 수 있도록 합니다.
법률 조사 프로세스를 간소화하고 속도를 높이려는 경우
Claude는 방대한 양의 판례, 법령 및 법률 검토를 신속하게 분석하여 법률 연구를 지원할 수 있습니다. 관련 판례를 식별하고, 주요 법적 원칙을 추출하며, 복잡한 법적 논거를 요약합니다. 이 기능은 연구 프로세스의 속도를 크게 높여 법률 전문가가 더 높은 수준의 분석과 전략 개발에 집중할 수 있도록 해줍니다.
요약에서 추출할 세부 정보를 식별합니다.
주어진 문서에 대한 올바른 요약은 하나도 없습니다. 명확한 방향이 없으면 어떤 세부 정보를 포함할지 결정하는 데 어려움을 겪을 수 있습니다. 최상의 결과를 얻으려면 요약에 포함할 구체적인 정보를 파악하세요.
예를 들어 전대 계약을 요약할 때 다음과 같은 핵심 사항을 추출할 수 있습니다:
details_to_extract = [
'相关方(转租人、转租承租人和原出租人)',
'物业详情(地址、描述和允许用途)',
'期限和租金(开始日期、结束日期、月租金和保证金)',
'责任(公用设施、维护和维修)',
'同意和通知(房东的同意和通知要求)',
'特别条款(家具、停车位和转租限制)'
]
성공 기준 수립
요약의 품질을 평가하는 것은 매우 까다로운 작업으로 악명이 높습니다. 다른 많은 자연어 처리 작업과 달리 초록 평가는 일반적으로 명확하고 객관적인 지표가 부족합니다. 이 과정은 매우 주관적인 경우가 많으며 독자마다 초록의 여러 측면을 다르게 평가할 수 있습니다. 평가할 때 예상할 수 있는 사항은 다음과 같습니다. Claude 법률 개요를 구현할 때 고려해야 할 기준이 있습니다.
사실의 정확성
요약은 문서의 사실, 법적 개념 및 핵심 사항을 정확하게 제시해야 합니다.
법적 정확성
법령, 판례 또는 규정에 대한 용어와 참조는 정확해야 하며 법적 기준에 따라야 합니다.
단순성
요약문은 중요한 세부 사항을 생략하지 않고 법률 문서의 핵심을 압축해야 합니다.
일관성
여러 문서를 요약하는 경우 빅 언어 모델은 각 요약에 대해 일관된 구조와 처리를 유지해야 합니다.
가독성
텍스트는 명확하고 이해하기 쉬워야 합니다. 청중이 법률 전문가가 아닌 경우 요약에 청중을 혼란스럽게 할 수 있는 법률 용어가 포함되어서는 안 됩니다.
편견과 공정성
초록은 공정하고 편견 없는 법적 주장과 입장을 제시해야 합니다.
다음 사항에 대해 자세히 알아보려면 가이드를 확인하세요. 성공 기준 수립 메시지.
Claude를 사용하여 법률 문서를 요약하는 방법
적합한 Claude 모델 선택
법률 문서를 요약할 때는 모델의 정확도가 매우 중요하며, Claude 3.5 Sonnet은 높은 수준의 정확도가 요구되는 이러한 사용 사례에 탁월한 선택입니다. 문서의 크기와 수가 많아 비용이 문제가 되는 경우, Claude 3 하이쿠와 같은 더 작은 모델을 사용해 볼 수도 있습니다.
이러한 비용을 추정하는 데 도움이 되도록 소네트 및 하이쿠를 사용하여 1,000개의 전대 계약을 요약하는 데 드는 비용을 비교해보았습니다:
- 콘텐츠 규모
- 계약 건수: 1,000건
- 계약당 글자 수: 300,000
- 총 글자 수: 3억
- 예상 토큰
- 입력 토큰: 8600만개(가정 1) 토큰 (3.5자에 해당)
- 초록당 출력 토큰: 350
- 총 출력 토큰: 350,000
- 클로드 3.5 소네트 예상 비용
- 토큰 비용 입력: 86 MTok * $3.00/MTok = $258
- 출력 토큰 비용: 0.35 MTok * $15.00/MTok = $5.25
- 총 비용: $258.00 + $5.25 = $263.25
- 클로드 3 하이쿠 예상 비용
- 입력 토큰 비용: 86 MTok * $0.25/MTok = $21.50
- 출력 토큰 비용: 0.35 MTok * $1.25/MTok = $0.44
- 총 비용: $21.50 + $0.44 = $21.96
실제 비용은 이 추정치와 다를 수 있습니다. 위의 추정치는 다음을 기준으로 합니다. 프롬프트 챕터의 예제.
클라우드가 처리할 수 있는 형식으로 파일 변환하기
문서 요약을 시작하기 전에 데이터를 준비해야 합니다. 여기에는 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])
# 去除多余的空格
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])
이 예에서는 먼저 전대 계약서 PDF를 다운로드했습니다. 요약 쿡북 . 이 계약은 sec.gov 웹사이트 전대 계약서에 공개된 전대 계약서는
pypdf 라이브러리를 사용해 PDF의 내용을 추출하고 텍스트로 변환합니다. 그런 다음 중복 공백과 페이지 번호를 제거하여 텍스트 데이터를 정리합니다.
강력한 단서 구축
Claude는 다양한 요약 스타일에 맞게 조정할 수 있습니다. 필요에 따라 단서 단어의 세부 사항을 조정하여 Claude가 더 상세하거나 간결한 콘텐츠를 생성하도록 안내하거나, 전문 용어를 더 많이 또는 더 적게 포함하거나, 문맥 요약의 수준을 더 높거나 낮추도록 할 수 있습니다.
다음은 전대차 계약을 분석할 때 생성되는 요약이 일관된 구조를 따르도록 하기 위해 단서를 만드는 방법을 보여주는 예입니다:
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)
이 코드는 summarize_document
함수를 사용하여 전대 계약의 내용을 요약합니다. 이 함수는 텍스트 문자열과 추출할 세부 정보 목록을 입력으로 받습니다. 이 예에서는 document_text
노래로 응답 details_to_extract
변수가 이 함수를 호출합니다.
함수 내부에는 요약할 문서, 추출할 세부 정보, 문서 요약을 위한 구체적인 지침이 포함된 Claude용 큐워드가 생성됩니다. 이 프롬프트는 Claude에게 추출된 각 세부 사항의 요약을 중첩된 XML 태그로 반환하도록 지시합니다.
요약의 각 부분을 태그 안에 출력하기로 했으므로 후처리 단계에서 각 부분을 쉽게 파싱할 수 있습니다. 이 접근 방식은 구조화된 요약을 생성하고 사용 시나리오에 맞게 조정하며 각 요약이 동일한 패턴을 따르도록 보장합니다.
단서 단어 평가
큐 워드는 일반적으로 실제 사용 전에 테스트와 최적화를 거쳐야 합니다. 솔루션이 준비되었는지 확인하려면 정량적 방법과 정성적 방법을 결합한 체계적인 프로세스를 사용하여 요약의 품질을 평가하세요. 정의된 기준에 따라 성공 기준 만들기강력한 경험적 평가를 사용하면 프롬프트 단어를 최적화하는 데 도움이 됩니다. 다음은 평가에 포함할 수 있는 몇 가지 메트릭입니다:
루즈 점수
BLEU 점수
컨텍스트 임베딩 유사성
LLM 기반 채점
수동 평가
배포 팁
솔루션을 프로덕션 환경에 배포할 때 다음 고려 사항을 염두에 두세요.
- 법적 책임의 위험이 없는지 확인합니다: 초록의 오류로 인해 조직이나 고객에게 법적 책임이 발생할 수 있는 잠재적인 법적 영향을 이해합니다. 초록이 AI에 의해 생성되었으므로 법률 전문가의 검토가 필요하다는 면책 조항 또는 법적 진술서를 제공하세요.
- 여러 문서 유형을 처리합니다: 이 가이드에서는 PDF에서 텍스트를 추출하는 방법에 대해 설명합니다. 실제로는 문서가 여러 형식(PDF, Word 문서, 텍스트 파일 등)으로 되어 있을 수 있습니다. 데이터 추출 프로세스가 수신할 수 있는 모든 파일 형식을 변환하는지 확인하세요.
- Claude의 API에 대한 병렬 호출: 많은 수의 토큰이 포함된 긴 문서의 경우, Claude가 다이제스트를 생성하는 데 최대 1분까지 소요될 수 있습니다. 대규모 문서 컬렉션의 경우, 합리적인 시간 내에 다이제스트가 완료되도록 하기 위해 Claude에 API 호출을 병렬로 보내야 할 수도 있습니다. Anthropic의 속도 제한 를 사용하여 병렬로 실행할 수 있는 최대 API 호출 수를 결정합니다.
성능 향상
복잡한 시나리오의 경우 표준 외에도 엔지니어링을 위한 팁 그 외에도 성능 향상을 위한 몇 가지 추가 전략을 고려하는 것이 도움이 될 수 있습니다. 다음은 몇 가지 고급 전략입니다:
긴 문서를 요약하는 경영진 메타 요약
법률 요약에는 종종 긴 문서나 여러 개의 관련 문서를 처리해야 하는 경우가 있는데, 이 경우 Claude의 컨텍스트 창 밖에 있을 수 있습니다. 이러한 상황을 처리하기 위해 메타 다이제스트라는 청크 처리 방법을 사용할 수 있습니다. 이 기술은 문서를 관리하기 쉬운 작은 청크로 분할한 다음 각 청크를 개별적으로 처리하는 것입니다. 그런 다음 각 청크의 요약을 결합하여 전체 문서의 메타 요약을 생성할 수 있습니다.
다음은 메타 요약을 수행하는 방법의 예입니다:
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
함수는 이전 summarize_document
함수를 사용하면 문서를 작은 덩어리로 분할하고 각 덩어리를 개별적으로 요약하는 방식으로 이 작업을 수행합니다.
이 코드는 summarize_document
이 기능은 원본 문서의 각 20,000자 블록에 적용되어 이를 달성합니다. 그런 다음 각 블록의 요약을 결합하여 이러한 블록 요약으로 구성된 최종 요약을 생성합니다.
예제 PDF의 경우summarize_long_document
함수가 꼭 필요한 것은 아닙니다. 전체 문서가 Claude의 컨텍스트 창에 들어갈 수 있기 때문입니다. 하지만 문서가 Claude의 컨텍스트 창을 초과하거나 여러 개의 관련 문서를 요약해야 하는 경우 이 접근 방식은 매우 중요합니다. 어쨌든 이 메타 요약 기법은 이전의 단일 요약 방식에서는 놓쳤던 더 중요한 세부 사항을 최종 요약에서 포착할 수 있는 경우가 많습니다.
요약 색인 문서를 사용하여 많은 수의 문서 탐색하기
대규모 언어 모델(LLM)을 사용해 문서 컬렉션을 검색할 때는 일반적으로 검색 증강 생성(RAG)이 사용됩니다. 하지만 대용량 문서가 포함되거나 정확한 정보 검색이 중요한 시나리오에서는 기본적인 RAG 방법만으로는 충분하지 않을 수 있습니다. 요약 색인된 문서는 기존 RAG 방법보다 적은 컨텍스트를 사용하여 검색할 문서의 순위를 매기는 보다 효율적인 방법을 제공하는 고급 RAG 방법입니다. 이 접근 방식에서는 먼저 말뭉치에 있는 각 문서에 대한 간결한 요약을 생성하는 데 Claude를 사용한 다음, 각 요약과 쿼리의 관련성 순위를 매기는 데 Clade를 사용합니다. 코드 기반 예시를 포함하여 이 접근 방식에 대한 자세한 내용은 요약 쿡북 요약 색인 문서 섹션의
데이터 집합을 학습하도록 Claude 미세 조정하기
Claude의 요약 생성 기능을 개선하기 위한 또 다른 고급 기법은 미세 조정입니다. 미세 조정에는 사용자의 법적 요약 요구 사항에 매우 부합하는 사용자 지정 데이터 세트에 대해 Claude를 훈련시켜 사용 시나리오에 맞게 조정하는 것이 포함됩니다. 다음은 미세 조정 수행에 대한 개요입니다:
- 오인 식별: 먼저 요구 사항을 충족하지 않는 클로드 요약의 예를 수집하여 주요 법적 세부 사항을 생략하거나 문맥을 잘못 이해하거나 부적절한 법률 용어를 사용하는 등의 사례를 수집하세요.
- 데이터 세트 준비: 이러한 문제가 확인되면 이러한 문제의 예가 포함된 데이터 세트를 컴파일합니다. 이 데이터 세트에는 원본 법률 문서와 수정된 요약본이 포함되어야 Claude가 원하는 동작을 학습할 수 있습니다.
- 미세 조정 구현: 미세 조정에는 수집한 데이터 세트에 대해 모델을 재학습시켜 가중치와 매개변수를 조정하는 작업이 포함됩니다. 이러한 재학습을 통해 Claude는 법률 분야의 특정 요구 사항을 더 잘 이해하여 사용자의 기준에 따라 문서를 요약하는 능력을 향상시킬 수 있습니다.
- 반복적인 개선: 미세 조정은 한 번으로 끝나는 것이 아닙니다. Claude가 계속해서 요약을 생성함에 따라 실적이 저조한 새로운 예시를 반복적으로 추가하여 기능을 더욱 개선할 수 있습니다. 시간이 지남에 따라 이러한 지속적인 피드백 루프를 통해 법률 요약 작업에 특화된 고도로 전문화된 모델을 만들 수 있습니다.
미세 조정은 현재 아마존 베드락을 통해서만 이용할 수 있습니다. 자세한 내용은 다음을 참조하세요. AWS 퍼블리싱 블로그.
© 저작권 정책
文章版权归 AI 공유 서클 所有,未经允许请勿转载。
관련 문서
댓글 없음...