bag-of-words
编辑日期: 2024-11-28 文章阅读: 次
#### 词袋模型 词袋模型(英语:Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,一段文本(比如一个句子或是一个文档)可以用一个装着这些词的袋子来表示,这种表示方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉领域。 词袋模型被广泛应用在文件分类,词出现的频率可以用来当作训练分类器的特征。
最简单例子
词袋模型能将文档表示为矢量。
在词袋模型下,每个文档都由一个向量表示,该向量包含字典中每个单词的频率计数。
例如,假设我们有一个包含单词['coffee','milk','sugar','spoon']
的字典。
文档由字符串“coffee milk coffee”组成。
则字典将由矢量[2,1,0,0]
表示,
其中矢量的条目是(按顺序)出现“coffee”,“milk”,“sugar”和“spoon”。
第二个例子
以下是两个简单的文件:
(1) John likes to watch movies. Mary likes movies too.
(2) John also likes to watch football games.
基于以上两个文件,可以建构出下列清单:
[
"John",
"likes",
"to",
"watch",
"movies",
"also",
"football",
"games",
"Mary",
"too"
]
此处有10个不同的词,使用清单的索引表示长度为10的向量:
(1) [1, 2, 1, 1, 2, 0, 0, 0, 1, 1]
(2) [1, 1, 1, 1, 0, 1, 1, 1, 0, 0]
每个向量的索引内容对应到清单中词出现的次数。
举例来说,第一个向量(文件一)前两个内容索引是1和2,第一个索引内容是"John"对应到清单第一个词并且该值设定为1,因为"John"出现一次。
此向量表示法不会保存原始句子中词的顺序。
该表示法有许多成功的应用,像是邮件过滤。