Skip to content
字数
3921 字
阅读时间
16 分钟

毕业设计(论文)的主要内容:

本课题旨在设计并实现一个多源Web表格自动填写系统,以解决当前多源数据集成场景下表格填写效率低下、易出错的问题。研究内容将围绕以下四个核心方面展开:

1. 多源异构表格数据的统一接入与预处理机制研究: (1)数据源接入:研究如何利用Python的Pandas库及其相关功能(如 pd.read_excel(), pd.read_sql(), pd.read_html()),实现对不同来源表格数据的统一读取和表示。具体包括:本地Excel/CSV文件的上传与解析;通过SQLAlchemy连接数据库,读取SQL查询结果;以及利用pd.read_html()直接解析静态网页表格,并探索结合Selenium等工具处理动态加载的网页表格。 (2)数据清洗与预处理:研究如何利用Pandas对原始数据进行基础清洗,包括处理缺失值、识别并修正标题行位置、统一数据类型、去除无效字符和空行空列等,为后续的智能匹配提供高质量的数据输入。 2. 基于大语言模型与LangChain的字段语义匹配方法研究: (1)列特征提取:设计一种从表格中提取有效列特征的方法。特征将包括列名、列中前3-5行的示例数据、列的数据类型(文本、数字、日期)、空值比例等,这些特征将作为大语言模型的输入。 (2)提示词工程与结构化输出:利用LangChain框架的PromptTemplate功能,将提取的源表和目标表的列特征组织成结构化的提示词。重点研究如何设计提示词,引导大语言模型理解不同列之间的语义对应关系,并利用LangChain的with_structured_output()功能,要求模型输出JSON格式的结构化映射结果,包含源列名、目标列名、置信度、转换规则等信息,以解决模型输出不确定性问题。 (3)映射推理:研究如何利用大语言模型的语义理解能力,处理字段名不一致(如“出生日期”与“生日”)、同义词替换(如“金额”与“Money”)等传统方法难以解决的语义匹配问题,自动推理出源表与目标表之间的字段映射关系。 3. 基于用户反馈的人机协同与规则持久化机制研究: (1)交互界面设计:设计一个基于Vue.js的简洁直观的Web前端界面,用于向用户展示大语言模型推荐的字段映射关系。界面需以清晰的方式展示映射结果,并使用颜色(如绿色表示高置信度、红色表示低置信度)辅助用户决策。 (2)用户干预机制:设计用户对推荐映射进行确认、修改、删除和添加的操作接口。用户可以对不准确的匹配进行修正,对缺失的映射进行补充,将系统从“全自动”转变为“人机协同”模式,以保障最终映射结果的准确性。 4. 数据转换与填充执行引擎的设计与实现: (1)数据映射与转换:研究如何根据用户确认的映射规则,利用Pandas进行数据操作。包括:使用rename()函数进行列名映射;利用pd.to_datetime()、df.apply()等方法,根据映射规则中包含的转换逻辑,对数据进行格式转换(如日期格式化、单位换算等)。 (2)缺失值处理:研究并实现针对填充过程中的缺失值处理策略,如留空、填充默认值或采用均值/众数填充等。 (3)结果生成与输出:研究如何按照目标表格的列顺序,利用Pandas重组DataFrame,最终将填充完成的数据导出为用户指定的格式(如Excel文件、CSV文件)。


设计(论文)的技术路线及预期目标:

技术路线:

本系统采用前后端分离的开发模式,遵循“数据接入与清洗 -> 字段匹配与映射 -> 数据转换与填充 -> 系统集成与测试”的四阶段技术路线,具体如下:

阶段一:数据接入与清洗(核心技术:Pandas) 1.功能:实现用户上传的Excel文件、SQL文件和网页URL的接入。 2.技术细节: (1)Excel/SQL:使用pandas.read_excel()和pandas.read_sql()直接读取,将数据转换为统一的DataFrame格式。 (2)网页表格:使用pandas.read_html()解析静态网页表格。对于需要登录或动态加载的网页,利用Selenium自动化工具模拟浏览器操作,获取完整页面内容后再进行解析。 (3)数据清洗:对DataFrame进行基础清洗,包括:利用正则表达式和字符串方法清理特殊字符;使用dropna()和drop_duplicates()去除空行和重复数据;智能识别并跳过表头或备注等无效行。 阶段二:字段匹配与映射(核心技术:LangChain + 大语言模型API) 1.功能:自动发现并推荐源表与目标表之间的字段对应关系,并提供用户干预接口。 2.技术细节: (1)特征提取:从源表和目标表的DataFrame中提取列名、数据类型、前5行示例数据、空值比例等特征。 (2)提示词构造与LLM调用:使用LangChain的PromptTemplate构造包含任务说明和表格特征的提示词,调用大语言模型的API。核心是利用with_structured_output要求模型返回JSON格式的映射列表。 (3)人机协同:前端展示JSON解析后的映射结果,用户在前端界面进行确认、修改等操作,更新映射规则。 阶段三:数据转换与填充(核心技术:Pandas) 1.功能:根据最终的映射规则,执行数据转换和填充操作。 2.技术细节: (1)列映射:根据规则,使用df[list(source_columns)]选择所需列,然后使用rename()函数将列名重命名为目标表列名。 (2)格式转换:对日期列使用pd.to_datetime();对数值列进行单位换算等操作;对于复杂转换,利用df.apply()结合自定义函数实现。 (3)填充执行:使用pd.concat()或直接赋值将转换后的数据合并到目标DataFrame的结构中。 (4)结果输出:将最终DataFrame通过to_excel()或to_csv()导出。 阶段四:系统集成与测试(核心技术:FastAPI, Vue.js) 1.功能:集成各模块,完成系统部署与测试。 2.技术细节: (1)后端:使用FastAPI构建RESTful API,处理前端请求,调用Pandas和LangChain模块。 (2)前端:使用Vue.js构建用户界面,实现文件上传、映射规则确认与修改等功能。 (3)测试:设计单元测试和集成测试用例,在至少100组真实表格对上进行测试,评估系统的匹配准确率(LLM推荐准确率目标80%以上,用户确认后95%以上)。

协同工作说明: Pandas负责“数据接入与清洗”和“数据转换与填充”两个阶段,为LangChain提供结构化的输入(如列名、示例数据),并执行具体的填充操作。LangChain作为胶水层,负责编排提示词、调用大语言模型API并解析JSON输出,完成核心的“字段匹配与映射”。LLM则作为大脑,提供强大的语义理解能力,解决字段匹配的难题。

预期目标:

  1. 系统原型:完成一个功能完整的Web应用,具备多源数据接入、字段智能匹配、数据自动填充、用户干预与规则管理等功能。
  2. 核心代码:产出完整且可复现的项目源代码,代码结构清晰,注释完整。
    1. 匹配准确率:在包含100组不同领域表格对的测试集上,大语言模型推荐的字段匹配准确率达到80%以上。经过用户确认后,最终匹配准确率达到95%以上。
  3. 毕业论文:完成一篇不少于3万字的毕业设计论文,详细阐述研究背景、方法、过程、实验结果和总结。

课题进度计划

时间安排主要任务目标
第1-2周文献调研与开题阅读相关文献,熟悉Pandas、LangChain等开发框架;完成开题报告初稿,明确系统架构。
第3-4周数据接入与清洗模块开发实现Excel、SQL、网页三种数据源的接入功能;完成基础数据清洗与预处理;撰写系统需求分析文档。
第5-6周字段匹配模块开发设计并优化LLM提示词模板;实现LangChain调用与结构化输出解析;完成匹配结果展示前端界面;撰写系统设计文档。
第7-8周数据填充模块开发实现基于映射规则的数据转换与填充;完成结果导出功能;实现人工干预与规则管理功能。
第9-10周系统集成与测试完成各模块集成;设计测试用例进行功能测试与性能评估;在真实表格数据集上进行实验;修复发现的缺陷。
第11-12周论文撰写与修改整理实验数据,撰写论文初稿;完成论文插图、表格制作;根据指导老师意见进行论文修改。
第13-14周系统完善与答辩准备优化系统界面和用户体验;制作答辩PPT;进行答辩预演和准备。

完成课题所需条件及落实措施:

  1. 硬件条件: (1)开发环境:一台个人电脑,用于代码开发与调试。 (2)运行环境:一台具备独立显卡的高性能电脑,用于运行模型推理和系统部署。 (3)落实措施:利用个人电脑满足硬件需求。
  2. 软件条件: (1)开发工具:Python 3.8及以上、PyCharm或VS Code、Node.js、Vue.js。 (2)核心库:Pandas、LangChain、SQLAlchemy、Selenium、FastAPI等。 (3)API服务:具备可调用的大语言模型API接口。 (4)落实措施:通过互联网下载并安装所需开发环境和工具。使用免费额度或申请学校/企业的API调用权限。在GitHub上学习并复用部分开源代码,加快开发进度。
  3. 数据条件: (1)测试数据:至少100组具有真实表格对(源表和目标表)的数据集,涵盖校园、企业、金融等不同领域,包含文本、数字、日期等多种数据类型。 (2)落实措施:从Kaggle、UCI等公开数据集网站下载;自行爬取部分公开网页表格;与学校相关部门沟通,获取脱敏后的校内真实数据用于测试;自造数据进行测试。

参考文献、资料:

[1] 纪相存, 李大林, 彭晓东. 融合字段类型与文本匹配的中文问句解析[J]. 计算机应用与软件, 2024, 41(07): 164-170. (提供了表结构信息融合的思路) [2] 王平. 一种基于异构数据源实现OA流程表单自动填充的方法[J]. 软件导刊, 2015, 14(10): 26-28. (提供了异构数据源接入和填充的实践案例) [3] 李然. 基于本体的深度网入口表单自动填充方法的研究[D]. 吉林大学, 2009. (提供了基于语义和本体进行字段匹配的理论基础) [4] 陈哲. 面向可连接关系的网络表格高效搜索技术研究与实现[D]. 东南大学, 2023. (提供了表格多维度属性特征提取的方法) [5] 徐宛扬, 李文根, 关信红. 面向金融网页数据的异构表格信息提取模型[J]. 计算机应用, 2023, 43(S1): 56-60. (提供了从异构网页表格中提取信息的方法) [6] Wang S, et al. LLMATCH: A Unified Schema Matching Framework with Large Language Models[C]// International Conference on Web Information Systems Engineering. 2025. (提供了利用大语言模型进行模式匹配的框架) [7] 张畅, 徐冬溶, 潘云鹤. 基于多源类比的MIS表格生成[J]. 计算机研究与发展, 1998, (07): 29-34. (提供了表格生成和重用的类比思想) [8] 吴琳. Pandas在工资数据年度汇总中的应用[J]. 现代信息科技, 2020, 4(10): 87-88+91. (提供了Pandas进行数据汇总与清洗的实践方法) [9] 曹韬, 丁兵兵, 莫婷岚. 校园通用表格系统的设计与实现[J]. 福建电脑, 2018, 34(12): 86-87. (提供了通用表格系统的设计思路) [10] 王玉静, 徐超, 徐宇, 等. 一种基于WPS二次开发的文档报告自动生成方法研究[J]. 山东通信技术, 2022, 42(01): 45-47. (提供了基于模板和变量映射自动填充文档的思路) [11] 郭乐乐, 林友芳, 韩升. 利用有序互信息匹配包含非透明列的数据模式[J]. 计算机科学与探索, 2017, 11(09): 1389-1397. (提供了不依赖列名的数据模式匹配方法) [12] 张河苇, 金剑, 董绍华, 等. 语义相似度计算在内检测数据参数匹配中的应用[J]. 石油科学通报, 2018, 3(04): 442-448. (提供了基于同义词词林的语义相似度计算方法) [13] 陈贝贝. 面向多源大数据的数据准备平台的设计与实现[D]. 北京邮电大学, 2020. (提供了多源数据准备平台的架构设计和实现方法) [14] 马孝宗, 王雪山, 魏景春. 基于Pandas进行关键部位维修周期分析[J]. 现代信息科技, 2020, 4(09): 148-149+152. (提供了Pandas进行分组运算和数据透视的分析方法)

贡献者

The avatar of contributor named as freeway348 freeway348

文件历史

撰写