# LegalNLP **Repository Path**: elfbobo_admin_admin/Multi-Class-Legal-Dispute-Intelligent-Classification-System ## Basic Information - **Project Name**: LegalNLP - **Description**: 在法律咨询服务中,快速准确地识别用户咨询的问题类型(如交通事故、医疗纠纷、侵权等)是提高服务效率的关键。传统的人工分类方式耗时耗力,且依赖专业经验。通过自然语言处理(NLP)技术构建自动分类系统,可帮助法律平台、律所或公益机构快速实现、数据分析自动化分类、资源分配优化等。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-29 - **Last Updated**: 2025-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README - ### 项目名称: **"基于法律咨询文本的多类别纠纷智能分类系统"** **Multi-Class Legal Dispute Intelligent Classification System** ### 项目背景: 在法律咨询服务中,快速准确地识别用户咨询的问题类型(如交通事故、医疗纠纷、侵权等)是提高服务效率的关键。传统的人工分类方式耗时耗力,且依赖专业经验。通过自然语言处理(NLP)技术构建自动分类系统,可帮助法律平台、律所或公益机构实现以下目标: 1. **自动化分类**:将海量咨询自动归类到预定义的纠纷类型,辅助律师或客服快速响应。 2. **资源分配优化**:根据纠纷类型分配对应领域的专业律师。 3. **数据分析**:挖掘高频纠纷类型,为普法宣传或政策制定提供依据。 ### 数据特点: - **输入文本**:用户咨询的问题描述(如“交通事故中,保险公司不闻不问…”)。 - **辅助文本**(可选):律师的简要回答(如“可治疗结束后起诉解决”),可作为补充特征。 - **标签**:法律纠纷类别(如交通事故、医疗纠纷等)。 ### 实施计划: #### 1. 数据预处理 - **清洗**:去除无关符号、错别字修正、统一表述(如“医保”与“农医保”归一化)。 - **增强**(可选): - 对样本少的类别(如“公司法”),通过同义词替换或生成模型(如GPT-3.5)合成数据。 - 结合律师回答文本,构建“问题+回答”联合输入,提升分类线索。 #### 2. 特征工程 - **文本向量化**: - 传统方法:TF-IDF + N-gram(捕捉关键词如“伤残鉴定”“医保报销”)。 - 深度方法:预训练词向量(如Word2Vec)或句向量(如Sentence-BERT)。 - **关键信息提取**(可选): - 命名实体识别(NER)提取法律相关实体(如“十级伤残”“物业”)。 #### 3. 模型选型与训练 - **基线模型**: - 逻辑回归/LightGBM(TF-IDF特征)。 - TextCNN/BiLSTM(深度模型 baseline)。 - **进阶模型**: - **微调预训练模型**:如BERT、RoBERTa,适应法律领域文本。 - **多任务学习**:联合学习“问题分类”和“回答生成”,提升泛化性。 - **评估指标**: - 多分类准确率、F1-score(尤其关注少数类)。 #### 4. 部署与应用 - **输出形式**: - REST API:输入用户咨询文本,返回纠纷类型及置信度。 - 可视化看板:展示高频纠纷统计(如交通事故占比30%)。 - **持续优化**: - 用户反馈闭环:人工纠正错误分类,迭代模型。 ### 潜在挑战与解决方案: - **类别不平衡**:过采样少数类或损失函数加权(如Focal Loss)。 - **领域术语歧义**:如“登记”在“公司法”与“房产纠纷”中含义不同,需结合上下文建模。 ### 项目意义: - **社会价值**:提升法律咨询效率,降低弱势群体维权门槛。 - **商业价值**:为法律科技公司提供智能客服核心模块。 ### 扩展方向: - **细粒度分类**:如“交通事故”下细分“保险纠纷”“责任认定”。 - **多语言支持**:覆盖方言或少数民族语言咨询。 # 法律咨询文本分类项目结构 ## 目录结构 ./ ├── data/ │ ├── data_process/ # 数据预处理脚本 │ ├── raw_data/ # 原始数据 │ ├── train_data/ # 训练集 │ └── valid_data/ # 验证集 │ ├── model/ │ ├── .env # 环境配置 │ ├── processed_data/ # 处理后的中间数据 │ ├── config/ # 模型配置文件 │ ├── log/ # 训练日志 │ ├── fig/ # 可视化图表 │ ├── model/ # 保存的模型 │ │ │ ├── data_process.py # 数据处理 │ ├── dataloader.py # 数据加载 │ ├── model.py # 模型定义 │ ├── train.py # 训练脚本 │ ├── eval.py # 评估脚本 │ └── predict.py # 预测脚本 │ └── app/ ├── api/ # API接口 └── app/ # 应用核心 ## 模型选型 1. **传统机器学习** - XGBoost/LightGBM 2. **深度学习** - fasttext - bert-base-chinese 3. **大语言模型** - LLM ### **数据分析与处理方案** #### **1. 脏数据清洗** - **问题**:原始文本中包含大量无用特殊符号(如`\t`、`\n`、`-_+%?`等)。 - **解决方案**: - 将`\t`、`\n`等符号替换为空格或逗号。 - 利用正则表达式高效去除其他冗余符号,确保数据纯净性。 #### **2. 样本分布不均衡优化** - **问题**:原始样本分布极不均衡,部分类别占比不足5%,影响模型泛化能力。 - **解决方案**: - **类别筛选**:剔除样本量过少(<3000条)的分类,将问题从57分类精简至11分类。 - **重采样技术**: - 对少数样本采用过采样(如SMOTE)。 - 对多数样本采用欠采样,平衡数据分布。 - **数据增强**: - 少数样本:通过同义词替换、回译法生成新样本。 - 多数样本:适当删减冗余数据,实现类别均衡。 #### **3. 数据集划分** - **策略**:按9:1比例划分测试集与验证集。 - **结果**: - 总样本量:33万条。 - 测试集:29万条(模型训练与调优)。 - 验证集:4万条(性能评估)。