自然语言处理致力于构建能够理解和响应文本或语音数据,并以自己的文本或语音进行响应的机器,就像人类所做的一样。
什么是自然语言处理?
自然语言处理(NLP)是指计算机科学的一个分支,更具体地说,是人工智能或AI的一个分支,与使计算机具有与人类可以理解的方式一样理解文本和口头单词的能力有关。
NLP将计算语言学(基于规则的人类语言建模)与统计,机器学习和深度学习模型相结合。这些技术共同使计算机能够处理文本或语音数据形式的人类语言,并“理解”其全部含义,并结合讲话者或作家的意图和情感。
NLP驱动着计算机程序,该程序可以将文本从一种语言翻译成另一种语言,响应口头命令并迅速汇总大量文本,甚至是实时的。您很有可能以语音操作的GPS系统,数字助理,语音转文本的听写软件,客户服务聊天机器人以及其他消费者便利的形式与NLP进行了互动。但是,NLP在企业解决方案中也起着越来越重要的作用,这些解决方案有助于简化业务运营,提高员工生产率并简化关键任务业务流程。
NLP任务
人类的语言充满了歧义,这使得编写精确确定文本或语音数据预期含义的软件变得异常困难。谐音,同音词,讽刺,成语,隐喻,语法和用法异常,句子结构的变化-这些只是人类语言中的一些不规则现象,需要人类花费多年的时间来学习,但是程序员必须教自然语言驱动的应用程序来识别和识别从一开始就准确地了解这些应用程序是否有用。
几个NLP任务可以帮助计算机理解所摄取内容的方式分解人类文本和语音数据。其中一些任务包括以下内容:
- 语音识别,也称为语音到文本,是将语音数据可靠地转换为文本数据的任务。遵循语音命令或回答口语问题的任何应用程序都需要语音识别。使语音识别特别具有挑战性的是人们说话的方式-快速地,以不同的重音和语调,以不同的重音将单词混在一起,经常使用不正确的语法。
- 词性标注(也称为语法标记)是根据特定单词或一段文字的使用和上下文确定其词性的过程。词性在“我可以制造纸飞机”中将“ make”标识为动词,在“您拥有哪种汽车品牌?”中标识为名词。
- 词义歧义消除是通过语义分析过程来选择具有多种含义的词义,其中语义分析过程确定了在给定上下文中最有意义的词。例如,单词意义上的歧义消除有助于区分动词“ make”在“ make the grade”(达到)与“ make a bet”(place)中的含义。
- 命名实体识别( NEM)将单词或短语识别为有用的实体。NEM将“肯塔基州”标识为位置,将“弗雷德”标识为男人的名字。
- 共同引用解析是确定两个词是否以及何时引用同一实体的任务。最常见的示例是确定某个代词所指的人或物(例如,“ she” =“ Mary”),但也可能涉及识别文本中的隐喻或成语(例如,“熊不是动物,而是毛茸茸的大人)。
- 情感分析 试图从文本中提取主观素质,包括态度,情感,讽刺,困惑,怀疑。
- 有时将自然语言生成 描述为语音识别或语音到文本的对立面;这是将结构化信息转化为人类语言的任务。
请参阅博客文章“ NLP与NLU与NLG:三种自然语言处理概念之间的差异”,以更深入地了解这些概念之间的关系。
NLP工具和方法
Python和自然语言工具包(NLTK)
Python编程语言提供了广泛的工具和库来攻击特定的NLP任务。其中许多可以在“自然语言工具包”或NLTK中找到,NLTK是用于构建NLP程序的图书馆,程序和教育资源的开源集合。
NLTK包括上面列出的许多NLP任务的库,以及子任务的库,例如句子解析,分词,词干和词根化(将词修剪到其根的方法)和标记化(用于断开短语,句子,段落)以及代币的段落,以帮助计算机更好地理解文本。它还包括用于实现各种功能的库,这些功能包括语义推理,基于从文本中提取的事实得出逻辑结论的功能。
统计NLP,机器学习和深度学习
最早的NLP应用程序是手工编码的基于规则的系统,可以执行某些NLP任务,但无法轻松扩展以容纳看似无止境的异常流或越来越多的文本和语音数据。
输入统计NLP,它将计算机算法与机器学习和深度学习模型相结合,以自动提取,分类和标记文本和语音数据的元素,然后为这些元素的每种可能含义分配统计可能性。如今,基于卷积神经网络(CNN)和递归神经网络(RNN)的深度学习模型和学习技术使NLP系统在工作时能够“学习”,并从大量原始,非结构化和无标签文本中提取出越来越准确的含义。和语音数据集。
要更深入地了解这些技术及其学习方法之间的细微差别,请参阅“ AI与机器学习,深度学习与神经网络:有什么区别?”
NLP用例
在许多现代实际应用中,自然语言处理是机器智能背后的驱动力。这里有一些例子:
- 垃圾邮件检测: 您可能不会将垃圾邮件检测视为NLP解决方案,但是最好的垃圾邮件检测技术使用NLP的文本分类功能来扫描电子邮件中通常表示垃圾邮件或网络钓鱼的语言。这些指标可能包括过度使用财务条款,典型的语法错误,威胁性的语言,不适当的紧迫性,公司名称拼写错误等等。垃圾邮件检测是专家认为“大多数已解决”的少数NLP问题之一(尽管您可能会认为这与您的电子邮件体验不符)。
- 机器翻译: Google翻译是工作中广泛使用的NLP技术的一个示例。真正有用的机器翻译所涉及的不仅仅是将一种语言中的单词替换为另一种语言中的单词。有效的翻译必须准确地捕获输入语言的含义和语气,并将其翻译为对输出语言具有相同含义和所需影响的文本。机器翻译工具在准确性方面取得了良好的进步。测试任何机器翻译工具的一种好方法是将文本翻译为一种语言,然后再还原为原始语言。一个经常被引用的经典例子:不久前,将“精神愿意,但肉体较弱”从英语翻译成俄语,然后回译为“伏特加酒好,但肉烂了”。” 如今,结果是“精神渴望,但肉体薄弱”,这虽然不是完美的,但却激发了人们对英俄翻译的信心。
- 虚拟助手和聊天机器人: Apple的Siri和亚马逊的Alexa等虚拟助手使用语音识别来识别语音命令中的模式和自然语言生成,以采取适当的措施或有用的评论进行响应。聊天机器人对键入的文本条目也执行相同的操作。这些中的最好者还学会了识别有关人类需求的上下文线索,并随着时间的推移使用它们来提供更好的响应或选择。这些应用程序的下一个增强功能是问题解答,即以自己的话语给出相关且有用的答案的能力,可以回答我们的问题(无论是否已预期)。
- 社交媒体情绪分析: NLP已成为从社交媒体渠道发现隐藏数据见解的重要业务工具。情绪分析可以分析社交媒体帖子,响应,评论等中使用的语言,以提取对产品,促销和事件的响应的态度和情感-信息公司可以在产品设计,广告活动等中使用这些信息。
- 文本摘要:文本摘要使用NLP技术来消化大量的数字文本,并为索引,研究数据库或没有时间阅读全文的忙碌的读者创建摘要和概要。最佳文本摘要应用程序使用语义推理和自然语言生成(NLG)为摘要添加有用的上下文和结论。