AI大模型系列:自然语言处理,从规则到统计的演变

AI大模型系列文章目录

  1. 文明基石,文字与数字的起源与演变
  2. 自然语言处理,从规则到统计的演变
  3. AI魔法师,提示工程的力量

自然语言处理,从规则到统计的演变


  自然语言处理(Natural Language Processing,NLP)是人工智能的一个重要分支,主要研究如何让计算机理解、解释和生成人类语言。从自然语言处理的字面上来看,最重要的是“语言”二字,语言则是通过语法规则将一个个毫无联系的文字、数字和字母串联起来的。

  文字的出现是因为咱们祖先为了记录所见所闻和所思所想(传送门),咱们的祖先再将文字、字母和数字进行信道编码就成为了我们日常使用的语言。简单来讲,我们把一个要表达的意思,通过中文的一句话表达出来,就是在头脑中用中文的编码方式对其进行编码,然后得到一串汉字。对方如果懂得中文,在接收到之后就可以在头脑中使用中文的解码方式来解码,进而获得说话人想要表达的信息。

  世界上存在的每一种语言都有自己独有的语法规则,从而都拥有自己独有的编解算法,即这就是语言在数学上的本质。

人类还是机器?

  1946年,冯·诺伊曼体系的现代计算机出现以后,计算机在很多领域的很多工作做得都比人还好。既然如此,当时的科学家们就提出了计算机能不能懂得自然语言的课题,由此开启了自然语言处理研究的漫漫长路。

  最早提出机器智能设想的是,计算机科学之父的阿兰·图灵(Alan Mathison Turing,1912年6月23日—1954年6月7日),没错这是电影《模仿游戏》中的那个阿兰·图灵(传送门)。1950年他在《思想》杂志上发表了一篇题为“计算的机器和智能”的论文,并在论文中提出了一种验证机器是否有智能的方法:让人和机器进行交流,如果人无法判断自己交流的对象是人还是机器,那么就说明这个机器拥有了智能。这个方法被后人称为“图灵测试”,自此拉开了自然语言处理的序幕。

  自然语言处理发展虽然经过几十年的发展,但基本上可分为语言语法规则、数学模式统计和深度学习这么几个阶段。

探索

  时间回到1950年代到1970年代,当时的学术界对人工智能和自然语言处理的统一认识就是:要让机器完成翻译或者语音识别等只有人类才能做的事情,就必须先让计算机理解自然语言,而要做到这一点就必须让计算机拥有类似人类这样的智能。

  之所以会这样的认为,是因为咱们的大脑在解决问题或者学习技能时,首先会寻找与要解决或学习事物类似的事物进行模仿研究,进而完成仿制。正如有人认为怀特兄弟发明飞机仅仅是通过模仿鸟儿飞行,但是殊不知怀特兄弟成功发明飞机靠的不是仿生学而是空气动力学。同样在自然语言处理早期咱们的科学家也就走了弯路,企图使用仿生学来让计算机拥有处理语言的能力。

  基于上述共识科学家在分析语句和获取语义上花费了大量的功夫,并在1954年,乔治城大学和IBM合作开发了第一个机器翻译系统,这个机器翻译系统的底层原理就是通过分析语句、获取语义然后使用语法规则来处理语言,并且其运行几乎依赖于手工编写的规则来解析和处理语言。
image.png
  此阶段虽然有不少的研究成果,但是整体的研究成果乏善可陈。因为世界上语言众多,哪怕只是覆盖一种语言的语法规则的工作量也是巨大的,并且还存在方言、多义性和上下文的问题。自此当时的科学家渐渐地丧失了信心,自然语言发展也进入了蛰伏期。

破局

  1970年代基于规则的句法分析走到了尽头,但是自然语言处理的研究并没有因此停滞不前,历史的齿轮再一次转到,佛里德里克·贾里尼克(Frederick Jelinek)和他领导的IBM华生实验室(T.J.Watson)摒弃使用语法规则来解决语音识别问题,开始转而使用基于统计的方法,一下子就将IBM的语音识别率从70%提升到了90%,同时语音识别的规模也从几百单词上升到了几万单词,这就表示语音识别有从实验室走向实际应用的可能,同时也表示在自然语言处理上有了新的研究方向。

  虽然贾里尼克使用统计学的方法在自然语言处理上取得了突破,但是碍于当时算力不足和顽固派的阻挠整体发展还是相当的缓慢。虽然在1988年,IBM的彼得·布朗(Peter Brown)等人提出了基于统计的机器翻译方法,同样也碍于算力不足和没有足够强大的模型从而没有得到突破。

  1990年代统计方法开始成为自然语言处理的主流方法,并在1990年美国计算语言学会(ACL)成立了。同时在隐马尔可夫模型的加持,推动了自然语言处理研究发展进入了快车道。1993年,第一个基于统计的机器翻译系统IBM Model 1发布。这个时期的自然语言处理系统开始使用大量语料库进行训练,提高系统的准确性和鲁棒性。

  隐马尔可夫模型被任务是解决大多数自然语言处理问题最为快速、有效的方法,在成功地解决了复杂的语音识别、机器翻译等问题。最关键的是它并不是一个复杂的数学模型,理解和实现的难度都不大。

  2000年-2010年这十年深度学习崛起,并开始在自然语言处理中崭露头角。2001年,神经概率语言模型(Neural Probabilistic Language Model)被提出,为后来的深度学习在自然语言处理中的应用奠定了基础。并经过多年的研究发展,2018年谷歌又一次打出了王炸—BERT(Bidirectional Encoder Representations from Transformers)模型刷新了多个自然语言处理任务的记录。此后自然语言处理领域继续快速发展,各种预训练模型如GPT、RoBERTa、XLNet等不断刷新纪录。

  同时,自然语言处理开始与其他领域如计算机视觉、语音识别等结合,形成了多模态学习的趋势。此外,自然语言处理技术开始在工业界得到广泛应用,如智能客服、机器翻译、情感分析等。


一键三连,让我的信心像气球一样膨胀!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端 CSS

目录 选择器 复合选择器 伪类-超链接 结构伪装选择器 伪元素选择器 画盒子 字体属性 CSS三大属性 Emmet写法 背景属性 显示模式 盒子模型 盒子模型-组成 盒子模型-向外溢出 盒子模型-圆角 盒子模型-阴影 flex position定位 CSS小精灵 字体图标 垂直对齐方式…

数据库(MySQL)—— DML语句

数据库(MySQL)—— DML语句 什么是DML语句添加数据给全部字段添加数据批量添加数据 修改数据删除数据 什么是DML语句 在MySQL中,DML(Data Manipulation Language,数据操纵语言)语句主要用于对数据库中的数…

基础安全:CSRF攻击原理与防范

CSRF的概念 CSRF(Cross-Site Request Forgery)中文名为“跨站请求伪造”。这是一种常见的网络攻击手段,攻击者通过构造恶意请求,诱骗已登录的合法用户在不知情的情况下执行非本意的操作。这种攻击方式利用了Web应用程序中用户身份验证的漏洞,即浏览器在用户完成登录后会自…

eclipse导入工程提示Project has no explicit encoding set

eclipse导入工程提示Project has no explicit encoding set 文章目录 eclipse导入工程提示Project has no explicit encoding set一、Eclipse的工程导入二、可能的问题1.在工程名下有黄色叹号 一、Eclipse的工程导入 用Eclipse的导入可以将原有工程导入到新环境中 具体方法是&…

3.C++动态内存管理(超全)

目录 1 .C/C 内存分布 2. C语言中动态内存管理方式:malloc/calloc/realloc/free 3. C内存管理方式 3.1 new/delete操作内置类型 3.2 new和delete操作自定义类型 3.3 operator new函数 3.4 定位new表达式(placement-new) (了解) 4. 常…

Linux搭建靶场

提前准备: 文章中所使用到的Linux系统:Ubantu20.4sqlilabs靶场下载地址:GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based. 一. 安装phpstudy phpstudy安装命令:wget -O install.sh h…

增强大模型高效检索:基于LlamaIndex ,构建一个轻量级带有记忆的 ColBERT 检索 Agent

在自然语言处理领域,高效检索相关信息的能力至关重要。将对话式记忆集成到文档检索系统中已经成为增强信息检索代理效果的强大技术。 在文中,我们专为 LlamaIndex 量身定制,将深入探讨构建一个轻量级的带有记忆的 ColBERT 检索代理&#xff…

后端方案设计文档结构模板可参考

文章目录 1 方案设计文档整体结构2 方案详细设计2.1 概要设计2.2 详细设计方案2.2.1 需求分析2.2.2 业务流程设计2.2.3 抽象类:实体对象建模2.2.4 接口设计2.2.5 存储设计 1 方案设计文档整体结构 一,现状:把项目的基本情况和背景都说清楚&a…

iA Writer for Mac:简洁强大的写作软件

在追求高效写作的今天,iA Writer for Mac凭借其简洁而强大的功能,成为了许多作家、记者和学生的首选工具。这款专为Mac用户打造的写作软件,以其独特的设计理念和实用功能,助你轻松打造高质量的文章。 iA Writer for Mac v7.1.2中文…

第2节:UIOTOS前端零代码应用 蓝图连线 信号值变化小示例02

目标 通过连线,实现信号值随机变化。 最终效果 实现过程 步骤1:接11节,选中底板设置其背景颜色 步骤2:拖入普通按钮V2组件,设置“text”值为“1”,并做form绑定 步骤3:选中按钮对输入框进行交…

Java 写一个死锁的例子

public class DeadLock {public static void main(String[] args) {Object lock1 new Object();Object lock2 new Object();new Thread(new A(lock1,lock2),"线程A").start();new Thread(new B(lock1,lock2),"线程B").start();} }class A implements Run…

Microsoft Universal Print 与 SAP 集成教程

引言 从 SAP 环境打印是许多客户的要求。例如数据列表打印、批量打印或标签打印。此类生产和批量打印方案通常使用专用硬件、驱动程序和打印解决方案来解决。 Microsoft Universal Print 是一种基于云的打印解决方案,它允许组织以集中化的方式管理打印机和打印机驱…

2023年蓝桥杯C++A组第三题:更小的数(双指针解法)

题目描述 小蓝有一个长度均为 n 且仅由数字字符 0 ∼ 9 组成的字符串,下标从 0 到 n − 1,你可以将其视作是一个具有 n 位的十进制数字 num,小蓝可以从 num 中选出一段连续的子串并将子串进行反转,最多反转一次。小蓝想要将选出的…

神经网络参数初始化

一、引入 在深度学习和机器学习的世界中,神经网络是构建智能系统的重要基石,参数初始化是神经网络训练过程中的一个重要步骤。在构建神经网络时,我们需要为权重和偏置等参数赋予初始值。对于偏置,通常可以将其初始化为0或者较小的…

【基础算法总结】滑动窗口一

滑动窗口 1.长度最小的字数组2.无重复字符的最长子串3.最大连续1的个数 III4.将 x 减到 0 的最小操作数 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&…

工作任务管理平台B端实战项目作品集+WebApp项目源文件 figma格式

首先,作品集是什么?通常应该包含什么内容?为什么大家都在做自己的作品集呢? 作品集是个人或公司展示其过往工作成果的集合,通常包括各种专案、作品或成就的范例,用以展示创建者的技能、经验和专业水平。 …

Mysql--创建数据库

一、创建一个数据库 “db_classes” mysql> create database db_classes; mysql> show databases; -------------------- | Database | -------------------- | db_classes | | information_schema | | mysql | | performance_schema | |…

LabVIEW航空发动机主轴承试验器数据采集与监测

LabVIEW航空发动机主轴承试验器数据采集与监测 随着航空技术的迅速发展,对航空发动机性能的测试与监测提出了更高的要求。传统的数据采集与监测方法已难以满足当前高精度和高可靠性的需求,特别是在主轴承试验方面。基于LabVIEW的航空发动机主轴承试验器…

【LocalAI】(10):在autodl上编译embeddings.cpp项目,转换bge-base-zh-v1.5模型成ggml格式,本地运行main成功

1,关于 localai LocalAI 是一个用于本地推理的,与 OpenAI API 规范兼容的 REST API。 它允许您在本地使用消费级硬件运行 LLM(不仅如此),支持与 ggml 格式兼容的多个模型系列。支持CPU硬件/GPU硬件。 【LocalAI】&…

2024年武汉东湖高新水测成绩出来了

本次水测通过人员有1016名,通过的人数还是蛮多的,水测其实没有大家想象的那么难,现在职称评审都是水测线下评审的模式进行的。 水平测试分机考,笔试和面试答辩,各区随机安排选其一,机考就相当于考驾照刷题&…