【机器学习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 分钟前
【Linux信号】Linux进程信号(上):信号产生方式和闹钟
linux·运维·服务器·c++·人工智能·ubuntu·云原生
Bonnie3733 分钟前
算力基建入门-AI时代,算力为何是数字底座
人工智能·程序人生·云原生·个人开发
前端摸鱼匠4 分钟前
面试题6:因果掩码(Causal Mask)在Decoder中的作用是什么?训练、推理阶段如何使用?
人工智能·ai·语言模型·自然语言处理·面试
这张生成的图像能检测吗4 分钟前
(论文速读)ASFRMT:基于对抗的超特征重构元传递网络弱特征增强与谐波传动故障诊断
人工智能·深度学习·计算机视觉·故障诊断
statistican_ABin8 分钟前
Python数据分析-宝马全球汽车销售数据分析(可视化分析)
大数据·人工智能·数据分析·汽车·数据可视化
ARM+FPGA+AI工业主板定制专家9 分钟前
基于ARM+FPGA+AI的船舶状态智能监测系统(一)总体设计
网络·arm开发·人工智能·机器学习·fpga开发·自动驾驶
前端摸鱼匠9 分钟前
面试题7:Encoder-only、Decoder-only、Encoder-Decoder三种架构的差异与适用场景?
人工智能·深度学习·ai·面试·职场和发展·架构·transformer
ryrhhhh10 分钟前
矩阵跃动技术创新:GEO搜索占位+AI智能体双融合,重构企业获客链路
大数据·人工智能
no_work11 分钟前
基于python的hog+svm实现混凝土裂缝目标检测
人工智能·python·目标检测·计算机视觉
小陈工11 分钟前
2026年3月21日技术资讯洞察:云原生理性回归与Python异步革命
人工智能·python·云原生·数据挖掘·回归