山东大学软件学院项目实训个人纪实(二)——数据集的探索

        写作目的:为积极响应戴鸿君老师对项目实训内容的建设性意见,特写本系列个人纪实,记录团队在项目实训的工作中个人的贡献。

        写在前面的话:本阶段我因为特殊原因更换使用的电脑,因此对于一些基本的环境配置有了心得,特此记录

本阶段我的基本工作:

        1.收集模型调整训练数据

        2.学习基本的数据处理手段,对源数据进行清洗、调整、再存储。完成模型微调的第一步数据集的整理

数据集来源成果:需要提取文章中的案例内容与判决情况,用于模型测试数据集的建立

        3.学习vue前端设计思路,制作精美、互动性强的可视化界面

一、数据集梳理

        法律文书系统数据集最常见的来源是国家法律法规数据库,这里涵盖各种类型的法条,包括但不限于刑法、民法、治安管理处罚法等数百种法律文件。但是国家法律法规数据库的一大缺陷是,文本需要重新爬取,不适合懒人使用,有两个平台很适合用于模型调试数据集。

        1.北大法宝V6官网

        2.中华人民共和国法律手册

获取成果:

二、数据处理

        对于判决书,我们需要的只是法律案例分析和裁判结果,因此需要提取判决书中的相应文本,文本提取的基本步骤是使用正则表达式对文本进行匹配,就可以实现文本提取了。

        对于问答轮,因为已经是JSON格式的文件,因此不需要额外进行处理,使用JSON即可

判决书文本提取:

import re

# 正则表达式模式,用于匹配裁判要旨和判决依据法条
judgement_purpose_pattern = re.compile(
    r"\【裁判要旨\】(.*?)(?:\【|$)",
    re.DOTALL
)
law_article_pattern = re.compile(
    r'“(《*?》.*?第十一条第一款.*?规定的.*?)”',
    re.DOTALL
)

# 读取文件内容
file_path = './data.txt'  
with open(file_path, 'r', encoding='utf-8') as file:
    content = file.read()

# 搜索裁判要旨
judgement_purpose_match = judgement_purpose_pattern.search(content)
if judgement_purpose_match:
    judgement_purpose = judgement_purpose_match.group(1).strip()
    print("裁判要旨:")
    print(judgement_purpose)
else:
    print("未找到裁判要旨。")

# 搜索判决依据法条
law_article_match = law_article_pattern.search(content)
if law_article_match:
    law_article = law_article_match.group(1).strip()
    print("\n判决依据法条:")
    print(law_article)
else:
    print("未找到判决依据法条。")

        虽然每一个裁决书的格式类似,但是内容中涉及到该法律的裁决信息是难以设计,这包含着大量的文本内容变化,并不能简单用一个模板实现文本的处理。因此简单的尝试之后,我选择了学会正则表达式匹配法条的基本思路即可。

文本转化的思路:实践中,我们常常会遇到文本格式不对的问题, 但是一般来说,并没有简单而朴素的方式对文件进行格式转化,如.txt转化为.excel文件。因此这部分对文件转化给出简单的使用思路。

pdf表格转化为excel表格:

import PyPDF2
import pytesseract
import pandas as pd
import os

# 设置OCR引擎(如果需要)
# pytesseract.pytesseract.tesseract_cmd = r'/usr/bin/tesseract'  # 指定Tesseract OCR引擎的路径

# 将PDF文件转换为文本
def pdf_to_text(pdf_path):
    text = ""
    with open(pdf_path, 'rb') as file:
        reader = PyPDF2.PdfReader(file)
        num_pages = len(reader.pages)
        for page in range(num_pages):
            pdf_page = reader.pages[page]
            text += pdf_page.extract_text()
    return text

# 使用OCR识别文本
def ocr_text(image_path):
    text = pytesseract.image_to_string(image_path)
    return text

# 将文本保存为Excel文件
def save_text_as_excel(text, output_path):
    lines = text.split('\n')
    data = [line.split() for line in lines if line.strip()]
    df = pd.DataFrame(data)
    df.to_excel(output_path, index=False)

# 主函数
def pdf_to_excel(pdf_folder, output_folder):
    pdf_files = [f for f in os.listdir(pdf_folder) if f.endswith('.pdf')]

    for pdf_file in pdf_files:
        pdf_path = os.path.join(pdf_folder, pdf_file)
        text = pdf_to_text(pdf_path)

        # 使用OCR识别文本(如果需要)
        # image_path = 'image.png'  # 将PDF转换为图像文件(可选)
        # text = ocr_text(image_path)

        excel_file = pdf_file.replace('.pdf', '.xlsx')
        output_path = os.path.join(output_folder, excel_file)
        save_text_as_excel(text, output_path)

    print("转换完成!")

# 调用函数进行转换
pdf_folder = 'D:\Project\python\KeShiHua\Exp2\data'
output_folder = 'D:\Project\python\KeShiHua\Exp2\output'
pdf_to_excel(pdf_folder, output_folder)

三、前端设计的基本思路

  1. 用户界面(UI)设计

    • 清晰且一致的视觉层次结构。
    • 使用合适的颜色、字体和图像以增强可读性和美观性。
    • 适应不同屏幕尺寸和分辨率的设计。
  2. 用户体验(UX)设计

    • 直观的导航和逻辑流程。
    • 快速响应用户操作。
    • 为用户提供明确的视觉反馈。
  3. 可访问性(Accessibility)

    • 遵循无障碍设计原则,使所有用户都能使用你的应用。
    • 提供键盘可访问性、屏幕阅读器兼容性。
    • 使用适当的ARIA(Accessible Rich Internet Applications)标签。
  4. 交互设计(Interaction Design)

    • 按钮和链接应具有清晰的点击/触摸反馈。
    • 动画和过渡效果应平滑且不干扰用户操作。
    • 避免过度的动画或闪烁效果,以防引起用户不适。
  5. 表单处理

    • 表单输入应具有验证逻辑,确保数据准确性。
    • 提供即时的输入反馈。
    • 使用占位符和标签清晰地指示所需信息。
  6. 错误处理

    • 明确且友好的错误消息。
    • 指导用户如何纠正错误。
    • 避免技术性或模糊的错误描述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值