数学与自然语言处理——统计语言模型

什么是自然语言处理 -- NLP

每种动物都有自己的语言,机器也是!

自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。人类通过语言来交流,狗通过汪汪叫来交流。机器也有自己的交流方式,那就是数字信息。

自然语言就是大家平时在生活中常用的表达方式,大家平时说的"讲人话"就是这个意思。

自然语言:我背有点驼

非自然语言:我的背呈弯曲状

而自然语言从它产生开始,逐渐演变成一种上下文相关的信息表达和传递的方式,因此让计算机处理自然语言,一个基本的问题就是为自然语言这种上下文相关的特性建立数学模型,即统计语言模型(Statistical Language Model)。

如何使用统计语言模型来描述语言规律

在最初统计模型语言产生的初衷是为了解决语音识别 问题。假定S表示某一个有意义的句子,由一连串特定顺序排列的词 组成,其中n是句子的长度。

利用条件概率的公式,我们可以得到

从计算上来看,词的概率计算变得越来越麻烦。如果我们假设,任意一个词出现的概率只与它前面的词有关,那么

其对应的统计语言模型为二元模型(Bigram Model)。我们知道P(S)的计算方式之后,接下来如何估计条件概率 呢,根据定义,我们可以得到

假设文本中的每个词和前面个词有关,而与更前面的词无关,因此

这种假设被称为N-1阶马尔可夫假设,对应的语言模型称为N元模型。当N=2时,即为二元模型;N=1时,即为一元模型,是一个上下文无关的模型。实际应用中最常用的为N=3的三元模型。

统计语言模型的工程应用

使用语言模型需要知道模型中所有的条件概率,即模型的参数,而得到这些参数的过程称之为模型的训练。对于二元模型来说,我们至于要知道两个语料中出现的次数,之所以可以用采样数据进行预测,是由于大数定理的支持。然而,在估计语言模型的概率时,这个方法时不可行的(数量很小的时候,随机性很大)。那么,我们如何正确地训练一个语言模型呢?

一个办法是增加数据量,即便如此,仍会遇到零概率或统计量不足的问题。因此,如果用直接的比值计算概率,大部分的条件概率仍为零,这种模型我们称作"不平滑"。

另一个办法是"古德-图灵估计(Good-Turing Estimate)",即对于没有看见的事件,我们不能认为它发生的概率为0,因此我们从概率的总量中,分配一个很小的比例给这些没有看见的事件。这样看见的事件的概率总和就要小于1了,所以我们需要将所有看见的事件概率调小一点,至于小多少,需要根据"越是不可信的统计折扣越多"的方法进行。

相关推荐
NAGNIP1 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab2 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab2 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP6 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年6 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼6 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS7 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区8 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈8 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang8 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx