Python自然语言理解:自然语言理解系统开发与应用实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章
识别自然语言理解问题

在本章中,你将学习如何识别适合当前技术水平的自然语言理解问题。这意味着这些问题对于最前沿的NLU方法来说不困难,但也不能通过简单的非NLU方法来解决。实际的NLU问题还需要足够的训练数据,因为训练数据不足会影响NLU系统的性能。此外,一个好的NLU系统需要有合理的开发和维护成本。虽然本章将讨论的这些因素大多属于项目经理考虑的范畴,但它们也适用于那些正在寻找研究项目或研究论文题目的学生。

在启动一个与NLU相关的项目之前,首先要问的问题是:项目目标是否适合当前NLU技术水平,NLU方法是否能解决你所面临的问题?这个问题的难度与当前NLU技术水平相比如何?

在最初阶段就确定问题的性质至关重要。一个问题有不同程度的解决方式。如果项目要求的是原型展示或概念验证,那么解决方案则不必与要求系统部署的解决方案一样,因为需要系统部署的解决方案是为每天稳健地处理数千个用户输入而设计的。同样,如果问题是一个前沿的科研问题,那么对当前技术水平的任何改进都是有价值的,即使从应用型项目角度看这个问题没有被完全解决。解决方案的完整性也是在思考要解决的问题时需要做出的决定之一。

在项目启动阶段,项目经理或负责技术的开发人员就应该确定项目完成时可以接受的系统准确率水平,需要注意的是,在几乎所有的自然语言应用中,实现100%的准确率是不可能的。

本章将详细介绍如何识别适用于NLU的问题。遵循本章所讨论的原则,你将能够开发一个优质高效的系统,为用户解决实际的问题。

本章将介绍以下内容:

❑识别适合当前技术水平的问题

❑自然语言理解难以解决的问题

❑不需要自然语言理解的应用程序

❑训练数据

❑应用数据

❑开发成本

❑维护成本

❑决定是否使用自然语言理解的流程