本章为自然语言处理提供了一个高层次的介绍。解释了自然语言处理是什么,最常见的自然语言处理应用是哪些以及开发自然语言处理应用程序的基本方法是什么。
人类通过自然语言互动,自然语言包括了许多信息。例如说,通过选不一样的词语,语气和句子的上下文可以被用来揭露一个人的心情,意图和情感。
此外,诸如书籍,报纸和博客之类的文本文档中充满了可用于执行各种任务的信息。对于人类来说,理解并且从一个文档中提取有用的信息以及做出基于来自文档的这个信息的决定要消耗大量的时间。
自然语言处理被定义为“一个使计算机能够阅读,理解和提取人类所说自然语言含义的AI领域。”
有了自然语言处理,计算机不仅仅可以理解自然语言,而且还能通过自然语言对人类做出回应。除了用于人机交互目的之外,NLP技术还大范围的使用在处理公司的大量数据,而手动处理则需要数月甚至数年的时间。
例如,一个人在大多数情况下要花几周的时间来从一本一千页的书中人工提取信息进行总结,但有了自然语言处理,类似的文本摘要可以在几分钟内完成。同理,聘用人工读者通读全用户评论,并编写包含用户对特定产品的意见的报告是花费成本非常高的,然而有了自然语言处理之后,用户意见可以被自动从文本中提取,从而使公司能够制定出组织决策。
从Microsoft的Cortona到Apple的Siri,NLP为各种应用程序提供了支持。本节简要介绍了NLP的一些最常见的应用程序。
NLP通常被用于执行文本情感分析。文字形式的大众意见,例如有关特定产品或实体的推文,博客和评论都包含了情感。情感分析是指从这些文字中识别情感。自动检验测试有关推文的公众情绪能够在一定程度上帮助企业决定怎么样改进其产品以及保留或丢弃哪种产品。
Gmail和其他电子邮件服务器使用NLP技术来精确地区分非垃圾和垃圾邮件。这是文本分类的一个经典应用,其中文本文档被划分为预定义类别之一,即非垃圾邮件或垃圾邮件。
NLP技术被广泛的使用到语音与文字的自动双向转换中。在你说出内容时,你不再需要要求某人代你把你讲的内容写下。谷歌的自动语音识别(就是一个很经典的语音文字转换的例子。
需要按键盘按钮并单击鼠标以向计算机发出命令的日子已经一去不复返了。NLP 已经能够使人类和机器人通过自然语言进行互动。机器人在有了NLP的帮助下不仅仅可以理解人类的语言且能用自然语言对人类进行回应。Sophia(就是一个经典的通过自然语言处理与人类互动的人形机器人的例子。
正如上面所提到的,NLP技术也被用来开发包括亚马逊Alexa, 苹果的Siri以及微软的Cortona在内虚拟助手。这些虚拟私人助手依靠NLP方法来理解人类的请求并以自然语言回复。
自动文本翻译是NLP最强大的应用程序之一。使用文本翻译技术,人们只需单击几下鼠标,便可以将文档从一种语言翻译成另一种语言。Google翻译就是使用NLP技术进行文字翻译的最著名例子之一。
并非任何一个人都有时间来阅读冗长的文章,内容摘要是需要一些时间和人力的。有了NLP技术,文字文档可以被自动地总结摘要,节省了时间与人力也节约了成本。
基于深度学习的高级NLP技术现在还被用于文本生成。近年来,文本生成技术被用于生成基于(权力的游戏)脚本的诗歌。文本生成技术目前还处于初始阶段。
掌握NLP需要时间和精力。不能仅通过阅读两个博客就声称自己是NLP专家。本节分步介绍怎么学习NLP。
在开始开发NLP应用程序之前,你必须了解到你实际在做什么。你应该了解NLP的全部含义,为何有用以及最重要的一些NLP应用程序。本书的第一章就是为自然语言处理理论建立基础。
如果你希望成为一名NLP专家,你需要学会一点编程,这是无法绕过的现实。你必须要学会编程才能开发NLP应用程序。尽管你能够正常的使用任何一种编程语言来编程自然语言应用程序,但我还是会建议学习Python编程语言。Python是NLP最常用的库之一,具有无数的基本和先进的NLP库。此外,许多NLP应用程序基于机器学习和深度学习。并且Python是一种提供易于使用的深度学习和机器学习库的语言。简而言之,学习Python。第2章介绍 了面向初学者的Python入门的速成课程。
从非常基本的NLP应用程序开始。建议初学者不要立即开始开发NLP应用程序,相反,应该首先了解最常见和最基本的NLP任务。例如,学习怎么样执行停用词删除、如何将句子划分为单词以及如何将段落划分为句子、知道怎么为文本等中的单词找到一部分语音标签等等。此外,精通文本清洗和操作技术也是必须的。最后,你要掌握如何从不同的来源将数据导入你的应用以及如何抓取网站上的数据以将它导入你的应用程序。基本的NLP任务在第四,第五以及第六章中有详细解释。
正如之前提到的,大部分的NLP技术包含了深度学习以及机器学习的概念,而深度学习与机器学习都是统计学方面的技术。为了在NLP中实现这些技术,需要用统计学的方式表达文本。有多种办法能够用来统计地表示文本,关于详情信息,请参见第7章。
一旦学习完所有基本的NLP概念后,则需要学习机器学习和深度学习概念,尤其是有监督的机器学习算法。在深度学习算法中,应该注重了解稠密连接的神经网络,递归神经网络(尤其是LSTM)和卷积神经网络的基本工作原理。这些概念将在第3章中进行解释。
熟悉了基本的NLP任务并且对深度学习和机器学习有基本的了解后,就可以准备开发高级NLP应用程序了。对于NLP应用程序,建议首先使用诸如Logistic回归,Random Forest等机器学习算法开发机器学习应用程序(例如文本分类)。一旦开始能熟悉地使用机器学习开发NLP应用程序,就可以转向使用基于深度学习的运用各种神经网络的高级应用程序。本书的第2部分致力于开发基于深度学习和机器学习NLP应用程序。
基于高级NLP的应用程序与机器学习应用程序非常相似。有几种部署此类应用程序的方法。能够正常的使用包含REST API的专用服务器,这些服务器可服务于调用NLP应用程序。要部署此类应用程序,需要学习Python Flask,Docker或类似的Web技术。此外,还能够正常的使用Amazon Web Services或任何其他基于云的部署平台来部署应用程序。
要成为NLP专家,需要不停地按照上述7个步骤练习执行。练习得越多,就可以在NLP获得更好的成就。
顾名思义,基于规则的方法是由人类定义的规则组成。例如,一个关于情感分类的基于规则的方法可能包含了这样一条规则:如果推文中肯定词的数量大于否定词的数量,则该推文可以归类为总体上具有积极情绪。
基于规则的方法有其的好处也有不足。其最主要的一个好处是它们具备极高的可解释性。另外,基于规则的方法不需要大量的数据来做训练。而其最主要的一个不足是,这些基于规则的方法不能灵活变通,可能没办法扩展到不同的数据集。
顾名思义,统计方法涉及到用于开发自然语言处理技术的统计算法。机器学习和深度学习方法是NLP统计方法的主要示例。与基于规则的方法相比,统计方法灵活性更好和可扩展。使用统计方法的主要缺点是缺乏可解释性,并且需要大量的数据集来训练NLP算法。
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
理想汽车周销量榜再引争议!蔚来吉利高管公开反对,李想疑发“掩耳盗铃”插画回应
“甩锅”欧盟条款、给受灾客户发失效礼品卡补偿,“微软蓝屏”事件后续处理这么颠吗?
TechWeb微晚报:苹果第三财季大中华市场营收下滑,英特尔将进行大裁员
新能源车企7月销量成绩出炉:理想重返5万辆与问界拉开差距,极氪意外下跌超20%
周鸿祎放大招:联合国内15家最强大模型推出「AI助手」能力碾压GPT4o
iPhone营收已连续两个财季同比下滑 但库克仍重申iPhone 15表现好于iPhone 14
苹果发布第三财季财报:营收858亿美元同比增长5% 净利润超过200亿美元
青云QingCloud EHPC 打造即买即用的全流程SaaS化超算服务
蚂蚁链发布BTN:可将区块链网络吞吐量提升186% 带宽成本降低80%
蚂蚁自研数据库OceanBase宣布开源 300万行核心代码向社区开放