自然语言处理(NLP)

自然语言处理(NLP)


文章目录

  • 自然语言处理(NLP)
  • 一、什么是自然语言处理(NLP)?
  • 二、自然语言处理的发展历史
  • 三、自然语言处理的实际应用
  • 四、自然语言处理的相关方法
  • 五、自然语言处理中的模型
  • 六、自然语言处理的挑战


一、什么是自然语言处理(NLP)?

百度解释: 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分 。
自然语言处理主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文OCR等方面 。

维基解释:自然语言处理(NLP)是计算机科学和语言学的一个跨学科子领域。它主要关注的是赋予计算机支持和操纵人类语言的能力。它涉及使用基于规则或概率(即基于统计和最近的基于神经网络)的机器学习方法处理自然语言数据集,例如文本语料库或语音语料库。目标是一台能够“理解”文档内容的计算机,包括其中语言的上下文细微差别。然后,该技术可以准确地提取文档中包含的信息和见解,并对文档本身进行分类和组织。

网络上收集的解释: 自然语言处理 (NLP) 是人工智能 (AI) 的一个子领域。它专注于理解与人类语言相关的一切。NLP任务的目的不仅是单独理解单个单词,而且能够理解这些单词的上下文。计算机处理信息的方式与人类不同。例如,当我们读到“我饿了”这句话时,我们可以很容易地理解它的意思。同样,给定“我饿了”和“我很伤心”这两个句子,我们能够很容易地确定它们的相似程度。对于机器学习 (ML) 模型,此类任务更加困难。文本的处理方式需要使模型能够从中学习。由于语言很复杂,我们需要仔细考虑必须如何进行这种处理。

简单的意思是: “ NLP 指的是人工智能的一个分支,它赋予机器阅读、理解和从人类语言中获取意义的能力。”自然语言处理的主要目的是理解人类的语言,并用人类自己的语言与人交流,这样我们人类也可以理解机器想要传达什么。

以下是常见 NLP 任务的列表,以及每个任务的一些示例:

  • 对整个句子进行分类:获取评论的情绪,检测电子邮件是否为垃圾邮件,确定一个句子在语法上是否正确,或者两个句子在逻辑上是否相关
  • 对句子中的每个单词进行分类:识别句子的语法成分(名词、动词、形容词)或命名实体(人、地点、组织)
  • 生成文本内容:使用自动生成的文本完成提示,使用蒙版单词填充文本中的空白
  • 从文本中提取答案:给定问题和上下文,根据上下文中提供的信息提取问题的答案 从输入文本生成新句子:将文本翻译成另一种语言,总结文本

不过,NLP 并不局限于书面文本。它还解决了语音识别和计算机视觉中的复杂挑战,例如生成音频样本的转录或图像的描述。

二、自然语言处理的发展历史

  • 1950-1960年代: 早期基金会

NLP 的发展经常与阿兰 · 图灵在图灵测试上的工作联系在一起,图灵测试是他在1950年开发的,它建立了一个判断机器是否能够以一种无法与人类行为区分的方式进行智能行为的标准。机器翻译最早是在20世纪50年代末60年代初被研究的。1954年乔治敦-IBM 实验中展示了俄语句子自动翻译成英语的过程。

  • 1960-1970年代: 基于规则的方法

在此期间,基于规则的系统是自然语言处理的支柱。研究人员试图将句法原则和语言学专业知识转化为计算框架。自然语言理解程序的出现,如 SHRDLU (1970) ,在特定领域显示了早期的结果。

  • 1980-1990年代: 统计自然语言处理与文本语料库

在20世纪80年代,向统计方法的转变加速了。大文本语料库已被研究人员用来识别统计趋势和概率。这个时代是由概率模型和 IBM 的 Candide (1984)的创建所定义的。研究人员还利用统计技术研究了句法分析和词性标注。

  • 20世纪90年代末-21世纪初: 机器学习与神经网络

随着机器学习技术的引入,信息检索和命名实体识别这两项自然语言处理任务得到了进一步的发展。统计机器翻译模型在20世纪90年代末和21世纪初获得了广泛的应用,而支持向量机和其他机器学习方法的使用更为频繁。

  • 2010年: 深度学习革命

NLP 通过使用深度学习,特别是递归神经网络(RNN)和随后的变压器模型进行转换。自然语言处理任务的性能得到了极大的提高,如谷歌的 Word2Vec (2013)模型,回归神经网络,以及在变压器中增加注意机制。

  • 2018年: Transformers和预训模式

通过 BERT (Transformers的双向编码器表示)和 GPT (生成式预训练Transformers)等模型,实现了各种 NLP 基准测试的最佳性能。为特定任务优化的大型预训语言模型像野火一样蔓延开来,在自然口译方面产生了惊人的突破。

三、自然语言处理的实际应用

NLP 彻底改变了我们与计算机和周围世界交互的方式。在数以百计的应用程序中,这里列举了一些值得注意的应用程序。

  1. 垃圾邮件检测-在自然语言处理程序中,垃圾邮件检测是定位和消除来自各种通信渠道的不请自来或无意义的通信的关键应用程序。垃圾邮件检测方法使用机器学习技术来区分垃圾邮件和真实内容,从而评估通信的语言特征。这些模型使用文本分类方法,在这些方法中,它们从由垃圾邮件和非垃圾邮件通信样本组成的标记数据集中获得训练。
  2. 聊天机器人-使用自然语言处理(NLP)来构建聊天机器人是开发具有类似人类会话能力的智能计算机系统的过程。这些聊天机器人使用自然语言处理技术解释用户语音并确定用户意图。他们学会了举例,并逐渐变得更加善于交谈。类似于垃圾邮件过滤器淘汰不请自来的电子邮件,聊天机器人通过消息来理解你的询问,并提供有见地的回应。聊天机器人基本上是基于文本的,也有基于语音的对话代理,如 Siri,Alexa。
  3. 情绪分析-在自然语言处理(NLP)中,情绪分析类似于让机器从书面或口头文字中理解人类的情绪。这就像一个数字情绪探测器!情绪分析利用自然语言处理(NLP)技术检查人们的词汇选择,以确定他们的情绪状态,比如幸福、悲伤、愤怒或其他什么。由于机器学习,这些系统可以从实例中学习,并且更加善于识别各种各样的情绪。
  4. 拼写检查器-自然语言处理(NLP)语法错误修复类似于有一个数字检查器,协助书写错误纠正。使用算法的自然语言处理(NLP)技术可以检测到语法错误,如不正确的单词选择、动词时态问题或缺少标点符号。这些技术通过对样本的研究发现了正确和不正确的写作风格。当你写东西的时候,NLP系统会仔细阅读并提出改进建议,以提高文本的可读性和遵守语法标准。这对于提高电子邮件、散文和其他形式的书面通信的水平是非常有帮助的。一个流行的例子是-Grammarly。
  5. 文本摘要-在自然语言处理(NLP)中,主题建模的性能类似于智能组织器处理大量文本。它使得在一组文档中确定主要主题变得更加容易。自然语言处理系统通过检查词汇和语篇模式将相关概念归类在一起。这些分组所涵盖的主题在论文中非常普遍。这类似于在演讲中确定主题。理解文档集合中包含的主要主题(无论是新闻故事、学术论文还是互联网讨论)可以通过主题建模来完成。
  6. 特定的广告-在自然语言处理(NLP)的语境中,创建定制的广告涉及到拥有一个智能的广告主,根据他们的语言和偏好来针对特定的受众。为了生成定制的和有针对性的广告,自然语言处理(NLP)算法检查人们的语言使用、在线活动和偏好。随着时间的推移,这些系统可以改进它们的广告方法,因为它们能够从用户交互和反馈中学习。如果广告内容是根据特定群体或人群的兴趣和要求量身定做的,那么广告内容就更具相关性和有效性。

四、自然语言处理的相关方法

NLP基本上有三种方法: -启发式(基于规则)方法,机器学习方法和深度学习方法。

  1. 启发式/基于规则的方法

启发式方法是解决问题和决策的方法,不依赖于对每个潜在解决方案的系统和彻底的分析。相反,他们采用有用的指南或经验法则。它有助于更快地做出决策和解决问题,特别是当完整的信息不可用或者过于复杂以至于无法完全理解的时候。与主要依赖于大量数据集和统计模型的数据驱动方法相反,启发式使用专家精心制定的规则和特定领域的专业知识来指导自然语言的处理。启发式算法是有效解决特定语言问题的有效方法,如实体识别、句法分析和词性标注。

  1. 机器学习方法

有时候我们正在处理的问题要相对开放,以至于我们不能用任何经验法则来定义这个问题。在这种情况下,不能使用启发式方法。这就是机器学习方法发挥作用的地方。在 NLP 中,机器学习(ML)模型是在大量的语言例子数据集上进行训练的。基于这些例子,模型可以推广,以提供预测或执行某些任务。训练和推理是 ML 技术在自然语言处理中的两个主要阶段。当模型看到输入-输出对的标记实例(例如,句子及其伴随的意义)时,它学会通过调整内部参数来最小化预测与实际输出之间的差异。在推理阶段,该模型可以使用其新获得的知识来推广和预测新的结果,未观察到的数据。机器学习方法中使用的算法

  • 朴素的贝叶斯(Naive Bayes)
  • Logit模型(Logistic Regression)
  • 支持向量机(SVM)
  • LDA
  • 隐马尔可夫模型(Hidden Markov Models,HMM)
  1. 深度学习方法

为了自动识别和表达语言输入中的复杂模式,自然语言处理深度学习方法(NLP)利用了复杂的神经网络拓扑结构,尤其是多层次的深度神经网络。通过识别语言数据中的层次和抽象模式,深度学习模型在各种自然语言处理任务中显示出惊人的效果。转换器模型是用于自然语言处理(NLP)的深度学习体系结构的主要类别之一。它已经成为众所周知的有效处理顺序输入。变压器可以成功地将依赖关系和上下文考虑在内,因为它们使用自我注意机制以不同的方式衡量输入序列的各个部分。用于深度学习的体系结构:

  • 递归神经网络(Recurrent Neural Network ,RNN)
  • 长短期记忆(Long Short-Term Memory ,LSTM)
  • 门控经常单元/卷积神经网络(Gated Recurrent Unit ,GRU/Convolutional Neural Network
    ,CNN)
  • Transformers
  • 自动编码器(Autoencoders)

五、自然语言处理中的模型

ELIZA:

ELIZA 是自然语言处理的首批应用程序之一,创建于20世纪60年代。它作为一个基于规则的对话代理,识别用户输入的模式,以提供预设的回复。 ELIZA 发现在早期的聊天机器人交互实验中的用途,甚至在心理治疗模拟中发挥了作用。 ELIZA 的目标是复制对话,使其成为早期对话代理的开创性努力。

Tay (微软的 Tay) :

微软在2016年开发的 Tay 是一个利用机器学习进行社交媒体互动的聊天机器人。然而,它面临着不当行为的问题,由于意外后果问题而被关闭。Tay 对在公共动态环境中部署机器学习模型的挑战进行了实验性探索。

用例: 社交媒体互动,实验聊天机器人。

BERT (Bidirectional Encoder Representations from Transformers):

BERT 是一个基于Transformers的模型,它通过从词的两个方向考虑上下文,从而彻底改变了自然语言的理解。这种双向的方法导致了改进的上下文嵌入,使得 BERT 在各种自然语言处理任务(如问题回答、情感分析和语言翻译)中非常有效。

用例: 需要上下文理解和表示的 NLP 任务。

GPT-3(Generative Pre-trained Transformer 3):

由 OpenAI 开发的 GPT-3是一种基于Transformers的语言模型,以其庞大的参数(1750亿)而闻名。它擅长生成类似人类的文本,并能够处理不同的语言任务。GPT-3令人印象深刻的规模允许它提供上下文相关和连贯的反应。

用例: 自然语言生成,语言翻译,文本完成。

LaMDA(Language Model for Dialogue Applications):

谷歌开发的会话语言模型 LaMDA 专注于提高开放式会话的质量和流程。它旨在产生更多与上下文相关的响应,有助于改善各种应用程序中的会话交互。

用例: 会话代理,聊天机器人,对话系统。

MOE (Mixture of Experts) :

MOE 表示一个模型体系结构,该体系结构将多个专门的“专家”模型与一个门控网络结合在一起。每个专家在数据的特定方面都表现出色,门控网络动态地为给定的输入选择最合适的专家,有助于提高性能。

用例: 模式识别,分类任务。

六、自然语言处理的挑战

  • 歧义和多义: 它指的是词可能有的各种解释和句子可以被理解的方式。
  • 缺乏上下文理解: NLP 系统可能难以理解文档或交互的大上下文。
  • 数据稀缺性: 某些语言或领域的数据不足阻碍了模型的性能。
  • 处理否定: 自然语言处理模型可能会被否定和双重否定所混淆。
  • 命名实体识别(NER) : 准确识别和分类实体仍然是一个问题。
  • 共指解析: 可能很难解析不同文档中对同一事物的引用。
  • 偏差和公平性: 尝试保持公平性很重要,因为模型可能会继承训练数据的偏差。
  • 语言多样性: 为单一语言开发的模型可能会发现难以适应多种语言。

引用:
NLP简介
百度解释

你可能感兴趣的:(自然语言处理,自然语言处理,人工智能)