语义处置(Natural Language Processing,NLP)是AI的两个应用领域,意在让计算机系统认知和采用人类文明词汇,从而执行管用的各项任务。语义处置又分割为两个部份:语义认知(Natural Language Understanding,NLU)和语义聚合(Natural Language Generation,NLG)。
近几年,AI改变了电脑与人类文明的交互方式。AI能协助人类文明解决各种繁杂问题,比如,根据个人偏好向使用者所推荐影片(所推荐控制系统)。得力于高效能GPU和大量的需用数据,现代人现在能缔造出具有类似于人类文明的自学和过错责任的智能控制系统。
有许多库意在协助现代人建立此种控制系统。结语会介绍一些知名的Python库,用以从原初文档中抽取和冲洗重要信息。完全认知并阐释词汇整件事本身是几项十分困难的各项任务。比如,“C罗进了3个球”这句话对电脑来说是极难认知的,因为电脑既不晓得C罗是谁,也不晓得入球的数量意味著甚么。
NLP中最盛行的主轴之一是概要控制系统(Question Answering System,全称QA),而此种控制系统又包涵了自动提取(Information Retrieval,IR)。此种控制系统通过在数据复本查阅科学知识或重要信息来进行提问,也能从语义文件格式复本抽取提问。浏览器都是这样工作的。
如今,NLP在业内越来越盛行,新一代的NLP趋势主要包括新浪网电视广告相匹配、感情分析、电脑翻译,和闲聊电脑。
手,因此它已经被导入市场中了。知名的交互式副手主要包括Siri、Amazon的Alexa,和Google Home。两本书会建立两个闲聊电脑,用以控制两个交互式电脑,因此它能认知我们希望交互式电脑做甚么事情。
3.1.1 语义处置
与此相反,NLP是AI中负责管理认知和处置人类文明词汇的两个应用领域。NLP属于AI、软件工程和词汇学的重合部份,该应用领域的主要目标是让计算机系统认知采用人类文明词汇表达的句子或文本。它之间的亲密关系如图3.1所示。

词汇学专注于研究人类文明词汇,试图描绘和解释词汇中的不同方法。
词汇能被定义为一组规则和一组符号,符号按照规则结合在一起,用以传播重要信息。人类文明词汇是特殊的,不能简单描述为自然形成的符号和规则。上下文不同,词语的含义也可能不同。
天的新增文章数是547篇,文章总数则超过了500万篇。显然,两个人是无法阅读这么多重要信息的。
NLP面临着3个挑战,它分别是收集数据、数据分类,和抽取相关重要信息。
NLP能处置许多单调乏味的各项任务,比如垃圾邮件检测、词性标注,和命名实体识别。利用深度自学,NLP还能解决语音转文档的问题。NLP虽然显示出了强大的能力,但在人机对话、概要控制系统、自动文摘和电脑翻译等问题上,还没有很好的解决方案。
3.1.2 语义处置的两个部份
与此相反,NLP能分割为两个部份:NLU和NLG。
3.1.2.1 语义认知
息。NLU提供直接的人机交互,并执行和词汇认知相关的各项任务。
NLU涵盖了AI面对的最十分困难的挑战,即文档阐释。NLU所面对的主要挑战是认知对话。
NLP采用一组方法来聚合、处置和认知词汇,利用函数来认知文档的含义。起初,现代人采用树来表示对话,但许多对话的情况都无法采用此种方法表示。为了覆盖更多情况,就需要更多的树,每个对话的上下文对应一棵树,从而导致了很多句子重复,如图3.2所示。

此种方法已经过时了,因此效率低下,因为它是基于固定规则的,本质上就是一种if-else结构。如今,NLU提出了另一种方法,那就是将对话表示为两个文氏图,其中的每个集合代表对话的两个上下文,如图3.3所示。

NLU的此种方法改进了对话认知的结构,因为它不再是两个由if-else条件组成的固定结构。NLU的主要目标是阐释人类文明词汇的含义、处置对话上下文、消除歧义和管理数据。
3.1.2.2 语义聚合
NLG是聚合包涵意义和结构的短语、句子和段落的过程,是NLP的两个不负责管理认知文档的应用领域。
为了聚合语义,NLG的方法需要利用相关数据。
NLG由以下3个部份构成。
聚合器:负责管理根据给定的意图,选择与上下文相关的文档。表示的组件和层级:为聚合的文档赋予结构。应用:从对话中保存相关数据,从而遵循逻辑。聚合的文档必须采用一种人类文明可读的格式。NLG的优点是能提高数据的可访问性,还能用以快速聚合报告摘要。
3.1.3 NLP的各层次
人类文明词汇具有不同的表示层次,层次越高越繁杂,认知难度也越大。
下面介绍了各个层次,其中前两个层次取决于数据类型(音频或文档)。
音位分析:对于语音数据,需要先分析音频,以获得句子。OCR/词例化:对于文档数据,需要先采用计算机系统视觉的光学字符识别(Optical Character Recognition,OCR)技术来识别字符,形成词语,或者需要先对文档进行词例化(即把句子拆分为文档单元)。OCR用以识别图像中的字符,聚合词语,以作为原初文档同部份,比如主语和谓语。语义表示:程序不能认知单独的词,而是通过两个词在句子中的用法来认知它的含义。比如,“cat”和“dog”这两个词对算法来说可能具有同样的含义,因为它有同样的用法。通过此种方式认知句子,称为词语级别含义。语篇处置:分析并识别文档中的连接句和句子间的亲密关系,从而认知文档的主轴。如今,NLP在业内展现出了非常大的潜力,但也有一些例外。在其中的一些例外情况中,采用深度自学能获得更好的结果。
语义处置书籍所推荐
语义处置实战


两本书是介绍语义处置(NLP)和深度自学的实战书。NLP已成为深度自学的核心应用应用领域,而深度自学是NLP研究和应用中的必要工具。两本书分为3部份:第一部份介绍NLP基础,主要包括分词、TF-IDF向量化和从词频向量到语义向量的转换;第二部份讲述深度自学,包涵神经网络、词向量、卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆(LSTM)网络、序列到序列建模和注意力机制等基本的深度自学模型和方法;第三部份介绍实战方面的内容,主要包括重要信息抽取、概要控制系统、人机对话等真实世界控制系统的模型构建、性能挑战和应对方法。
Python语义处理


两本书是语义处置应用领域的一本实用入门指南,意在协助读者自学如何编写程序来分析书面词汇。两本书基于Python编程词汇和两个名为NLTK的语义工具包的开源库,但并不要求读者有Python编程的经验。全书共11章,按照难易程度顺序编排。第1章到第3章介绍了词汇处置的基础,讲述如何采用小的Python程序分析感兴趣的文档重要信息。第4章讨论结构化程序设计,以巩固前面几章中介绍的编程要点。第5章到第7章介绍词汇处置的基本原理,主要包括标注、分类和重要信息抽取等。第8章到第10章介绍了句子解析、句法结构识别和句意表达方法。第11章介绍了如何有效管理词汇数据。后记部份简要讨论了NLP应用领域的过去和未来。
两本书的实践性很强,主要包括上百个实际需用的例子和分级练习。两本书可供读者用于自学,也能作为语义处置或计算词汇学课程的教科书,还能作为人工智能、文档挖掘、语料库词汇学等课程的补充读物。