[kit-law-in-comm] AI Assistant-Based Legal Consultation Community
국립금오공과대학교 컴퓨터공학부 소프트웨어전공 2025-01 학기 캡스톤디자인2에서, AI 어시스턴트 답변 작성을 위한 RAG시스템 구축 시 법률 문서를 효과적으로 검색하기 위한 임베딩 모델 KURE-legal-ft-v1을 개발하였습니다.
nlpai-lab/KURE-v1 모델을 기반으로 AI Hub의 법률/규정 텍스트 분석 데이터 (고도화)- 상황에 따른 판례 데이터를 기반으로 법률 문서 검색에 특화되도록 미세 조정 된 모델입니다.
SentenceTransformer based on nlpai-lab/KURE-v1
This is a sentence-transformers model finetuned from nlpai-lab/KURE-v1. It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: nlpai-lab/KURE-v1
- Maximum Sequence Length: 8192 tokens
- Output Dimensionality: 1024 dimensions
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
(2): Normalize()
)
Usage
Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("kakao1513/KURE-legal-ft-v1")
# Run inference
sentences = [
"수사기록 중 '청구인(고소인)이 진술한 고소인 진술조서'와 '불기소장' 외의 수사기록은 공개하는 경우 수사상 기밀이 누설될 우려가 있으므로 「공공기관의 정보공개에 관한 법률」 제9조제1항제4호에서 규정한 ‘수사, 공소의 제기’에 관한 사항으로 비공개대상정보에 해당할 수도 있나요?",
"다음으로, 청구인이 공개를 청구한 정보 중 '3. 본 건 항고심사회의 변호사와 법학교수에게 제시한 참고서류 사본 1부'에 대하여 판단해 보면, 피청구인이 이 건 항고심사회의 변호사와 법학교수에게 제시한 참고서류는 '사법경찰관 작성의 사건송치 의견서', '불기소장', '검사작성의 항고사건에 대한 의견서', '고소인 또는 참고인 진술조서', '검찰 작성의 피의자신문조서' 등 수사기록으로 되어 있는데, 수사기록에 대한 정보공개청구권의 행사는 때에 따라 국가의 안전보장, 질서유지 및 공공복리라는 국가·사회적 법익뿐만 아니라 당해 형사사건에 직접·간접으로 관계를 가지고 있는 피의자나 참고인 등의 명예와 인격, 사생활의 비밀 또는 생명·신체의 안전과 평온 등의 기본권의 보장과 충돌되는 경우가 있을 수 있으므로 그 행사는 이러한 국가·사회적 법익이나 타인의 기본권과 상호 조화될 수 있는 범위 내에서 정당성을 가진다 할 것이나 구체적인 경우에 수사기록에 대한 정보공개청구권의 행사가 위와 같은 범위를 벗어난 것이라고 하여 그 공개를 거부하기 위해서는 그 대상이 된 수사기록의 내용을 구체적으로 확인·검토하여 그 어느 부분이 어떠한 법익 또는 기본권과 충돌되는지를 살펴보아야 할 것인바, 위 인정사실과 관계법령에 의하면, 수사기록 중 '청구인(고소인)이 진술한 고소인 진술조서'와 '불기소장' 외의 수사기록은 수사기관의 내부문서 또는 청구인 이외의 자가 진술한 서류로써 공개하는 경우 수사상 기밀이 누설될 우려가 있고 이 건 불기소에 대한 불복절차가 진행중이며, 청구인 이외의 사건관련 진술인의 명예나 사생활의 비밀 또는 생활의 평온을 해할 우려가 있는 「공공기관의 정보공개에 관한 법률」 제9조제1항제4호에서 규정한 ‘수사, 공소의 제기’에 관한 사항으로 비공개대상정보에 해당하므로, 수사기록 중 '청구인(고소인)이 진술한 고소인 진술조서'와 '불기소장' 외의 수사기록에 대한 피청구인의 이 건 처분은 위법·부당하다 할 수 없을 것이다.",
'교육부 민원질의 회신에 따르면, "교생실습 등 교외로 현장학습을 나가는 경우에는 교내와 달리 장애학생 교육활동 도움 실적에 대한 직접적인 소명이 어려우므로, 비장애학생(도우미)이 장애학생에게 도움을 준 시간, 장소, 활동내용 등을 구체적으로 기재한 활동보고서, 실습기관장의 확인서, 서약서 등 학교가 요구하는 자료를 제출하면 대학 자체계획 등에 따라 검토, 확인 후 국가근로장학금(도우미 활동비) 지급 여부를 결정하게 됩니다."라고 회신하였습니다.(2015-05-26 [지방교육지원국 특수교육정책과] 회신 참조).\n위 회신에 비추어 볼 때, 질의사안의 경우 비장애학생(도우미)이 장애학생에게 도움을 준 시간, 장소, 활동내용 등을 구체적으로 기재한 활동보고서, 실습기관장의 확인서, 서약서 등 학교가 요구하는 자료를 제출하면 대학 자체계획 등에 따라 검토, 확인 후 국가근로장학금(도우미 활동비) 지급 여부를 결정할 수 있습니다.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
Evaluation
Metrics
Information Retrieval
- Dataset:
AI_HUB_legal_QA_data
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.8308 |
cosine_accuracy@3 | 0.9159 |
cosine_accuracy@5 | 0.9336 |
cosine_accuracy@10 | 0.9566 |
cosine_precision@1 | 0.8308 |
cosine_recall@1 | 0.8308 |
cosine_ndcg@5 | 0.889 |
cosine_ndcg@10 | 0.8966 |
cosine_mrr@10 | 0.877 |
cosine_mrr@50 | 0.8783 |
cosine_mrr@100 | 0.8784 |
cosine_map@10 | 0.877 |
cosine_map@50 | 0.8783 |
cosine_map@100 | 0.8784 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 56,612 training samples
- Columns:
anchor
andpositive
- Approximate statistics based on the first 1000 samples:
anchor positive type string string details - min: 11 tokens
- mean: 60.2 tokens
- max: 149 tokens
- min: 11 tokens
- mean: 246.23 tokens
- max: 1365 tokens
- Samples:
anchor positive 서울대학교가 법인화됨에 따라, 전국의 국립대들도 법인화 가능성이 있는데 국립대학법인 서울대학교 설립·운영에 관한 법률의 목적이 있나요?
국립대학법인 서울대학교 설립·운영에 관한 법률 제1조에 의하면, 국립대학법인 서울대학교를 설립하고 그 운영 등에 관한 사항을 규정함으로써 대학의 자율성과 사회적 책무를 제고하고 교육 및 연구 역량을 향상시킴을 목적으로 한다고 규정하고 있습니다.
丙이 과점주주가 된 당시 위 부동산에 관한 소유권은 乙 등에게 복귀되어 위 부동산에 대해 간주취득세의 과세요건을 충족하다고 보는가?
甲 주식회사가 乙 등과 부동산 매매계약을 체결하고 소유권이전등기를 선이행 받은 후 매매계약을 합의해제하였고, 그에 따른 원상회복의 방법으로 乙 등은 甲 회사를 상대로 진정명의회복을 원인으로 한 소유권이전등기청구 소송을 제기하여 승소 확정판결을 받았는데, 과세관청이 위 합의해제 후에 丙이 甲 회사 발행주식을 모두 취득하여 과점주주가 되었다는 이유로 丙에게 구 지방세법(2007. 12. 31. 법률 제8835호로 개정되기 전의 것, 이하 ‘구 지방세법’이라 한다) 제105조 제6항 등의 취득세 등 부과처분을 한 사안에서, 丙이 甲 회사의 발행주식을 모두 취득하여 과점주주가 된 당시 위 부동산에 관한 소유권은 이미 乙 등에게 원상태로 복귀되어 甲 회사 소유의 부동산에 해당하지 아니하게 되었으므로, 위 부동산에 대하여 구 지방세법 제105조 제6항 본문에서 정한 간주취득세의 과세요건을 충족하지 못하였다고 보아야 함에도 이와 달리 본 원심판결에 법리오해의 잘못이 있다고 한 사례다.
학생들을 진료하고 진료확인서를 발급할 경우, 일반적으로 개인정보보호나 의사협회 지침대로 학생이 진료를 받았다는 사실을 확인하는 진료확인서에는 질병코드를 기재하지 않는데, 질병코드를 요구하는 학교의 요청이 많아지고 있다고 합니다. 학교에서 질병명의 확인이 반드시 필요한 건가요?
학교보건법 제8조에 의하면, 학교의 장은 제7조에 따른 건강검사의 결과나 의사의 진단 결과 감염병에 감염되었거나 감염된 것으로 의심되거나 감염될 우려가 있는 학생 및 교직원에 대하여 대통령령으로 정하는 바에 따라 등교를 중지시킬 수 있다고 규정하고 있습니다.
또한, 「학교생활기록 작성 및 관리지침」 별지 제8호에 의하면, ‘출결상황 관리’에서는 법정 감염병 등(학교 내 확산 방지를 위해 학교장이 필요하다고 인정하는 비법정 감염병을 포함)으로 인한 결석, 지각, 조퇴, 결과에 대해서는 출석으로 처리하도록 규정하고 있습니다.
따라서 이러한 규정에 비추어 보면, 학교에서는 의료기관에 가서 진료받는 학생의 등교중지 여부와 출결상황 관리 등을 위해 병원에서 진료확인서를 발급하는 경우 학생의 진료결과(질병명) 확인을 반드시 해야하다고 판단됩니다. - Loss:
CachedMultipleNegativesRankingLoss
with these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Evaluation Dataset
Unnamed Dataset
- Size: 7,076 evaluation samples
- Columns:
anchor
andpositive
- Approximate statistics based on the first 1000 samples:
anchor positive type string string details - min: 9 tokens
- mean: 59.82 tokens
- max: 155 tokens
- min: 18 tokens
- mean: 248.81 tokens
- max: 1683 tokens
- Samples:
anchor positive 시·도지사가 자치구의 장을 상대로 그 자치구의 지방의회 조례안 의결의 효력 또는 그에 의한 조례의 존재나 효력을 다투는 소를 제기할 수 있는가?
행정소송법 제3조 제4호와 제45조에 의하면 국가 또는 공공단체의 기관 상호간에 권한의 존부 또는 그 행사에 관한 다툼이 있을 때에 이에 대하여 제기하는 기관소송은 법률이 정한 경우에 법률이 정한 자에 한하여 제기할 수 있다고 규정하여 이른바 기관소송 법정주의를 취하고 있는바, 지방자치법 제159조는 시·도지사가 자치구의 장에게 그 자치구의 지방의회 의결에 대한 재의 요구를 지시하였음에도 자치구의 장이 그에 따르지 아니하였다 하여, 바로 지방의회의 의결이나 그에 의한 조례의 효력을 다투는 소를 자치구의 장을 상대로 제기할 수 있는 것으로 규정하고 있지는 아니하고, 달리 지방자치법상 이러한 소의 제기를 허용하고 있는 근거 규정을 찾아볼 수 없으므로, 시·도지사가 바로 자치구의 장을 상대로 조례안 의결의 효력 혹은 그에 의한 조례의 존재나 효력을 다투는 소를 제기하는 것은 지방자치법상 허용되지 아니하는 것이라고 볼 수밖에 없다.
새로이 취득한 건축물이 주거용으로서 기능을 상당 부분 상실함으로써 정상적인 주거생활에 사용할 수 없어 주거용 건축물인 ‘주택’으로 볼 수 없는 경우, 취득세 감면대상에 해당하는가?
구 지방세특례제한법 제40조의2를 도입한 취지와 목적은 2005년 부동산 세제 개편으로 ‘부동산 가격공시 및 감정평가에 관한 법률’에 의한 개별주택가격과 공동주택가격이 주택의 시가표준액이 되는 등 취득세와 등록세 과세표준이 상승함에 따른 납세의무자의 급격한 세부담 증가를 완화하고 주택거래의 활성화를 도모하기 위한 데에 있다. 따라서 이 사건 감면조항에서 취득세의 감면대상으로 삼고 있는 ‘주택’은 사람의 주거용인 건축물을 가리키는 것으로 보아야 하므로, 새로이 취득한 건축물이 주거용으로서 기능을 상당 부분 상실함으로써 더 이상 주거용 건축물인 ‘주택’으로 볼 수 없다면 이는 이 사건 감면조항에 따른 취득세의 감면대상에 해당한다고 할 수 없다.
이 사건 감면조항은 새로운 주택의 취득으로 1주택 보유자가 되는 경우 또는 일시적으로 2주택 보유자가 되는 경우만을 적용대상으로 삼고 있으므로, 새로운 주택의 취득으로 3주택 이상 보유자가 되는 경우에는 이 사건 감면조항에 따른 취득세의 감면대상에 해당하지 않는다.수사기관에 제출된 매매계약서상의 취득가격을 과세표준으로 하여 취득세 및 등록세를 부과한 처분이 신의칙 또는 금반언의 원칙에 반하나요?
구 지방세법(1995. 12. 6. 법률 제4995호로 삭제되기 전의 것) 제111조 제6항의 규정의 취지는 사실상의 취득가격을 증빙하는 증서의 범위를 공정증서·계약서 및 이에 준하는 정도의 신빙성을 갖춘 기타 증서로 한정하여 대통령령에 구체적인 증서의 종류를 정할 것을 위임하였다고 할 것이므로 이를 포괄위임을 금지하는 헌법 제75조 등의 규정에 반하는 규정이라고 할 수 없으며, 법 제111조 제1항이 취득세의 과세표준은 취득 당시의 가액으로 한다고 규정하고 있음에 비추어 보면, 법 제111조 제6항의 규정 및 구 지방세법시행령(1995. 12. 30. 대통령령 제14878호로 삭제되기 전의 것) 제82조의2 제2항 제3호의 규정이 소정의 증서에 의하여 취득가액이 입증되는 경우에는 법 제111조 제2항 단서 및 제3항의 규정에 불구하고 과세시가표준액이 아닌 취득가액을 과세표준으로 한다는 규정이므로 이 규정들이 납세자의 법적 안정성과 예측가능성을 해치는 조항으로서 실질적 조세법률주의를 규정한 헌법 제38조 및 제59조 등에 반한다고도 할 수 없다.
- Loss:
CachedMultipleNegativesRankingLoss
with these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy
: stepsper_device_train_batch_size
: 512learning_rate
: 0.0001weight_decay
: 0.001num_train_epochs
: 2warmup_ratio
: 0.005fp16
: Truegradient_checkpointing
: Truebatch_eval_metrics
: Trueeval_on_start
: Truebatch_sampler
: no_duplicates
All Hyperparameters
Click to expand
overwrite_output_dir
: Falsedo_predict
: Falseeval_strategy
: stepsprediction_loss_only
: Trueper_device_train_batch_size
: 512per_device_eval_batch_size
: 8per_gpu_train_batch_size
: Noneper_gpu_eval_batch_size
: Nonegradient_accumulation_steps
: 1eval_accumulation_steps
: Nonetorch_empty_cache_steps
: Nonelearning_rate
: 0.0001weight_decay
: 0.001adam_beta1
: 0.9adam_beta2
: 0.999adam_epsilon
: 1e-08max_grad_norm
: 1.0num_train_epochs
: 2max_steps
: -1lr_scheduler_type
: linearlr_scheduler_kwargs
: {}warmup_ratio
: 0.005warmup_steps
: 0log_level
: passivelog_level_replica
: warninglog_on_each_node
: Truelogging_nan_inf_filter
: Truesave_safetensors
: Truesave_on_each_node
: Falsesave_only_model
: Falserestore_callback_states_from_checkpoint
: Falseno_cuda
: Falseuse_cpu
: Falseuse_mps_device
: Falseseed
: 42data_seed
: Nonejit_mode_eval
: Falseuse_ipex
: Falsebf16
: Falsefp16
: Truefp16_opt_level
: O1half_precision_backend
: autobf16_full_eval
: Falsefp16_full_eval
: Falsetf32
: Nonelocal_rank
: 0ddp_backend
: Nonetpu_num_cores
: Nonetpu_metrics_debug
: Falsedebug
: []dataloader_drop_last
: Falsedataloader_num_workers
: 0dataloader_prefetch_factor
: Nonepast_index
: -1disable_tqdm
: Falseremove_unused_columns
: Truelabel_names
: Noneload_best_model_at_end
: Falseignore_data_skip
: Falsefsdp
: []fsdp_min_num_params
: 0fsdp_config
: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap
: Noneaccelerator_config
: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed
: Nonelabel_smoothing_factor
: 0.0optim
: adamw_torchoptim_args
: Noneadafactor
: Falsegroup_by_length
: Falselength_column_name
: lengthddp_find_unused_parameters
: Noneddp_bucket_cap_mb
: Noneddp_broadcast_buffers
: Falsedataloader_pin_memory
: Truedataloader_persistent_workers
: Falseskip_memory_metrics
: Trueuse_legacy_prediction_loop
: Falsepush_to_hub
: Falseresume_from_checkpoint
: Nonehub_model_id
: Nonehub_strategy
: every_savehub_private_repo
: Nonehub_always_push
: Falsegradient_checkpointing
: Truegradient_checkpointing_kwargs
: Noneinclude_inputs_for_metrics
: Falseinclude_for_metrics
: []eval_do_concat_batches
: Truefp16_backend
: autopush_to_hub_model_id
: Nonepush_to_hub_organization
: Nonemp_parameters
:auto_find_batch_size
: Falsefull_determinism
: Falsetorchdynamo
: Noneray_scope
: lastddp_timeout
: 1800torch_compile
: Falsetorch_compile_backend
: Nonetorch_compile_mode
: Nonedispatch_batches
: Nonesplit_batches
: Noneinclude_tokens_per_second
: Falseinclude_num_input_tokens_seen
: Falseneftune_noise_alpha
: Noneoptim_target_modules
: Nonebatch_eval_metrics
: Trueeval_on_start
: Trueuse_liger_kernel
: Falseeval_use_gather_object
: Falseaverage_tokens_across_devices
: Falseprompts
: Nonebatch_sampler
: no_duplicatesmulti_dataset_batch_sampler
: proportional
Training Logs
Epoch | Step | Training Loss | Validation Loss | AI_HUB_legal_QA_data_cosine_ndcg@10 |
---|---|---|---|---|
0 | 0 | - | 0.0679 | 0.8268 |
0.0090 | 1 | 1.0801 | - | - |
0.1351 | 15 | 0.5444 | 0.0311 | 0.8591 |
0.2703 | 30 | 0.3986 | 0.0255 | 0.8727 |
0.4054 | 45 | 0.3238 | 0.0223 | 0.8753 |
0.5405 | 60 | 0.3266 | 0.0215 | 0.8821 |
0.6757 | 75 | 0.3242 | 0.0192 | 0.8866 |
0.8108 | 90 | 0.3058 | 0.0175 | 0.8899 |
0.9459 | 105 | 0.3034 | 0.0182 | 0.8917 |
1.0811 | 120 | 0.2257 | 0.0196 | 0.8906 |
1.2162 | 135 | 0.1686 | 0.0190 | 0.8927 |
1.3514 | 150 | 0.1778 | 0.0188 | 0.8921 |
1.4865 | 165 | 0.1714 | 0.0183 | 0.8969 |
1.6216 | 180 | 0.167 | 0.0192 | 0.8959 |
1.7568 | 195 | 0.1683 | 0.0187 | 0.8979 |
1.8919 | 210 | 0.1612 | 0.0186 | 0.8966 |
Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.4.1
- Transformers: 4.48.3
- PyTorch: 2.2.0a0+81ea7a4
- Accelerate: 1.3.0
- Datasets: 3.2.0
- Tokenizers: 0.21.0
Citation
BibTeX
Sentence Transformers
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
month = "11",
year = "2019",
publisher = "Association for Computational Linguistics",
url = "https://arxiv.org/abs/1908.10084",
}
CachedMultipleNegativesRankingLoss
@misc{gao2021scaling,
title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
year={2021},
eprint={2101.06983},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
- Downloads last month
- 9
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support
Model tree for kakao1513/KURE-legal-ft-v1
Evaluation results
- Cosine Accuracy@1 on AI HUB legal QA dataself-reported0.831
- Cosine Accuracy@3 on AI HUB legal QA dataself-reported0.916
- Cosine Accuracy@5 on AI HUB legal QA dataself-reported0.934
- Cosine Accuracy@10 on AI HUB legal QA dataself-reported0.957
- Cosine Precision@1 on AI HUB legal QA dataself-reported0.831
- Cosine Recall@1 on AI HUB legal QA dataself-reported0.831
- Cosine Ndcg@5 on AI HUB legal QA dataself-reported0.889
- Cosine Ndcg@10 on AI HUB legal QA dataself-reported0.897
- Cosine Mrr@10 on AI HUB legal QA dataself-reported0.877
- Cosine Mrr@50 on AI HUB legal QA dataself-reported0.878