词袋模型

词袋模型(英语:Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉领域。

来源:维基百科
简介

词袋模型是一个在自然语言处理和信息检索下被简化的表达模型。此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉(CV)领域。

例子:

以下使用词袋模型来模拟文本文档。以下是两个简单的文本文档:

(1)约翰喜欢看电影。玛丽也喜欢电影。

(2)约翰也喜欢看足球比赛。

根据这两个文本文档,为每个文档构建如下列表:

“John” ,“likes” ,“to” ,“watch” ,“movies” ,“Mary” ,“likes” ,“movies” ,“too”

“约翰”,“也”,“喜欢”,“到”,“观看”,“足球”,“游戏”

将每个词袋表示为JSON对象,并归因于相应的Javascript变量:

BoW1 = { “John” :1 ,“likes” :2 ,“to” :1 ,“watch” :1 ,“movies” :2 ,“Mary” :1 ,“too” :1 };

BoW2 = { “John” :1 ,“also” :1 ,“likes” :1 ,“to” :1 ,“watch” ::1 ,“游戏”:1 };

每个键都是单词,每个值都是给定文本文档中该单词的出现次数。

元素的顺序是自由的,例如{"too":1,"Mary":1,"movies":2,"John":1,"watch":1,"likes":2,"to":1}也是BoW1。这也是我们对严格的JSON对象表示的期望。

注意:如果另一个文档就像这两个文件的联合,

(3)约翰喜欢看电影。玛丽也喜欢电影。约翰也喜欢看足球比赛。

其Javascript代表将是:

BoW3 = { “John” :2 ,“likes” :3 ,“to” :2 ,“watch” :2 ,“movies” :2 ,“Mary” :1 ,“too” :1 ,“also” :1 ,“足球”:1 ,“比赛”:1 };

所以,正如我们在袋代数中看到的那样,两个文档在袋式文件表示中的“联合”在形式上是不相交的联合,将每个元素的多重性相加。

【来源:维基百科 https://en.wikipedia.org/wiki/Bag-of-words_model

https://machinelearningmastery.com/gentle-introduction-bag-words-model/】

发展历史

最初的Bag of words,也叫做“词袋”,在信息检索中,Bag of words model假定对于一个文本,忽略其词序和语法,句法,将其仅仅看做是一个词集合,或者说是词的一个组合,文本中每个词的出现都是独立的,不依赖于其他词是否出现,或者说当这篇文章的作者在任意一个位置选择一个词汇都不受前面句子的影响而独立选择的。

现在Computer Vision中的Bag of words来表示图像的特征描述也是很流行的。大体思想是这样的,假设有5类图像,每一类中有10幅图像,这样首先对每一幅图像划分成patch(可以是刚性分割也可以是像SIFT基于关键点检测的),这样,每一个图像就由很多个patch表示,每一个patch用一个特征向量来表示,咱就假设用SIFT表示的,一幅图像可能会有成百上千个patch,每一个patch特征向量的维数128。 接下来就要进行构建Bag of words模型了,假设Dictionary词典的Size为100,即有100个词。那么咱们可以用K-means算法对所有的patch进行聚类,k=100,我们知道,等K-means收敛时,我们也得到了每一个cluster最后的质心,那么这100个质心(维数128)就是词典里德100 个词了,词典构建完毕。

主要事件

年份事件相关论文
1954泽里格·哈里斯于1954年在Distributional Structure的文章第一次提到“词袋”Harris, Zellig. Distributional Structure. Word. 1954, 10 (2/3): 146–62.
2002Ruch, P.; Baud, R.; Geissbuhler, A.把词袋模型应用于医疗记录Ruch, P.; Baud, R.; Geissbuhler, A.Evaluating and reducing the effect of data corruption when applying bag of words approaches to medical records. 2002,67(1): 75-83
2012提出了一种监督码书学习和词袋模型优化的新方法Mingyuan Jiu; Christian Wolf; Christophe Garcia; Atilla BaskurtSupervised Learning and Codebook Optimization for Bag-of-Words Models2012,4(4)1866-9956
2014Alexandros Iosifidis;提出了一个基于词袋模型表示的人类行为识别新框架Alexandros Iosifidis; Anastastios Tefas; Ioannis Pitas. Discriminant Bag of Words based representation for human action recognition2014,49: 185-192.
2016提出了一种名为FBoW的新型词袋模型来描述基于FST的图像Yanshan Li; Weiming Liu; Qinghua Huang; Xuelong LiBag of words; Fuzzy sets theory; Image description; Social images2016,75(3)1380-7501

发展分析

瓶颈

词袋(Bag-of-words)模型非常易于理解和实施,并为定制特定的文本数据提供了很大的灵活性。

它在语言建模和文档分类等预测问题上取得了很大的成功。

然而,它有一些缺点,比如:

  • 词汇:词汇需要仔细的设计,特别是为了管理文档的大小,这会影响文档表示的稀疏性。
  • 稀疏性:由于计算的原因(空间和时间复杂性)以及信息的原因,稀疏表示更难模拟,因为模型在如此庞大的代表空间中利用这么少的信息面临着巨大挑战。
  • 含义:丢弃词序忽略了上下文,进而又影响在文档中的词语的意义(语义)。上下文和意义可以提供很多模型,如果模型可以区分相同的单词不同的排列(“这是有趣的”vs“这是有趣的”),同义词(“旧自行车”vs“二手自行车”)。

【来源:https://machinelearningmastery.com/gentle-introduction-bag-words-model/

未来发展方向

Word2vec 是一种可以进行高效率词嵌套学习的预测模型。其两种变体分别为:连续词袋模型(CBOW)及Skip-Gram模型。从算法角度看,这两种方法非常相似,其区别为CBOW根据源词上下文词汇('the cat sits on the')来预测目标词汇(例如,‘mat’),而Skip-Gram模型做法相反,它通过目标词汇来预测源词汇。Skip-Gram模型采取CBOW的逆过程的动机在于:CBOW算法对于很多分布式信息进行了平滑处理(例如将一整段上下文信息视为一个单一观察量)。很多情况下,对于小型的数据集,这一处理是有帮助的。相形之下,Skip-Gram模型将每个“上下文-目标词汇”的组合视为一个新观察量,这种做法在大型数据集中会更为有效。本教程余下部分将着重讲解Skip-Gram模型。

【TensorFlow 官方教程: http://www.tensorfly.cn/tfdoc/tutorials/word2vec.html

Contributor:Peng Jiang

相关人物
Youngjoong Joo
Youngjoong Joo
泽里格·哈里斯
泽里格·哈里斯
Zellig Sabbettai Harris(泽里格·哈里斯)(1909年10月23日 - 1992年5月22日)是一位非常有影响力的美国语言学家,数学句法学家和科学方法学家。 他最初是一名语义学家,最出名的是他在结构语言学和话语分析方面的工作以及语言中转换结构的发现。他在其职业生涯的后35年中所做的贡献包括转移语法,字符串分析(附加语法),基本句子差异(和分解格),代数结构 语言,算符语法,子语言语法,语言信息理论,以及语言本质和起源的原则说明。
托马斯米科洛夫
托马斯米科洛夫
Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。Tomas Mikolov是一位产出多篇高质量paper的学者,从RNNLM、Word2Vec再到最近流行的FastText都与他息息相关。一个人对同一个问题的研究可能会持续很多年,而每一年的研究成果都可能会给同行带来新的启发。
约书亚·本吉奥
约书亚·本吉奥
约书亚·本希奥(法语:Yoshua Bengio,1964年-)是一位加拿大计算机科学家,因人工神经网络和深度学习领域的研究而闻名。Yoshua Bengio于1991年获得加拿大麦吉尔大学计算机科学博士学位。经过两个博士后博士后,他成为蒙特利尔大学计算机科学与运算研究系教授。他是2本书和超过200篇出版物的作者,在深度学习,复现神经网络,概率学习算法,自然语言处理和多元学习领域的研究被广泛引用。他是加拿大最受欢迎的计算机科学家之一,也是或曾经是机器学习和神经网络中顶尖期刊的副主编。
简介
相关人物