人工智能 | 自然语言处理的发展历程

=====================================================
github:https://github.com/MichaelBeechan
CSDN:https://blog.csdn.net/u011344545

=====================================================

自然语言处理的发展

  • 方向一:技术进步
    • 1. 基于规则的语法(1950-1990)
    • 2. 统计语言处理(1990-2010)
    • 3. 基于深度学习的自然语言处理(2010年至今)
  • 方向二:应用场景
    • 1、机器翻译
    • 2、打击垃圾邮件
    • 3、信息提取
    • 4、文本情感分析
    • 5、自动问答
    • 6、个性化推荐
  • 方向三:挑战与前景
  • 方向四:伦理和社会影响
  • 方向五:实践经验

  • 随着深度学习和大数据技术的进步,自然语言处理取得了显著的进步。人们正在研究如何使计算机更好地理解和生成人类语言,以及如何应用NLP技术改善搜索引擎、语音助手、机器翻译等领域。

  • 自然语言处理技术,简称NLP,是计算机科学中的一个重要研究领域。自然语言处理技术的发展历程从20世纪50年代开始,经过了多个阶段,并不断地迭代发展,如今已经成为信息技术领域中的重要一环。

  • 发展趋势规则——>统计——>深度学习
    在这里插入图片描述

  • 4个阶段:1956年萌芽期;1957-1970年的快速发展时期;1971-1993年低谷发展期;1994年复苏融合期。
    在这里插入图片描述

  • 自然语言处理的发展历程经历了兴起阶段、符号主义、连接主义和深度学习阶段。

  • 兴起阶段:自然语言处理的萌芽期,代表人物包括图灵和香农。

  • 符号主义:自然语言处理的发展器,代表任务是乔姆斯基和他的生成文法。

  • 连接主义:自然语言处理的发展器,代表方法为统计机器学习。

  • 深度学习:自然语言处理的鼎盛期,代表人物为深度学习三巨头:Yoshua Bengio、Yann LeCun、Geoffrey Hinton。
    在这里插入图片描述

方向一:技术进步

在这里插入图片描述

1. 基于规则的语法(1950-1990)

  • 20世纪50年代,科学家开始尝试使用计算机进行对话和翻译,同时提出了使用规则的方法来处理自然语言。该方法是将自然语言语句分解为一系列形式化元素并进行解析,以此来理解自然语言言句的意义。这种方法的缺点在于,对于复杂的语句,需要大量的规则来解析,规则的数量与复杂性呈指数级增长。

2. 统计语言处理(1990-2010)

  • 在20世纪90年代以后,科学家们开始使用由数学方法所构成的统计学的方式来处理自然语言。这种方法通过分析语言学习者在语言学习中所表现出来的统计规律,从而使计算机得以自然语言处理的准确率有所提升。

3. 基于深度学习的自然语言处理(2010年至今)

  • 2010年至今,深度学习技术的发展极大地加速了自然语言处理的发展。在这一阶段,基于深度学习的自然语言处理技术被称为“神经网络自然语言处理”,包括深度神经网络、卷积神经网络和循环神经网络等。这些技术可以通过处理大量的数据,进行自身调节,得到更为精准的解析结果。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

方向二:应用场景

  • 自然语言处理包含自然语言理解和自然语言生成两个方面, 常见任务包括文本分类, 结构分析 (词法分析, 分词, 词性标注, 句法分析, 篇章分析), 语义分析, 知识图谱, 信息提取, 情感计算, 文本生 成, 自动文摘, 机器翻译, 对话系统, 信息检索和自动问答等. 在神经网络方法出现之前, 因为缺乏行 之有效的语义建模和语言生成手段, 自然语言处理的主流方法是基于机器学习的方法, 采用有监督分 类, 将自然语言处理任务转化为某种分类任务. 在神经网络时代, Word2Vec 词嵌入模型, BERT 等 上下文相关语言模型为词语, 句子乃至篇章的分布式语义提供了有效的建模手段; 编码器-解码器架 构和注意力机制提升了文本生成的能力; 相比传统自然语言处理所遵循的词法-句法-语义-语篇-语用 分析级联式处理架构, 端到端的神经网络训练方法减少了错误传播, 极大提升了下游任务的性能. 不 过, 神经网络方法仍然遵循监督学习范式, 需要针对特定任务, 给定监督数据, 设计深度学习模型, 通 过最小化损失函数来学习模型参数. 由于深度学习也是一种机器学习方法, 因此从某种程度上, 基于 神经网络的方法和基于机器学习的方法并无本质区别.
  • 然而, 不同于通常的深度学习方法, 以 ChatGPT 为代表的生成式大模型, 除了能高质量完成自 然语言生成类任务之外, 还具备以生成式框架完成各种开放域自然语言理解任务的能力. 只需要将 模型输出转换为任务特定的输出格式, 无需针对特定任务标注大量的训练数据, ChatGPT 即可在少 样本乃至零样本上, 达到令人满意的性能, 甚至可在某些任务上超过了特别设计并使用监督数据进行 训练的模型. 因此, ChatGPT 对各种自然语言处理核心任务带来了巨大的, 不可避免的冲击和影响, 也酝酿着新的研究机遇. 接下来, 针对各种自然语言处理核心任务, 我们将首先介绍其任务需求和主 流方法, 然后分析大模型对其主流研究范式所带来的影响, 并探讨未来研究趋势.

文本分类

结构化预测

语义分析

知识图谱与文本信息抽取

情感计算

文本生成

自动文摘

机器翻译

对话系统

信息检索

自动问答

在这里插入图片描述

  • 人类语言经过数千年的发展,已经成为一种微妙的交流形式,承载着丰富的信息,这些信息往往超越语言本身。自然语言处理将成为填补人类通信与数字数据鸿沟的一项重要技术。下面就介绍一下自然语言处理的几个常见应用:

1、机器翻译

在这里插入图片描述

  • 随着通信技术与互联网技术的飞速发展、信息的急剧增加以及国际联系愈加紧密,让世界上所有人都能跨越语言障碍获取信息的挑战已经超出了人类翻译的能力范围。
  • 机器翻译因其效率高、成本低满足了全球各国多语言信息快速翻译的需求。机器翻译属于自然语言信息处理的一个分支,能够将一种自然语言自动生成另一种自然语言又无需人类帮助的计算机系统。目前,谷歌翻译、百度翻译、搜狗翻译等人工智能行业巨头推出的翻译平台逐渐凭借其翻译过程的高效性和准确性占据了翻译行业的主导地位。

2、打击垃圾邮件

在这里插入图片描述

  • 当前,垃圾邮件过滤器已成为抵御垃圾邮件问题的第一道防线。不过,有许多人在使用电子邮件时遇到过这些问题:不需要的电子邮件仍然被接收,或者重要的电子邮件被过滤掉。事实上,判断一封邮件是否是垃圾邮件,首先用到的方法是“关键词过滤”,如果邮件存在常见的垃圾邮件关键词,就判定为垃圾邮件。但这种方法效果很不理想,一是正常邮件中也可能有这些关键词,非常容易误判,二是将关键词进行变形,就很容易规避关键词过滤。

  • 自然语言处理通过分析邮件中的文本内容,能够相对准确地判断邮件是否为垃圾邮件。目前,贝叶斯(Bayesian)垃圾邮件过滤是备受关注的技术之一,它通过学习大量的垃圾邮件和非垃圾邮件,收集邮件中的特征词生成垃圾词库和非垃圾词库,然后根据这些词库的统计频数计算邮件属于垃圾邮件的概率,以此来进行判定。

3、信息提取

在这里插入图片描述

  • 金融市场中的许多重要决策正日益脱离人类的监督和控制。算法交易正变得越来越流行,这是一种完全由技术控制的金融投资形式。但是,这些财务决策中的许多都受到新闻的影响。因此,自然语言处理的一个主要任务是获取这些明文公告,并以一种可被纳入算法交易决策的格式提取相关信息。例如,公司之间合并的消息可能会对交易决策产生重大影响,将合并细节(包括参与者、收购价格)纳入到交易算法中,这或将带来数百万美元的利润影响。

4、文本情感分析

在这里插入图片描述

  • 在数字时代,信息过载是一个真实的现象,我们获取知识和信息的能力已经远远超过了我们理解它的能力。并且,这一趋势丝毫没有放缓的迹象,因此总结文档和信息含义的能力变得越来越重要。情感分析作为一种常见的自然语言处理方法的应用,可以让我们能够从大量数据中识别和吸收相关信息,而且还可以理解更深层次的含义。比如,企业分析消费者对产品的反馈信息,或者检测在线评论中的差评信息等。

5、自动问答

在这里插入图片描述

  • 随着互联网的快速发展,网络信息量不断增加,人们需要获取更加精确的信息。传统的搜索引擎技术已经不能满足人们越来越高的需求,而自动问答技术成为了解决这一问题的有效手段。自动问答是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务,在回答用户问题时,首先要正确理解用户所提出的问题,抽取其中关键的信息,在已有的语料库或者知识库中进行检索、匹配,将获取的答案反馈给用户。

6、个性化推荐

  • 自然语言处理可以依据大数据和历史行为记录,学习出用户的兴趣爱好,预测出用户对给定物品的评分或偏好,实现对用户意图的精准理解,同时对语言进行匹配计算,实现精准匹配。例如,在新闻服务领域,通过用户阅读的内容、时长、评论等偏好,以及社交网络甚至是所使用的移动设备型号等,综合分析用户所关注的信息源及核心词汇,进行专业的细化分析,从而进行新闻推送,实现新闻的个人定制服务,最终提升用户粘性。
    在这里插入图片描述

方向三:挑战与前景

在这里插入图片描述

  • ChatGPT 等大型语言模型, 对传统自然语言处理核心任务产生了巨大的冲击和影响. 这些核心任务普遍遵循监督学习范式, 需要针对特定任务, 给定监督数据, 设计和定制机器学习和深 度学习模型. 相比之下, 利用 ChatGPT 完成自然语言处理任务, 不仅能在少样本, 零样本场景下接 近乃至达到传统监督学习方法的性能指标, 且具有较强的领域泛化性. 虽然如此, 面对大型语言模型所带来的冲击, 研究者们完全无需产生 “自然语言处理已经不存在 了” 等悲观情绪. 首先, ChatGPT 等对话式大模型, 并非横空出世, 而是沿着神经语言模型的发展路 线, 利用海量算力, 基于大规模高质量文本数据所实现的大型全注意力模型. 未来研究者们能够将大 模型作为研究方法和手段, 更能够学习, 借鉴生成式无监督预训练, 多任务学习, 上下文学习, 指令遵 循, 思维链, 基于人类反馈的强化学习等大型语言模型的特点和优势, 进一步提升自然语言核心任务 的能力.

  • 大模型为自然语言处理带来了架构通用化, 任务统一化, 能力按需化, 模型定制化等变化趋势. 今后在各种自然语言理解和生成任务的主流架构和范式逐渐统一的情况下, 一方面,各种自然语言 处理任务有望进一步得到整合, 以增强自然语言处理模型的通用性, 减少重复性工作; 另一方面, 基 于大模型的强大基础能力, 针对具体任务进行按需适配, 数据增强, 模型压缩与轻量化, 跨模态和多 模态融合, 加强自然语言处理模型方法的可控性, 可配性, 领域适应性, 多样性, 个性化和交互能力, 将进一步拓展自然语言处理的应用场景.

  • 大模型时代的自然语言处理, 存在算法模型的可解释性, 公平性, 安全性, 可靠性, 能耗, 数据质 量和评价等一些共性问题, 这些问题也是妨碍大模型能力提升和服务质量的主要因素. 未来, 针对模 型分析和可解释性, 伦理问题与安全性, 信息准确性, 计算成本与能源消耗, 数据资源和模型评价等 各种自然语言处理共性问题的研究将越来越深入.

  • 自然语言处理是人工智能的重要组成部分, 是人工智能从感知智能上升到认知智能的主要手段. ChatGPT 的出现, 已经打开了通向通用人工智能的大门. 未来, 以大模型作为基座, 利用工具学习, 多模态融合, 具身智能拓展其感知, 计算, 推理, 交互和控制能力, 自然语言处理技术将进一步助力通 用人工智能的发展, 促进各行各业的生产力进步, 更好地为人类社会服务.

方向四:伦理和社会影响

在这里插入图片描述

  • 自然语言处理(NLP)的伦理问题是一个日益重要的领域,涉及到很多与公平性、透明度、隐私和偏见等问题相关的议题。以下是一些主要的伦理问题:
  • 数据偏见:NLP系统通常通过学习大量的语言数据来训练,如果这些数据包含偏见,如性别、种族、年龄、宗教等方面的偏见,那么这些偏见可能会被NLP系统学习并放大,从而影响系统的决策和推荐。
  • 隐私保护:在NLP中,用户的语言数据通常被用来训练模型,如果没有得到适当的处理和保护,可能会泄露用户的隐私信息。
  • 透明度和可解释性:NLP模型,尤其是深度学习模型,通常被视为“黑箱”,很难理解它们的工作原理和决策过程。这可能会导致无法对模型的决策进行有效的审核和监管。
  • 生成内容的道德责任:随着GPT等生成模型的发展,NLP系统现在可以生成非常逼真的文本。这可能会被用于制造假新闻、虚假信息等,对社会产生负面影响。
  • 公平性:NLP系统需要确保对所有用户的公平对待,不同的文化、语言和方言应该得到相等的重视和处理。
  • 隐私和标签:个人的性取向属于敏感信息,不应该被公开或被他人无需知道的情况下就被暴露。尽管这个工具的目标可能是为了理解这两个社区的语言如何不同,但可能存在滥用的风险,导致某些人的性取向被暴露。
  • 偏见和歧视:对于语言的标签可能引发和加强偏见和歧视。如果一个工具将特定的语言习惯或表达方式标记为LGBTQ或异性恋的,这可能导致人们对使用这些语言的人产生不准确或偏见的认识。
  • 过度简化和刻板印象:性取向并不是唯一影响个人语言使用的因素。将语言归类为"LGBTQ"或"异性恋"可能过度简化了语言的复杂性和多样性,忽视了个体之间的差异,以及文化、地域、年龄、教育等其他因素的影响。
  • 误解和误分类:工具可能无法完全准确地理解和分类语言,这可能导致误解和误分类,从而引发一系列的问题,如误导研究,引发误会,或者伤害到被误分类的人。

方向五:实践经验

在这里插入图片描述

  • 近年来,自然语言处理(NLP)在质量和可用性方面有了快速的增长,这有助于推动人工智能(AI)解决方案的商业采用。在过去的几年里,研究人员一直在将新的深度学习方法应用于NLP。数据科学家开始从传统方法转向state-of-the-art(SOTA)深度神经网络(DNN)算法,该算法使用在大型文本语料库上预先训练的语言模型。

  • 这个存储库包含构建NLP系统的示例和最佳实践,以Jupyter笔记本和实用程序函数的形式提供。存储库的重点是state-of-the-art方法和常见场景,它们在研究涉及文本和语言的问题的研究人员和实践者中很流行。
  • 这个知识库的目标是建立一套全面的工具和示例,利用NLP算法、神经体系结构和分布式机器学习系统的最新进展。内容基于我们过去和未来与客户的合作,以及与合作伙伴、研究人员和开源社区的合作。
  • 我们希望通过界定市场的规模来大大缩短解决问题的时间。此外,示例笔记本将作为指南,展示各种语言的最佳实践和工具的使用。
  • 在一个迁移学习、变形金刚和深层架构的时代,我们相信预训练模型为许多real-world问题提供了一个统一的解决方案,并允许轻松处理不同的任务和语言。因此,我们将优先考虑这些模型,因为它们在几个NLP基准测试(如GLUE和SQuAD leaderboard)上获得state-of-the-art的结果。这些模型可以用于从简单的文本分类到复杂的智能聊天机器人的许多应用程序中。

方向六:开源软件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/335364.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PICO】【Unity】【VR】如何对打包后的PICO项目有效Debug

【背景】 PICO项目打包后再运行就看不到Console了。当然,会有各类专业的Debug工具。 有一类Debug的工具是Preview形式下展示Debug信息,但是发现Preview成功不见得打包也成功。 打包后也会有一些Debug工具,不过这里我给出自己的简单解决办法。 【解决方案】 Unity Console…

KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/4)

文章目录 1、登录kubesphere平台2、kubesphere部署应用分析2.1、工作负载2.2、服务2.3、应用路由2.4、任务2.5、存储与配置2.6、部署应用三要素 3、部署mysql3.1、mysql容器启动实例3.2、mysql部署分析3.3、创建mysql的配置3.4、创建mysql的数据卷pvc3.5、创建mysql工作负载3.6…

视频监控需求记录

记录一下最近要做的需求,我个人任务还是稍微比较复杂的 需求:需要实现一个视频实时监控、视频回放、视频设备管理,以上都是与组织架构有关 大概的界面长这个样子 听着需求好像很简单,但是~我们需要在一个界面上显示两个厂商的视…

1.C语言——基础知识

C语言基础知识 1.第一个C语言程序2.注释3.标识符4.关键字5.数据类型6.变量7.常量8.运算符9.输入输出输入输出 1.第一个C语言程序 C语言的编程框架 #include <stdio.h> int main() {/* 我的第一个 C 程序 */printf("Hello, World! \n");return 0; }2.注释 单行…

C#使用Graphics绘图通过加载纹理底图的方式绘制纹理效果

纹理图片 加载效果如下图&#xff1a; 在扇形上把纹理图片作为底&#xff0c;渲染到绘制的图像中。 图形渲染中&#xff0c;纹理可以包括各种图像&#xff0c;如照片、图标、图案等。这些图像被映射到三维模型的表面&#xff0c;使得表面看起来像是被这些图像所包裹。 主要特点…

基于SSM的图书馆管理系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的图书馆管理系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring Sp…

AIGC - 视频生成模型的相关算法进展

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/135688206 视频生成技术确实是一个很有潜力的颠覆性技术领域&#xff0c;可以作为企业创新梯队的重点关注方向&#xff0c;最近发展很快&#xff…

Docker--harbor

目录 一、搭建本地私有仓库 Docker容器的重启策略如下&#xff1a; 二、Harbor 简介 2.1Harbor是什么 2.2Harbor的特性 2.3Harbor的构成 2.4架构的数据流向 三、harbor部署以及配置文件 环境准备 部署Docker-Compose服务 下载或上传Docker-Compose&#xff1a; 赋予…

验证回文串[简单]

优质博文&#xff1a;IT-BLO-CN 一、题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个回文串。 字母和数字都属于字母数字字符。 给你一个字符串s&#xff0c;如果它是回文串&#xff…

MySQL---视图索引

表定义&#xff1a; 学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;S…

【JavaEE】文件操作 —— IO

文件操作 —— IO 1. 文件的属性 文件内容文件大小文件路径文件名称 2. 文件的管理 采用树形结构进行管理。 3. 文件路径 分为两种&#xff1a;相对、绝对路径。 相对路径&#xff1a;相对于当前位置的路径&#xff0c;以“./xxx.xxx”为标志绝对路径&#xff1a;以从盘符…

MySQL作业

目录 1.实验需求1&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; &#xff08;4&#xff09; &#xff08;5&#xff09; 2.实验步骤1&#xff1a; &#xff08;1&#xff09;完成上述实验需求1&#xff0c;需要先创建一…

DAY13--learning English

一、积累 1.jog Riding rollercoaster is even like a daily jog for this man, 对这个男人来说坐过山车甚至就像每天散步一样轻松. 2.admission Admission to guilt. 承认有罪 3.summon I love the guy hes literally summon Karpov into material plane. 我喜欢这家伙他真…

牛牛的猜球游戏

置换群 前缀和 思想 学好线性代数 做这题很有意思&#xff0c;记得多校也有一道置换群的好题&#xff5e; 把多次变换看成一个置换矩阵就好也就是 I (一开始为单位矩阵) ->经过A作用产生了B->经过C作用产生了D 即 CAI D 现在让我们求一下 CI &#xff1f; 两边右…

C++浮点数比较

根据资料&#xff0c;C浮点数计算时存在精度误差&#xff0c;在一些情况下比较浮点数可能应使用特定的比较函数&#xff1b; #include "stdafx.h" #include<iostream>using namespace std;#define EPS 1e-9int main(int argc, char* argv[]) {double a 0.3;do…

利用appium自动控制移动设备并提取数据

安装appium-python-client模块并启动已安装好的环境 安装appium-python-client模块 在window的虚拟环境下执行pip install appium-python-client 启动夜神模拟器&#xff0c;进入夜神模拟器所在的安装路径的bin目录下&#xff0c;进入cmd终端&#xff0c;使用adb命令建立adb…

Klocwork—符合功能安全要求的自动化静态测试工具

产品概述 Klocwork是Perforce公司产品&#xff0c;主要用于C、C、C#、Java、 python和Kotlin代码的自动化静态分析工作&#xff0c;可以提供编码规则检查、代码质量度量、测试结果管理等功能。Klocwork可以扩展到大多数规模的项目&#xff0c;与大型复杂环境、各种开发工具集成…

在k8s上部署ClickHouse

概述 clickhouse的容器化部署&#xff0c;已经有非常成熟的生态了。在一些互联网大厂也已经得到了大规模的应用。 clickhouse作为一款数据库&#xff0c;其容器化的主要难点在于它是有状态的服务&#xff0c;因此&#xff0c;我们需要配置PVC。 目前业界比较流行的部署方式有…

使用pyechart创建基础柱状图

from pyecharts.charts import Bar# 构建柱状图对象 bar Bar()# 添加X轴数据 bar.add_xaxis(["中国","美国","英国"])# 添加Y轴数据 bar.add_yaxis("GDP",[30,20,10])# 绘图 bar.render("基础柱状图.html")效果演示&#x…

Git学习笔记(第6章):GitHub操作(远程库操作)

目录 6.1 远程库操作 6.1.1 创建远程库 6.1.2 命名远程库 6.1.3 本地库推送到远程库(push) 6.1.4 远程库拉取到本地库(pull) 6.1.5 远程库克隆到本地库(clone) 6.2 团队内协作 6.3 跨团队协作 6.4 SSH免密登录 6.1 远程库操作 命令 作用 git remote -v 查看所有远程…