2018 EMNLP研习营:NLP编程艺术与科研实践

需积分: 9 14 下载量 125 浏览量 更新于2024-07-17 收藏 73.57MB PPTX 举报
本讲义是《自然语言处理讲义》的一部分,由三位来自AllenAI的研究专家Joel Grus、Matt Gardner和Mark Neumann合作编写,发表于EMNLP 2018年。他们共同探讨如何在自然语言处理(NLP)研究中有效地编写代码,特别是在原型开发阶段和实现可复用性。 首先,作者分享了他们各自的角色。Matt Gardner作为AllenNLP的原始架构师,同时也是NLPHighlights播客的主持人,他将引导读者了解如何在NLP研究中构建良好的开发流程。Mark Neumann是研究工程师,他协助构建了AllenNLP和其前身DeepQA,并负责了许多模型的演示实现。 Joel Grus则是另一位研究工程师,他在“我不喜欢笔记本”、“Tensorflow中的FizzBuzz”以及《数据科学入门》等项目中广为人知。他将重点介绍如何编写代码来支持科学研究和可重复实验,强调的是代码设计对科研质量的重要性。 课程内容包括以下几个部分: 1. **代码编写策略**:在原型开发阶段,讲解如何写出易用且便于实验调整的代码,以便快速迭代和优化模型。 2. **开发良好过程**:提供实用的开发流程建议,确保代码组织结构清晰,便于团队协作和后期维护。 3. **可复用代码设计**:通过案例研究,如一个词性标注器,展示如何编写可以独立复用的模块和组件。 4. **预先假设的技能**:假定读者已经掌握了现代神经网络NLP的基础知识,以及Python编程语言的运用。 5. **区分好与坏的科学方法**:讨论科研伦理和科学实践,强调数据处理、实验设计和结果报告的透明度。 6. **今日所学**:学员将在课程中学到如何编写有利于科学发现和可验证实验的代码,包括如何封装和文档化代码,以提高研究成果的可信度。 本讲义旨在帮助NLP研究人员提升他们的编程技巧,使他们在研究过程中能够编写出高效、可维护且符合科学标准的代码,从而推动自然语言处理领域的进步。