当前位置: 首页 > news >正文

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年提出,通过将单词转化为一个向量,从计算单词间的相似性,具体来说是通过计算向量间的余弦相似度。
http://www.lryc.cn/news/626532.html

相关文章:

  • Visual Studio 2010 简体中文旗舰版 安装全过程详解(附安装包下载)
  • 草稿链(CoD):提示词技术的新王者
  • 个人使用AI开发的《PlSqlRewrite4GaussDB(PLSQL自动转换工具)1.0.1 BETA》发布
  • 【考研408数据结构-09】 图论进阶:最短路径与最小生成树
  • 【Obsidian插件】HiNote
  • iOS开发之UICollectionView为什么需要配合UICollectionViewFlowLayout使用
  • 数据结构-有序二叉树
  • 【机器学习深度学习】Ollama、vLLM、LMDeploy对比:选择适合你的 LLM 推理框架
  • HTML应用指南:利用POST请求获取全国刘文祥麻辣烫门店位置信息
  • 学习threejs,打造宇宙星云背景
  • 数据结构 二叉树 二叉树链式结构的实现
  • 大规模IP轮换对网站的影响(服务器压力、风控)
  • 测试环境搭建和部署(在Linux环境下搭建jdk+Tomcat+mysql环境和项目包的部署)
  • 【39】OpenCV C++实战篇——直线拟合、直线测距、平行线段测距;(边缘检测,剔除噪点,轮廓检测,渐进概率霍夫直线)
  • 本地文件上传到gitee仓库的详细步骤
  • Wireshark捕获电脑与路由器通信数据,绘制波形观察
  • C语言第十章内存函数
  • python numpy.random的基础教程(附opencv 图片转数组、数组转图片)
  • Dog Tricks
  • vue3项目,main.ts中设置router,在各个页面上还用引用vue-router吗
  • 性能测试报告深度解析:从冰冷数据到火热洞察
  • Flink学习
  • 详解flink java table api基础(三)
  • 2.3 Flink的核心概念解析
  • 24V降12V电源芯片WD5030,电路设计
  • linux 内核 - 内存管理单元(MMU)与地址翻译(一)
  • Flink Stream API - 顶层Operator接口StreamOperator源码超详细讲解
  • 软件测试中,JMeter 的作用以及优缺点是什么?
  • 【报错】Please do not run this script with sudo bash
  • three.js学习记录(第四节:材质外观)