首页 > 代码库 > BoW(词袋)模型详细介绍

BoW(词袋)模型详细介绍

最近学习BoW模型,将自己网上看到的资料及对论文的理解,将BoW模型总结如下!

BoW模型

Bag-of-words model (BoW model) 最早出现在自然语言处理(Natural Language Processing)和信息检索(Information Retrieval)领域.。该模型忽略掉文本的语法和语序等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的。BoW使用一组无序的单词(words)来表达一段文字或一个文档.。近年来,BoW模型被广泛应用于计算机视觉中。

基于文本的BoW模型的一个简单例子如下:

首先给出两个简单的文本文档如下:

        John likes to watch movies. Mary likes too.

        John also likes to watch football games.

基于上述两个文档中出现的单词,构建如下一个词典 (dictionary):

       {"John": 1, "likes": 2,"to": 3, "watch": 4, "movies": 5,"also": 6, "football": 7, "games": 8,"Mary": 9, "too": 10}

上面的词典中包含10个单词, 每个单词有唯一的索引, 那么每个文本我们可以使用一个10维的向量来表示。如下:

       [1, 2, 1, 1, 1, 0, 0, 0, 1, 1]

       [1, 1,1, 1, 0, 1, 1, 1, 0, 0]

该向量与原来文本中单词出现的顺序没有关系,而是词典中每个单词在文本中出现的频率。


BoW模型用于图像分类

2004年Gabriella Csurka、Christopher R. Dance等人基于词袋模型提出了一种图像的分类方法--Bag of Keypoints。图像中的单词(words)被定义为一个图像块(image patch)的特征向量(feature vector),图像的BoW模型即 “图像中所有图像块的特征向量得到的直方图”。

关于BoW模型的建立包含以下几个步骤:

1 特征提取

提取训练样本图像块中的特征向量,提取特征向量的方法可以使SIFT、SUFR等。该步骤生成的图像特征的描述子应该具有不变性对于光照的的变化、变形、碰撞等。

2 构建词典(Vocabulary)

    通过上步的特征提取,我们得到了所有训练样本图像中的特征。比如有N张训练图片,使用SIFT方法提取图像特征,我们最终将得到个特征点。接下来我们将使用NF个特征点构建词典,构建词典过程需要使用一些聚类算法,通常选用k-means方法。首先选取n个聚类中心,通过迭代算法算出最终的n个聚类中心。


之后会陆续更新完成!




BoW(词袋)模型详细介绍