[论文解读] Machine Learning Software Engineering in Practice: An Industrial Case Study
本工业案例研究提出了一种机器学习方法,可大规模自动检测并修正零售交易数据中的错误,采用SAP与蒙特利尔工程学院之间的敏捷协作框架。该研究识别了机器学习在软件工程中的关键挑战,并为工业界与学术界在机器学习驱动的软件开发中的合作提供了可操作的指导方针。
SAP is the market leader in enterprise software offering an end-to-end suite of applications and services to enable their customers worldwide to operate their business. Especially, retail customers of SAP deal with millions of sales transactions for their day-to-day business. Transactions are created during retail sales at the point of sale (POS) terminals and then sent to some central servers for validations and other business operations. A considerable proportion of the retail transactions may have inconsistencies due to many technical and human errors. SAP provides an automated process for error detection but still requires a manual process by dedicated employees using workbench software for correction. However, manual corrections of these errors are time-consuming, labor-intensive, and may lead to further errors due to incorrect modifications. This is not only a performance overhead on the customers' business workflow but it also incurs high operational costs. Thus, automated detection and correction of transaction errors are very important regarding their potential business values and the improvement in the business workflow. In this paper, we present an industrial case study where we apply machine learning (ML) to automatically detect transaction errors and propose corrections. We identify and discuss the challenges that we faced during this collaborative research and development project, from three distinct perspectives: Software Engineering, Machine Learning, and industry-academia collaboration. We report on our experience and insights from the project with guidelines for the identified challenges. We believe that our findings and recommendations can help researchers and practitioners embarking into similar endeavors.
研究动机与目标
- 解决SAP企业零售系统中因手动修正交易错误而导致的高运营成本和低效问题。
- 减少交易验证流程中因人工干预导致的业务工作流中断和错误传播。
- 开发一个自动化的、可扩展的机器学习流水线,实现实时检测和修正交易不一致。
- 识别并记录在产学研合作中基于机器学习的软件工程所面临的跨领域挑战。
- 提供实用指南,指导将机器学习集成到企业级软件开发中,重点关注可维护性、数据隐私和团队协作。
提出的方法
- 在历史零售交易数据上应用监督式机器学习,以检测异常和不一致。
- 设计端到端的机器学习流水线,包括数据摄入、预处理、特征工程、模型训练和生产环境部署。
- 采用敏捷开发方法(如SCRUM)以支持在协作环境中进行迭代开发和持续集成。
- 通过训练好的模型实现纠错建议系统,为检测到的错误提供修复建议。
- 建立安全的数据处理协议,确保符合企业标准的隐私和合规要求。
- 促进学术研究人员与工业工程师之间的定期跨团队同步会议,以对齐目标并弥合知识差距。
实验结果
研究问题
- RQ1如何有效将机器学习集成到企业级交易处理系统中,以实现错误检测与修正的自动化?
- RQ2在工业界与学术界合作开发基于机器学习的软件组件时,面临哪些关键挑战?
- RQ3在软件工程实践、机器学习工作流和机构文化方面的差异如何影响开发生命周期?
- RQ4哪些技术和组织策略可以改善机器学习驱动的工业研发项目中的协作与知识转移?
- RQ5从关键企业软件中实际部署机器学习的经验中,可以总结出哪些最佳实践?
主要发现
- 该机器学习流水线显著减少了手动错误修正的工作量,提升了系统吞吐量并降低了运营成本。
- 敏捷方法在管理工业环境中机器学习开发的迭代性和演化性方面被证明是有效的。
- 在数据质量、模型可解释性以及与遗留企业系统集成方面出现了关键挑战。
- 学术界与工业界在专业实践和机构文化方面的差异,要求采取明确的对齐和沟通策略。
- 数据隐私和安全约束显著影响了数据访问、处理和模型训练的工作流程。
- 定期的知识转移会议和联合规划会议对于弥合领域理解和技术期望的差距至关重要。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。