27.语言模型

语言模型,是NLP方向一直主力研究的,通过训练机器,来让机器学习人类语言的内在规律,理解自然语言,并将其转换为计算机语言。
目前的主流语言模型,如GPT、Deepseek等,并不是简单的搜索背诵。他们的机制更类似于一种猜词游戏,即通过当前的信息,推测下一个相关的信息是什么,通过这种方式进行资源整合。

NLP语言模型具体涉及解决的问题有:搜索、分类、聚类、总结、生成、重写、抽象
NLP模型效果依赖两个方面:一是模型结构,二是语料库的丰富程度。

发展阶段

  • 统计语言模型
    是一种基于概率统计的语言模型,旨在预测下一个单词或句子出现的概率。
    将NLP任务视为一个统计问题,使用机器学习算法从大规模语料库中学习语言的统计规律。
    严重依赖特征工程。模型的效果很大程度上取决于从业者如何设计和提取特征(如词形、词性、词干、上下文窗口等)。

  • 神经网络语言模型:
    基于神经网络学习特征,比传统模型效果更好。
    使用深度学习模型(尤其是循环神经网络RNN、长短期记忆网络LSTM和卷积神经网络CNN)自动学习语言的底层特征表示,取代手工特征工程。

  • 预训练语言模型
    先在超大规模无标注文本数据上训练一个通用的基础模型(学习语言本身的语法、语义、知识等),再针对具体下游任务用少量标注数据进行微调。
    Transformer架构推出后,并行计算能力强,极大地提升了训练效率和长程依赖建模能力。改变了语言模型的结构。
    在这里插入图片描述

统计语言模型

统计语言模型是描述单词、句子或文档的概率分布的模型。主要有以下几种:

  • n-gram模型
    n-gram模型是将一段文本切分成n个连续的词组,然后根据前n-1个词组来预测第n个词组,从而达到预测的目的(3-gram通过前2个词,预测第3个词)。

在这里插入图片描述

  • 平滑方法
    n-gram需要对所有上文进行枚举的操作,加上要处理出现次数为0的问题,所以可能存在过拟合和数据稀疏的问题。因此,需要引入平滑方法:Laplace平滑、Good-Turing平滑、Katz平滑等。

  • 隐马尔科夫模型(HMM)
    HMM是一种将语言转化为概率状态序列的模型,可以学习文本中的隐含结构。一般用于识别词性、命名实体识别等任务。
    命名实体识别:是从非结构化的文本中自动识别出专有名词或特定意义的实体,并将其分类到预定义的类别中。
    可以把它理解为一种“信息高亮”,它能在密密麻麻的文字中,快速地把人名、地名、组织机构名等重要信息标记出来。

  • 最大熵模型
    最大熵模型是一种分类器,用来预测下一个词或字符的条件概率。以最大化信息熵为目标函数,通过最大熵原理确定模型参数。

神经网络语言模型

神经网络语言模型(NNLM),是基于神经网络实现的模型,相比于传统模型有更好的性能。

  • 基于前馈神经网络的NNLM
    2003年提出,通过前馈神经网络训练,用softmax分类。

  • 循环神经网络模型(RNNLM)
    是一种基于循环神经网络的语言模型,优点是对动态的序列进行建模,通过引入长短时记忆单元(LSTM),解决了神经网络在处理长序列的梯度消失问题,提升了性能。
    如果序列过长,随着训练,前面的知识可能被遗忘。

  • TransformerLM
    基于Transformer的语言模型,通过自注意力机制计算不同单词间的关系。
    相比于RNNLM,Transformer具有更强的并行性,计算效率上有更大优势。

预训练模型

基于TransformerLM,后续发展了一批以此为基础的变体,目前各大厂商也都在进行模型的设计训练,推出了一系列预训练语言模型。

  • Word2vec
    是一种基于神经网络的词向量表示方法,于2013年提出,通过将单词转化为一个向量,从计算单词间的相似性,具体讲是通过计算向量间的余弦相似度。
  • ELMo
    是一种基于上下文的动态词向量,于2018年提出,它是通过双向LSTM模型来学习模型,从而获得上下文相关的单词嵌入。
  • Transformer
    是一种使用自注意力机制进行特征提取的预训练语言模型,于2017年提出,被广泛应用,如:机器翻译、文本摘要、问答系统等。
  • BERT
    由Google在2018年发布的一种预训练语言模型,在NLP领域取得了巨大成功。BERT使用双向Transformer编码器来训练上下文相关的单词嵌入。和其他的预训练模型相比,BERT最大的特点是可以同时捕获上下文中的前后文信息。这使得BERT成为当前效果最好的预训练语言模型之一,广泛应用于自然语言处理和文本挖掘任务中。
  • GPT
    是一系列基于Transformer架构的预训练语言模型,由OpenAI开发,是目前效果最好的模型之一。

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

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

相关文章

小智ai+mcp+n8n的智能组合

小智aimcpn8n的智能组合1 小智ai的版本2 n8n的配置3 mcp的demo4 工作流json​ 之前有写过小智ai的介绍,它提供了流畅且丰富的用户语音交互能力。n8n提供了灵活且稳定的后台工作流的能力,如果这两个工具进行组合,可以打造一个好玩又好用的智能…

【DataGrip】连接达梦数据库后,能查询数据但是看不到表的几种情况分析,达梦数据库驱动包下载DmJdbcDriver18.jar

大概分为以下两类情况,配置问题和驱动包的问题 DmJdbcDriver18.jar点击下载 1.配置了表不可见 左上角点击过滤的图标,把table勾上就可以 2.Introspect using JDBC metadata 未勾选 1)老版本的DataGrip 在options选项下 3)新版…

全面解析 `strncasecmp` 字符串比较函数

1) 函数的概念与用途 strncasecmp 是 C 语言中一个非常实用的字符串处理函数,它执行不区分大小写的字符串比较,但只比较前 n 个字符。这个函数的名字来源于"string n case-compare"(字符串前n个字符不区分大小写比较)。…

高级SQL优化 | 告别 Hive 中 GROUP BY 的大 KEY 数据倾斜!PawSQL 自适应优化算法详解

数据倾斜让你的Hive查询慢如蜗牛?单个热点分组拖垮整个集群?PawSQL独家算法GroupSkewedOptimization来拯救!🎯 痛点直击:当数据倾斜遇上分组操作想象这样一个场景:你的电商平台有1000万VIP用户订单和100万普…

HUMS 2023齿轮箱数据分析

HUMS问答:https://humsconference.com.au/HUMS2023datachallenge/questions-answers.html 数据集申请:https://www.dst.defence.gov.au/our-technologies/helicopter-main-rotor-gearbox-planet-gear-fatigue-crack-propagation-test 历年试卷&#xff1…

智慧工地:科技赋能与管理革新下的建筑业新图景

随着数字技术的深度渗透,智慧工地正以“技术落地 行业变革 管理创新”的三重突破,重构施工场景的核心逻辑,推动建筑业从传统粗放式发展向精细化、智能化转型。一、技术落地:用科技筑牢安全防线,提升施工效率技术是智…

[docker/大数据]Spark快速入门

[docker/大数据]Spark快速入门1. 概述 1.1 诞生背景Spark官方文档:https://spark.apache.ac.cn/docs/latest/Spark 由加州大学伯克利分校 AMP 实验室于 2009 年开发,2013 年成为 Apache 顶级项目,旨在解决 MapReduce 的三大核心问题&#xff…

CSS 定位的核心属性:position

🧩 一、CSS 定位的核心属性:positionposition 属性用于定义一个元素在页面中的定位方式,它决定了:元素在页面中的定位规则是否脱离文档流元素的位置是相对于谁(父元素、浏览器窗口、自身等)✅ 可选值如下&a…

数据结构之深入探索快速排序

基准值的选定 我们之前已经用四种不同的方式实现了快速排序,如果还没有学习过的伙伴们可以看一下这篇文章哦:数据结构之排序大全(3)-CSDN博客 那我们既然已经学习了这么多种方法,为什么还要继续探索快速排序呢&#…

《递归与迭代:从斐波那契到汉诺塔的算法精髓》

🔥个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题、洛谷刷题、C/C基础知识知识强化补充、C/C干货分享&学习过程记录 🍉学习方向:C/C方向学习者…

《LINUX系统编程》笔记p3

可重用函数不使用全局部变量,可以重复使用的函数.stat 命令作用:显示一个文件或文件夹的“元信息”。文件基本信息文件(File):显示所查询对象的名称。大小(Size):文件的大小&#xf…

大模型0基础开发入门与实践:第3章 机器的“统计学”:机器学习基础概念扫盲

第3章 机器的“统计学”:机器学习基础概念扫盲 1. 引言 想象一下,你是一位古代的农夫,毕生的经验告诉你:乌云密布、燕子低飞,那么不久便会下雨。你并没有学习过气象学,也不懂大气压和水汽凝结的原理。你的“…

Java调用Ollama(curl方式)

1. 安装Ollama Search 2. 调用 相关依赖 <dependencies><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.14</version></dependency><dependency>&…

nodejs koa框架使用

1: KOA 是express 打造的下一代web 开发框架提供更小更强的的核心功能&#xff0c;通过Promise 、async/await 进行异步编程&#xff0c;koa 可以不使用回调&#xff0c;解决了回调地狱的问题 blueBird 是nodejs 最出名的Primise 实现&#xff0c;除了实现标准的promise 之外&a…

2025年图像处理与光学国际会议(ICIPO 2025)

2025年图像处理与光学国际会议&#xff08;ICIPO 2025&#xff09; 2025 International Conference on Image Processing and Optics一、大会信息会议简称&#xff1a;ICIPO 2025 大会地点&#xff1a;中国北京 审稿通知&#xff1a;投稿后2-3日内通知 投稿邮箱&#xff1a;iac…

Kubernetes 构建高可用、高性能 Redis 集群

k8s下搭建Redis高可用1. 部署redis服务创建ConfigMap创建 Redis创建 k8s 集群外部2. 创建 Redis 集群自动创建 redis 集群手动创建 redis 集群验证集群状态3. 集群功能测试压力测试故障切换测试4. 安装管理客户端编辑资源清单部署 RedisInsight控制台初始化控制台概览实战环境使…

文件IO的基础操作

Java针对文件进行的操作:文件系统操作,File类(file类指定的路径,可以是一个不存在的文件)文件内容操作 : 流对象分为两类(1)字节流 以字节为基本的读写单位的 二进制文件 InputStream OutputStream(2)字符流 以字符为基本的读写单位的 …

【模版匹配】基于深度学习

基于深度学习的模版匹配 概述 本报告整理了2024-2025年最新的、可直接使用的模板匹配相关论文、方法和开源代码实现。所有方法都提供了完整的代码实现和预训练模型&#xff0c;可以直接应用到实际项目中。 一、轻量级现代模板匹配框架 1.1 UMatcher - 4M参数的紧凑型模板匹…

CMake进阶:Ninja环境搭建与加速项目构建

目录 1.引入Ninja的原因 2.Ninja 环境搭建&#xff08;跨平台&#xff09; 2.1.Linux系统安装 2.2.macOS 系统 2.3.Windows 系统 2.4.源码编译安装&#xff08;通用方案&#xff09; 3.Ninja 与构建系统配合&#xff1a;以 CMake 为例 4.加速构建的关键技巧 5.Ninja 与…

开发避坑指南(35):mybaits if标签test条件判断等号=解析异常解决方案

异常信息 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: The expression orderInfo.idList evaluated to a null value.报错语句 <if test"orderInfo.queryFlag ! null and orderInfo.queryFlag sett…