如何理解语言模型
统计语言模型
先看语言模型,语言即自然语言,模型及我们要解决的某个任务。
-
任务一:判断哪句话出现的概率大
-
任务二:预判空缺的位置最有可能是哪个词
再看统计,统计即解决上述两个任务的解决方法。先对语句进行分词得到词序列,使用条件概率的链式法则,可以求出每一个词出现的概率,然后连乘,得出这句话的概率。对于任务二,判断每个词是空缺的概率最大。但是计算量非常大!
可以通过n元统计语言模型减少计算量。
如何计算?

平滑策略
防止出现0比0的情况如卡普拉斯平滑策略:
总的来说,就是基于数学统计的方法,来计算概率。
神经网络语言模型
即使用神经网络的方法解决任务。

NNLM的基本原理
NNLM通过神经网络来学习词序列的概率分布,基本流程如下:
-
输入层: 输入层通常由一个词汇表的向量表示。对于一个给定的词序列,NNLM首先将每个词转化为一个稀疏的one-hot编码向量,表示该词在词汇表中的位置。
-
嵌入层: 然后,将这些one-hot编码的词向量映射到一个低维的连续空间(词向量)。这个低维空间的表示能够捕捉到词与词之间的语义关系,例如“苹果”和“橙子”在某些任务中可能在词向量空间中靠得很近。
-
隐藏层: 嵌入层的输出将输入到一个神经网络的隐藏层。隐藏层通常是一个全连接层,神经网络通过非线性激活函数(如ReLU)处理输入数据。
-
输出层: 输出层会生成一个预测概率分布,表示在给定上下文(前面的词)下,当前词是每个词汇表中可能的词的概率。
-
训练过程: NNLM的训练过程通常通过最大化训练数据中每个词出现的条件概率来进行。具体来说,模型会使用梯度下降等优化方法来调整网络参数,使得给定上下文的情况下,正确词语的概率尽可能大。
这里引入了独热编码,来表示词。这是一开始的表示方法目的是让计算机“认识”单词,但这种方法有缺点,虽然减少了直接存单词,但当词汇量过大时,还是占用很大的空间。
而且还有关联度问题,现实中,词与词之间还有关联度,但是独热编码并不能很好的表示,这里词与词之间的关联度用到了余弦相似度,通过计算两个向量的夹角来判断两个向量是否有关联,不看向量的大小只看方向。为了解决这个词的“关联关系”于是就有了“词向量”这个概念。
余弦相似度(Cosine Similarity)是衡量两个向量相似度的一种常用方法,特别适用于文本分析中。它通过计算两个向量之间的夹角来判断它们的相似性,具体来说,余弦相似度是计算两个向量夹角的余弦值,余弦值越接近 1,表示两个向量越相似;越接近 0,表示两个向量越不相似。
计算公式如下:

神经网络模型的出现是为了解决平滑和计算量过大的问题。

-
tanh 是用于隐藏层的激活函数,能够捕捉输入的非线性特征,且具有对称性,将向量压缩为固定区间的值。
-
softmax是一种常用于多分类任务中的激活函数,它的作用是将输出的原始分数(logits)转换成一个概率分布。softmax的输出是一个包含所有类别的概率值,这些概率值的总和为1。
Q是一个参数,是可以学习的,c向量代表每一个单词而不是单独的独热编码,这样可以压缩维度,且可以表示关系,通过训练,Q越来越准,c向量也接代表的更准确!
词向量:用向量表示一个单词,独热编码也算词向量,但神经网络语言模型的副产品Q更佳。通过Q可以控制大小和维度,相似度也能表示!
Word Embedding是什么
Word Embedding(词嵌入)是自然语言处理(NLP)中的一种技术,它通过将单词映射到一个稠密的向量空间中,以便计算机能够更好地理解和处理文本数据。词嵌入的目标是将每个单词转换为一个固定维度的向量,这些向量能够捕捉到词与词之间的语义关系。
词袋模型(Bag of Words,简称BOW)是自然语言处理中的一种基础文本表示方法。它将文本中的每个单词视为一个独立的元素,忽略单词之间的顺序和语法结构,仅关注单词的出现与否及其频率。
有了词向量由此,现在的任务就是找到一个合适的Q!
Word2Vec模型
从这个模型的名字就能看出来,主要目的就是得到词向量,本质上也是一种神经网络模型。

Word2Vec网络架构本身就和NNLM一模一样!
两种模型架构:
-
CBOW (Continuous Bag of Words):此模型尝试通过上下文中的词来预测中心词。具体来说,CBOW 模型通过上下文窗口内的词语(即周围的词)来预测中心词。例如,在句子“我 爱 吃 苹果”中,如果“爱”和“吃”是上下文词,那么 CBOW 模型会预测中心词“苹果”。
-
Skip-gram:与 CBOW 相反,Skip-gram 模型通过给定的中心词来预测周围的上下文词。假设给定“苹果”这个中心词,Skip-gram 模型会根据它来预测“我”、“爱”和“吃”这几个上下文词。
NNLM和Word2vec的区别:NNLM目的是预测下一个词,Word2Vec是为了获得词向量。不需要使用tanh来保持预测准确性,所以少了 一层激活函数,只考虑Q矩阵的训练效果。
缺点:当有一词多意的情况 ,不能通过一个Q 准确表示出来。比如”苹果“这个词只能表示水果苹果,不能表示苹果手机的苹果。
相关文章:
如何理解语言模型
统计语言模型 先看语言模型,语言即自然语言,模型及我们要解决的某个任务。 任务一:判断哪句话出现的概率大 任务二:预判空缺的位置最有可能是哪个词 再看统计,统计即解决上述两个任务的解决方法。先对语句进行分词…...
准确-NGINX 1.26.2配置正向代理并编译安装的完整过程
NGINX 1.26.2 配置正向代理并编译安装的完整过程,使用了 ngx_http_proxy_connect_module 模块。 1. 环境准备 1.1 安装依赖 确保系统安装了以下必要的依赖: sudo yum install -y gcc gcc-c make pcre-devel zlib-devel openssl-devel1.2 下载 NGINX 源…...
企业如何将ERP和BPM项目结合提升核心竞争力
无论是实施ERP项目还是BPM项目,企业变革的根本目的的确是为了让企业变得更加强大,更具竞争力。 这就像是练武功,无论是学习少林拳还是太极拳,最终的目标都是为了强身健体,提升战斗力。 如何将ERP和BPM项目有效结合以及…...
Linux内核以太网驱动分析
1.网络接口卡接收和发送数据在Linux内核中的处理流程如下: 1. 网络接口卡(Network Interface Card, NIC) 作用:负责物理层的数据传输,将数据包从网络介质(如以太网线)读取到内存中,或…...
分布式微服务系统架构第92集:智能健康监测设备Java开发方案
加群联系作者vx:xiaoda0423 仓库地址:https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn 嗯,用户需要为血压、血糖、尿酸和血酮测试仪编写产品描述,同时涉及Java开发。首先,我得确定他们的需求是什么。可…...
【推荐项目】023-游泳俱乐部管理系统
023 游泳俱乐部管理系统 游泳俱乐部管理系统概述 前端技术框架: 我们优雅地采用了Vue.js作为游泳俱乐部管理系统的前端基础框架。Vue.js以其轻盈、高效和易于上手的特点,为我们的用户界面带来了极致的流畅性和响应速度。通过Vue.js,我们为…...
Webpack常见配置实例
webpack实例 打包构建流程对应的常见配置 1. mode: development2. entry: ./src/index.js3. output4. module.rules5. Loader6. Plugin7. devServerwebpack.config.js webpack常见配置实例 配置详解 mode: ‘development’: 设置 Webpack 运行模式&am…...
C++核心编程之STL
STL初识:从零开始的奇幻冒险 1 STL的诞生:一场代码复用的革命 很久很久以前,在编程的世界里,开发者们每天都在重复造轮子。无论是数据结构还是算法,每个人都得从头开始写,仿佛在无尽的沙漠中寻找绿洲。直到…...
Mac mini M4安装nvm 和node
先要安装Homebrew(如果尚未安装)。在终端中输入以下命令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 根据提示操作完成Homebrew的安装。 安装nvm。在终端中输入以下命令…...
Level DB --- 写流程架构
Level DB是高效的k-v数据库,接受多线程写,既要保证多线程写临界区安全,同时又要保证写流程的尽量高效性。 写入数据 Level DB 用一个deque用来衔接生产-消费模型。一个新的kv写入请求,会先将kv封装成Writer结构体。插入之前要先…...
【中等】707.设计链表
题目描述 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还需要属性 prev 以指示链表中的…...
深入理解Reactor Flux的生成方法
在Reactor框架中,Flux 是一个非常重要的概念,它用于表示一个可以产生多个事件的响应式流。通过 Flux 提供的多种生成方法,我们可以灵活地创建各种类型的流。本文将详细介绍 Flux.generate 方法的使用,并通过实例帮助读者更好地理解…...
next实现原理
Next.js 是一个基于 React 的 服务器端渲染(SSR) 和 静态生成(SSG) 框架,它的实现原理涉及多个关键技术点,包括 服务端渲染(SSR)、静态生成(SSG)、客户端渲染…...
LeetCode 热题 100 53. 最大子数组和
LeetCode 热题 100 | 53. 最大子数组和 大家好,今天我们来解决一道经典的算法题——最大子数组和。这道题在 LeetCode 上被标记为中等难度,要求我们找出一个具有最大和的连续子数组,并返回其最大和。下面我将详细讲解解题思路,并…...
DeepSeek 与大数据治理:AI 赋能数据管理的未来
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 在当今数字化时代,数据已成为企业和机构的重要资产,而大数据治理(Big Data Governan…...
【时时三省】(C语言基础)浮点型数据
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 浮点型数据 浮点型数据是用来表示具有小数点的实数的,为什么在C中把实数称为浮点数呢?在C语言中,实数是以指数正式存放在在储单元中的。一个实数表示为指数可以有不…...
【大模型】Ollama本地部署DeepSeek大模型:打造专属AI助手
【大模型】Ollama本地部署DeepSeek大模型:打造专属AI助手 Ollama本地部署DeepSeek大模型:打造专属AI助手一、Ollama简介二、硬件需求三、部署步骤1. 下载并安装Ollama(1)访问Ollama官网(2)安装Ollama 2. 配…...
2025.3.2机器学习笔记:PINN文献阅读
2025.3.2周报 一、文献阅读题目信息摘要Abstract创新点网络架构实验结论不足以及展望 一、文献阅读 题目信息 题目: Physics-Informed Neural Networks of the Saint-Venant Equations for Downscaling a Large-Scale River Model期刊: Water Resource…...
数据集笔记:新加坡 地铁(MRT)和轻轨(LRT)票价
数据连接 data.gov.sg 2024 年 12 月 28 日起生效的新加坡地铁票价 该数据集包含 MRT 和 LRT 票价的信息,包括: 票价类型(Fare Type):成人票、学生票、老年人票、残障人士票等。适用时间(Applicable Tim…...
如何修改安全帽/反光衣检测AI边缘计算智能分析网关V4的IP地址?
TSINGSEE青犀推出的智能分析网关V4,是一款集成了BM1684芯片的高性能AI边缘计算智能硬件。其内置的高性能8核ARM A53处理器,主频可高达2.3GHz,INT8峰值算力更是达到了惊人的17.6Tops。此外,该硬件还预装了近40种AI算法模型…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
