目录
1. 词袋模型的一个例子
2. 词袋模型的应用——垃圾邮件过滤
词袋模型(英语:Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,一段文本(比如一个句子或是一个文档)可以用一个装着这些词的袋子来表示,这种表示方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉领域。
词袋模型被广泛应用在文件分类,词出现的频率可以用来当作训练分类器的特征。
1. 词袋模型的一个例子
下列文件可用词袋表示:
以下是两个简单的文件:
(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"出现一次。
此向量表示法不会保存原始句子中词的顺序。该表示法有许多成功的应用,像是邮件过滤。
Term weighting
在上述的范例,文件向量包含term频率 。在IR和文字分类常用不同方法量term权重。常见方法为tf-idf。
2. 词袋模型的应用——垃圾邮件过滤
分类一个邮件讯息,一个贝氏垃圾邮件分类假设讯息是一堆字并且随机倒在两堆袋子其中一个袋子里,之后使用贝氏几率去决定哪个袋子是较有可能的。