【机器学习300问】58、什么是词袋模型和N-gram模型?

词袋模型(Bag of Words, BoW)和N-gram模型主要用于早期的自然语言处理任务,上文中我介绍了机器是如何读懂文本的四个阶段,这篇文章带大家来看看在不同阶段中会用到的两个模型------词袋模型和N-gram模型。如果没有读过我之前的文章,可以先去看看哦!

【机器学习300问】57、机器是如何读得懂文本数据的呢?http://t.csdnimg.cn/QJPqB

一、词袋模型

最基本的文本表示模型就是词袋模型,这个模型把一段文本看作一个装满了单词的袋子,袋子中不考虑单词出现的顺序和语法结构,只关注每个单词出现的频率(或是否出现)。

(1)具体步骤

具体来说,就是将整段文本以单词为最小单位切分开,一整篇文章可以表示成一个长向量,向量中的每个维度代表一个单词,而该维度的值则反映了这个词在原文中的重要程度(也就是词频)。步骤如下:

  1. 分词(Tokenization):将文本分割成单个的单词或术语。
  2. 词频统计(Term Frequency):计算每个词在文本中出现的次数,形成词频直方图。
  3. 特征选择与加权:可以选择仅保留最常见的词汇(停用词过滤),并对某些重要性较高的词给予更高的权重,常见的加权方法有TF-IDF(Term Frequency-Inverse Document Frequency)。
  4. 向量化(Vectorization):将文本转化为向量形式,每个维度对应一个词汇,值代表该词汇在文档中的统计值(例如词频、TF-IDF值等)。

【注】术语(Terminology)是在某一特定学科领域或专业背景下使用的、具有特殊意义的词汇或短语。比如在医学领域,"白细胞"是对一类特定血细胞的术语,在法律领域,"合同法"是一个法律术语,在数学领域,"正弦"和"余弦"是数学术语。

(2)TF-IDF值

TF-IDF值是用来计算这个词在原文中的重要程度的(权重)。TF-IDF公式由两部分组成,公式如下:

① 词频(TF)

TF(t,d) = 特定词条t在文档d中出现的次数 / 文档d中词条总数

② 逆文档频率(IDF)

其中df(t)是包含单词t的文章总数,n是文章总数。加1是为了避免分母为0,即避免在所有文档中都没有出现过的词带来的问题。

③ TF-IDF权重

直观的解释是,如果一个单词在非常多的文章中都出现过,那么它可能是一个比较通用的词汇,对于区分某篇文章特殊语义的贡献较小,因此对权重做一定惩罚。在计算时,每个词条的TF-IDF值都会被计算出来,然后可以用于表示文档d在词条t上的重要性。越高的TF-IDF值表示词条在文档中越重要。

二、N-gram模型

(1)词袋模型的局限性

将文章仅仅划分成单词级别有时存在局限性,比如"look up"代表查阅的意思,但如果拆成2个独立的单词就会丧失原有的含义。词袋模型的局限性:忽视单词之间的语法关系和语义搭配、忽视上下文信息、丢失情感色彩和语气等等问题。

于是聪明的人们想到了可以将连续的n个单词(n<N)组成词组(N-gram)也当做一个独立的特征放到向量中去,构成N-gram模型。另外同一个词可能会有词性变化,却拥有相似的含义。在实际应用中,一般会对单词进行词干抽取处理,将不同词性的单词统一成同一个词干的形式。

(2)N-gram模型的定义

在一个文本序列中,一个N-gram是由连续N个项组成的序列。如果N=1,那么就是Unigram(一元模型),包含单独的词或字符;如果N=2,就是Bigram(二元模型),包含相邻的两个词或字符对;N=3时,是Trigram(三元模型),以此类推。

N-gram模型通过计算词语或字符序列在给定上下文中的联合概率来捕捉文本数据中的语言规律。N-gram模型的核心概念是依据马尔可夫假设,即一个词出现的概率仅依赖于它前面有限个数(N)的词。

相关推荐
一点一木2 小时前
🚀 2026 年 8 月 GitHub 十大热门项目排行榜 🔥
人工智能·github
ssshooter2 小时前
现在网页都能提供 MCP 了?!
前端·人工智能·程序员
京东云开发者2 小时前
Claude Code vs Codex 记忆体系深度对比
人工智能
不加辣椒3 小时前
第 4 章 什么是 Harness Engineering
人工智能
桃西西呀3 小时前
上下文窗口都卷到 100 万了,大模型为什么还在为"位置"发愁?
人工智能·llm·ai编程
阿拉斯攀登3 小时前
SpringBoot整合MQTT:后端订阅设备数据、解析传感器报文
人工智能
然我3 小时前
模型不是 Agent:从零实现一个最小 Agent Loop
前端·人工智能·agent
黄油面包4 小时前
Codex 额度三天见底后,我重新做了一周预算
前端·人工智能
AI效率君4 小时前
Deer‑Flow 2.0 + Go‑MCP‑Server(add加法工具)保姆级完整教程
人工智能·agent
阿拉斯攀登4 小时前
SpringCloud微服务MQTT架构:设备消息统一接入、业务分发设计
人工智能