词袋模型

自然语言处理信息检索里,词袋模型(英语:Bag-of-words model)是一个简化的表达模型。在此模型下,一段文本(比如一个句子或是一个文档)可以用一个装着这些词的袋子来表示,这种表示方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉领域。[1]

词袋模型被广泛应用在文件分类,词语出现的频率可以用来当作训练分类器的特征。

关于“词袋”这个用字的由来可追溯到泽里格·哈里斯英语Zellig Harris于1954年在《Distributional Structure》的文章[2]

范例

下列文件可用词袋表示:

以下是两个简单的文件:

(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频率。

在信息检索和文字分类常用不同方法量term权重。常见方法为tf-idf

范例:垃圾邮件过滤

分类一个邮件讯息,一个贝氏垃圾邮件分类假设讯息是一堆字并且随机倒在两堆袋子其中一个袋子里,之后使用贝氏几率去决定哪个“袋子”(“垃圾邮件袋子”还是“正常邮件袋子”)是较有可能的。

参考文献

  1. ^ Sivic, Josef. Efficient visual search of videos cast as text retrieval (PDF). IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 31, NO. 4. IEEE: 591–605. April 2009 [2016-03-06]. (原始内容存档 (PDF)于2016-02-22). 
  2. ^ Harris, Zellig. Distributional Structure. Word. 1954, 10 (2/3): 146–62. And this stock of combinations of elements becomes a factor in the way later choices are made ... for language is not merely a bag of words but a tool with particular properties which have been fashioned in the course of its use 

参见