查看原文
其他

ACL2017 | SAP:关于将NLP研究转化为商业产品所面临的挑战

热爱学习的 读芯术 2019-05-05

你和“懂AI”之间,只差了一篇论文


很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。


为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。


同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。


读芯术读者论文交流群,请加小编微信号:zhizhizhuji。等你。

这是读芯术解读的第1篇论文



ACL 2017 Short Papers

关于将NLP研究转化为商业产品所面临的挑战

On the Challenges of Translating NLP Research into Commercial Products

新加坡SAP创新中心

SAP Innovation Center Singapore


【摘要】本文阐述了将自然语言处理研究转化为商业产品时面临的一系列挑战。尽管人们对自然语言处理行业兴趣显著,科学研究向商业产品转化的问题依然值得正视,并且其所面临的挑战往往是未知的,且被很多研究者低估。本文讨论了该领域目前存在的壁垒,并根据自己在行业应用上的经验提出了一些建议,提升自然语言处理研究成果向商业产品转化的成功率。


1 引言


自然语言处理(NLP)在过去二十年中取得了重大进展,特别是数据驱动机器学习方法的诞生。最近,深度学习已经为NLP、机器学习和人工智能(AI)等领域带来了新一轮的发展。与此同时,许多业内人士为创造出新的产品和服务,投资了大量的人力物力在机器学习和AI领域(MITTechnology Review,2016)。


然而,将研究成果转化为一个成功的产品是具备一定挑战的。一般的,技术转移往往被认为是从纯研究到应用研究再到商业化的一个线性转变过程(Stokes,1997)。这种模式假定,研究人员的发现自然的会被工程师和业内人士所利用,进而来开发新的产品。实际上,研究成果向商业产品的转化是相当更复杂且没有保障的。事实上,许多研究项目都未能成功地将他们的研究成果转化为商业产品。


在这篇论文中,阐述了为何自然语言处理技术研究向商业产品成果转化是如此困难。本文不包含任何新的算法、实验或结果。相反,它试图分享我在学术研究和行业应用上的双重经验,以激发大家对如何提高NLP研究成果向商业产品转化成功率话题的讨论。我想先强调一下,本文并不是说让所有的NLP研究者都聚焦商业产品的创作,也不是说每一个新产品的诞生都意味着一项研究突破的成功转化。本文的主旨是讨论如何提高基于使用灵感的基础研究,既满足对基础研究的渴望又充分考虑应用前景,有时被称为巴斯德象限(Stokes,1997)。


本文的贡献有两个方面。首先,明确指出了研究成果向商业产品转化道路上的共同障碍。其次,根据自己在全球最大的企业软件公司SAP中的经验,提出提升转化成功率的建议。


2 技术革新面临的挑战


本节着重介绍了NLP研究成果向有效创新转变的时所面临的挑战。


2.1 缺乏价值观


要创造出一款成功产品的第一步是了解客户。这就是为什么许多创造新产品或商业模型的方法都是从用户角色和如何为用户创造价值开始的(Ries,2011;Osterwalder et al., 2014)。同样,要进行具有实际影响的研究,有必要考虑一下研究可能带来的潜在应用,以及潜在用户的价值定位可能是什么。价值定位与用户角色和其日常生活中需解决的问题密切相关(Christensenand Raynor, 2013)。因此,如果想做具有实际影响的研究,选择一个正确的研究任务是很重要的。NLP任务对于解决实际问题具有一定的指导意义,比如机器学习或情感分析,都已在商业领域被广泛采用。但许多业内所需的应用超出了目前NLP领域的研究能力,例如一个可以应对用户任何问题的聊天机器人。


对研究者来说,了解到行业应用与学术研究中优先级的不同是非常重要的。在学术研究中,应优先考虑本领域的核心知识体系构建,如,定义一个新的任务,一个全新、简洁的模型,或者一个目前最好最先进的基准实验结果。在行业应用中,优先考虑的是创造创新产品,使用户满意,并创造新的收入来源。为了两全其美,研究人员应偶尔退一步考虑下他们的工作对NLP领域以外的人有什么价值。


2.2 缺乏再现性


再现性研究是科学方法的支柱之一,因此对一般的研究工作很重要。但是,模型再现能力也是将其集成到新产品中的一个先决条件。由于NLP模型通常依赖于一组复杂的参数和预处理步骤,这些步骤不能总是在论文中做详细解释,因此我们很难重现他人的实验结果。作者自己也曾试图再现发表过的成果,但并未成功。关于再现性问题的研究很少((Bikel,2004)例外),而且,当研究人员努力去重现这些已发表成果时,很难找到相关信息来指导他们开展实验。


2.3 缺乏领域数据


数据是机器学习和大多数NLP研究的燃料。虽然“大数据”革命使我们能够从一些领域获得大量的文本数据,但对于许多行业问题,没有或只有非常有限的数据可以开展研究。例如,在我的团队中,我们一直在为客户服务票进行文本分类。虽然有很多的数据来进行文本分类,但这些主要是新闻或网上的评论。对于客户服务,没有公开数据集可用。由于数据隐私问题的机密性,拥有此类数据的公司不能轻易地将其发布用于科学研究。一些公司主办共享任务或数据科学竞赛,提供公开数据,例如Kaggle(https://www.kaggle.com),但对一个想要解决行业问题的研究者来说,数据访问仍然是一个最大障碍。


即使有来自公共来源的数据,例如来自网络的数据,从法律的角度来看,将数据用于商业目的可能是比较棘手的。从网络上搜索数据(或使用由其他人以这种方式创建的语料库)可能会用于研究目的,但是在创建商业产品时,每个数据源需要有确切许可证、版权等。这同样适用于使用这些数据的公开NLP模型。


对于那些认为工业界的相关工作可以解决所有数据问题的人来说,我注意到使用真实数据集也有一定挑战。真实数据集往往很小,噪音大,混乱,而且不完整,很难获得良好的结果。为了有效地使用这些数据,研究人员还必须理解数据模式和数据背后的业务流程。没有深入的领域知识,这可能是极具有挑战性的。


2.4 过分注重测试得分


统计学习中基于共同基准的经验评估方法,对NLP领域来说,毫无疑问是革命性的(Johnson,2009)。然而,有时测试集上的得分被认为是决定一项研究成功与否的唯一因素。对于实际应用,基准数据集的测试分数只作为选择实际使用算法时的一个标准。其他因素包括实施方法所需的时间和成本、所需的计算资源、速度和性能、易于集成、支持多语言输入、调整和定制方法的能力、融入先验知识的能力,以及理解和解释模型的能力。例如,在文本分类工作中,我们遇到了输出类别更改的要求,即添加、合并、拆分和删除类,无需从头开始重新训练模型。这些因素目前在NLP研究中的体现尚显不足。


2.5 应用的困难


无论NLP模式多么好,如果没有实现,就不会带来实际影响。但是在任何应用中,NLP模型只能在更大的软件系统中成为一个组件。NLP组件与其余组件一起工作的容易程度对将该方法应用于生产应用程序来说是很重要的。与基于规则的方法不同,统计NLP模型通常需要昂贵的带标签数据集合、数据预处理、模型(重新)训练、参数调整和模型监控,以避免模型不适用。这使得在实际应用中采用统计模型变得更加困难(Chiticariuet al., 2013)。


2.6 时间表


在行业应用项目中,利益相关者期望结果的时间范围通常较短。虽然科学研究的资金项目通常运行三至五年,但行业应用研究往往面临着在不到两年的时间内取得实际成果的压力。对于具有实际客户和概念证明的项目,时间表通常不超过几个月。这就导致了以下鸡和蛋的问题:很难在短时间内进行突破性研究,但是如果研究最终产生的价值不明确,长期的研究投入就很难被证明。这就是为什么学术研究通常能更好地专注于基础研究问题。基础研究并不排除实际使用,但对NLP模型实现的每一个方面进行精细化的增量研究通常在在行业应用领域中做得更好。


3 缩小差距


在本节中,我就如何减少NLP研究和商业产品之间的脱节情况提出了一些建议。


3.1 限定研究问题


下面的方法描述了当我们评估新的机器学习用例时,我们团队通常用的一些标准,包括一些NLP用例。


首先,要确保我们了解“要完成的工作”:业务问题是什么,潜在用户是谁,我们要解决什么问题?一旦我们明白了这个任务,第一个问题就是这个任务实际上是否需要NLP。数据量是否足够高到需要自动化?手动解决任务会更容易或更便宜吗?可以通过简单的规则解决问题吗?通常,具有高数据量和复杂或模糊规则的任务,才是NLP的最佳选择。


为了确保我们的工作具有实际意义,我们从一开始就将企业和行业单位的利益相关者纳入公司的任何新项目,并收集真实客户的反馈意见。


一旦我们认为需要NLP,我们会尝试将问题作为机器学习任务来制定。明确了输入输出的给定X,预测Y的简单模板有助于从一个模糊的想法到一个具体的任务制定。在这个阶段,我们经常可以将问题映射到标准的NLP任务,例如文本分类,序列标记或序列到序列学习。


接下来,我们确定数据是否可用。如果实际数据不容易获得,我们可以使用公开替代数据吗?例如,学习如何分类客户服务票证,我们可以从公共数据集上的文本分类开始。如果在可预见的将来数据都不太可能出现,我们就不将其作为用例了。


接下来,我们需要评估这个问题是否可以用NLP中最新的技术来解决。一个使用统计模型得到的数据有直观的规律吗?我们能通过有意义的特征来表示输入吗?我们有明确已知的度量方法来衡量某方法的效果吗?


最后,我们决定执行用例的正确方法。如果它是一个很复杂困难的问题,在它变得有用之前至少需要好几年的研究,我们很可能会去立一个研究项目。我们为世界各地顶尖大学的外部研究项目提供资金,并提供研究问题和数据让其尝试解决棘手的问题。我们还赞助在SAP学习的博士生。


如果我们认为用例具有很强的商业性且技术足够成熟,我们将其转化为一个概念验证,并最终转化为商业产品。虽然这个方法用于处理NLP用例是简单而常识的,但我们发现其在优先使用用例方面有很大帮助。


学术界的研究人员可能无法接触到一个商业机构来提供关于研究想法的反馈,但是许多资助机构正在努力鼓励工业界和学术界之间的合作。例如,欧洲联盟专门资助的Lt-innovate(http://www.lt-innovate.org )鼓励NLP研究在商业领域的探索。


3.2 NLP的工程方法


我相信,更严格地应用(软件)工程原理和工具可以极大地提高NLP研究带来实际影响的可能性。


为了解决再现性问题,我建议如下。首先,对再现性的要求应该更加严格。在一些研究领域,例如数据库,对再现性研究的标准要严格得多。如果结果不可再现,结果一般不被认为是有效的。然而,NLP系统中大量的参数和实现细节使得很难仅根据论文准确再现已发表的成果。因此,我们应该鼓励通过使用代码重现的软件工具来传播实验成果。为重现论文中的实验结果,我们基本上需要代码、数据和实验运行所需参数。幸运的是,开源社区创造了伟大的工具,并使之成为可能。首先,社会代码库平台,如GitHub(https://github.com/),用来共享代码和数据。事实上,共享和贡献代码的便利性大大加快了机器学习进程。第二,交互计算环境,如Jupyternotebooks(http://jupyter.org/),连接数据、代码和文档,支持成果再现,并可以很方便地共享和发布。最后,软件容器,如Docker(https://www.docker.com/),允许轻量级虚拟化容纳所有软件依赖关系,并允许以可靠和可再现的方式运行相同的代码。如果一个Jupyternotebook或Dockerfile在文章中发表,这将更利于其他研究人员再现研究成果,并将其融入更大的系统中。像Codalab(http://codalab.org/)这样试图为再现性研究建立在线平台的项目都具有同样的目标。


在数据可用性问题上,在低资源环境下构建NLP模型方面已经做了大量的工作。(例如见(Duonget al., 2014; Gar- rette and Baldridge, 2013; Wang et al., 2015)),处理有限数据的可用性问题。像领域适用性、半监督学习和迁移学习(Panand Yang, 2010)与解决行业应用领域的数据可用性问题极为相关。最后,近期利用私有数据进行模型训练的工作(Papernotet al., 2016)和多设备联合学习(McMahanet al., 2016)似乎是有前景的实用型统计NLP工程研究方向。


3.3 行业论文


我相信有机会通过确立一个行业论文提交格式,在NLP会议上设立相应平台,来促进工业界和研究界之间的交流。这样可以为大家提供一个场所,讨论在建设大规模的自然语言处理系统和在生产环境部署NLP模型时所面临的实际挑战,如可扩展能力,权衡精度和计算量之间的成本、鲁棒性、数据质量等。这将有助于平衡对纯研究论文中测试得分的过分强调和行业应用中对研究成果的使用。行业交流平台在其他团体中是很常见的,并有很多行业佼佼者参与其中。


4 相关工作


Wagstaff(2012)论证了机器学习研究的相关性。他感叹于对UCI基准数据集和抽象度量的过度关注。Spector等人(2012)提出谷歌的混合研究方法,试图避免研究与工程的分离。近期,谷歌一些小组已经发表了关于在生产中部署机器学习模型所面临的实际挑战的论文(Sculleyet al., 2014; McMahan et al., 2013; Breck et al., 2016)。Belz(2009)讨论了自然语言处理技术的研究应用。Mani(2011)提出建议以提高评审过程。没有一篇文章详细讨论了将NLP研究引入商业产品所面临的困难—本文的主要贡献。


5 结论


我强调了那些试图将NLP研究引入商业产品的研究人员所面临的困难,并提出了提高商业成功可能性的建议。我希望我的经验能激发NLP团体的创造性思考与积极讨论。


论文下载链接:

http://www.aclweb.org/anthology/P/P17/P17-2015.pdf


留言 点赞 发个朋友圈

我们一起探讨AI落地的最后一公里


长按识别二维码可添加关注

读芯君爱你


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存