人工智能
什么是 NLP(自然语言处理)?
自然语言处理(NLP) 是研究和应用能够使计算机处理、分析、解释和推理人类语言的技术和工具的学科。 NLP 是一个跨学科领域,结合了语言学和计算机科学等领域的技术。这些技术与人工智能结合使用,创建了聊天机器人和数字助手,如 Google Assistant 和 Amazon 的 Alexa。
让我们花一些时间来探索自然语言处理的理由、NLP 中使用的一些技术以及 NLP 的一些常见用例。
为什么自然语言处理(NLP)很重要
为了使计算机能够解释人类语言,它们必须被转换为计算机可以操作的形式。然而,这不仅仅是将文本数据转换为数字。为了从人类语言中提取意义,必须从成千上万个单词组成的文档中提取模式。这不是一项简单的任务。没有可以应用于人类语言解释的硬性规则。例如,相同的一组单词可以根据上下文有不同的含义。人类语言是一个复杂且常常模糊的东西,一句话可以带着真诚或讽刺的语气说出来。
尽管如此,仍有一些可以在解释单词和字符时使用的通用指南,例如使用字符“s”来表示一个项目是复数。这些通用指南必须一起使用,以从文本中提取意义,创建机器学习算法可以解释的特征。
自然语言处理涉及应用能够将非结构化数据转换为结构化数据的各种算法。如果这些算法以错误的方式应用,计算机通常会失败以从文本中提取正确的意义。这可以在文本之间的翻译中看到,句子的确切含义通常会丢失。虽然机器翻译在过去几年中有了显著的改进,但机器翻译错误仍然频繁发生。
自然语言处理(NLP)技术

图片来源:Tamur via WikiMedia Commons,公共领域(https://commons.wikimedia.org/wiki/File:ParseTree.svg)
自然语言处理中使用的许多技术可以分为两类:语法或语义。语法技术是处理单词顺序的技术,而语义技术是涉及单词含义的技术。
语法 NLP 技术
语法的例子包括:
- 词干提取
- 形态学分割
- 词性标注
- 解析
- 句子分割
- 词干化
- 词分割
词干提取是指将一个单词的不同变体归结为一个单一的形式。词干提取将动词时态和复数形式简化,例如“feet”变成“foot”,“stripes”变成“stripe”。这种简化的单词形式使算法更容易解释文档中的单词。
形态学分割是将单词分割成形态素或单词的基本单位的过程。这些单位是自由形态素(可以作为单词独立存在)和前缀或后缀。
词性标注 简单来说就是确定输入文档中每个单词的词性。
解析 指的是分析句子中所有单词并将它们与正式的语法标签或进行语法分析相对应。
句子分割,或者说 句子边界分割,指的是决定句子的开始和结束位置。
词干化 是将单词简化为单词的根形式的过程。例如,connected、connection 和 connections 都会被简化为“connect”。
词分割 是将大段文本分割成小单位的过程,这些单位可以是单词或简化/归结的单词。
语义 NLP 技术
语义 NLP 技术包括:
- 命名实体识别
- 自然语言生成
- 词义消歧
命名实体识别涉及标记某些文本部分,可以将其归入一组预定义的类别。预定义的类别包括日期、城市、地点、公司和个人等。
自然语言生成 是使用数据库将结构化数据转换为自然语言的过程。例如,天气统计数据,如温度和风速,可以用自然语言来总结。
词义消歧是根据单词在文本中的上下文为单词赋予意义的过程。
深度学习模型用于 NLP
普通的多层感知器无法处理顺序数据的解释,其中信息的顺序很重要。为了处理顺序数据中的顺序重要性,使用了一种可以保留来自之前时间步的信息的神经网络。
递归神经网络 是一种可以循环遍历之前时间步的数据的神经网络,考虑到当前时间步的计算权重。基本上,RNN 有三个参数,在前向传播过程中使用:基于之前隐藏状态的矩阵、基于当前输入的矩阵和隐藏状态与输出之间的矩阵。由于 RNN 可以考虑到之前时间步的信息,因此可以通过考虑句子中之前的单词来从文本数据中提取相关模式,解释单词的含义。
用于处理文本数据的另一种深度学习架构是 长短期记忆(LSTM)网络。 LSTM 网络在结构上与 RNN 相似,但由于其架构的差异,它们往往比 RNN 表现得更好。它们避免了在使用 RNN 时经常出现的 梯度爆炸问题。
这些深度神经网络可以是单向或双向的。双向网络不仅可以考虑当前单词之前的单词,还可以考虑之后的单词。虽然这可以带来更高的准确率,但也更耗费计算资源。
自然语言处理(NLP)的应用场景

图片来源:mohammed_hassan via Pixabay,Pixabay 许可(https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)
由于自然语言处理涉及分析和操作人类语言,因此它具有非常广泛的应用范围。 NLP 的可能应用包括聊天机器人、数字助手、情感分析、文档组织、人才招聘和医疗保健。
聊天机器人和数字助手,如 Amazon 的 Alexa 和 Google Assistant,是使用 NLP 解释和响应语音命令的语音识别和合成平台的例子。这些数字助手帮助人们完成各种任务,让他们可以将一些认知任务卸载到其他设备上,腾出一些脑力用于其他更重要的事情。我们不必在忙碌的早晨查找去银行的最佳路线,我们可以让我们的数字助手来做这件事。
情感分析是使用 NLP 技术来研究人们对某种现象的反应和感受的过程,通过他们使用的语言来表达。捕捉陈述的情感,如解释产品评论是好还是坏,可以为公司提供有关其产品如何被接受的宝贵信息。
自动组织文本文档是 NLP 的另一个应用。像 Google 和 Yahoo 这样的公司使用 NLP 算法来分类电子邮件文档,将它们放入“社交”或“促销”等类别中。它们还使用这些技术来识别垃圾邮件并防止其进入您的收件箱。
一些团体还开发了 NLP 技术来识别潜在的工作候选人,根据相关技能找到他们。招聘经理还使用 NLP 技术来帮助他们筛选申请人名单。
NLP 技术也被用于改善医疗保健。 NLP 可以用于改善疾病的检测。健康记录可以被 NLP 算法分析,提取症状,然后可以用来建议可能的诊断。 Amazon 的 Comprehend Medical 平台就是一个例子,它分析健康记录并提取疾病和治疗方法。 NLP 在医疗保健中的应用还延伸到心理健康。有应用程序,如 WoeBot,它使用认知行为疗法为用户提供各种焦虑管理技术。












