词袋模型(Bag-of-words model ,BoW model)最初被用在信息检索领域。该模型忽略文本的语法和语序,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的。BoW使用一组无序的单词(words)来表达一段文字或一个文档。
例子:
有三个句子如下:
sentence1: Kid likes to watch movies. John likes too.
sentence2: Kid also likes to watch football games.
首先根据预料中的两个句子构建词袋:
{"Kid": 1, "likes": 2,"to": 3, "watch": 4, "movies": 5,"also": 6, "football": 7, "games": 8,"John": 9, "too": 10}
其中key为词,value为词的索引,预料中共有10个单词, 那么每个文本我们就可以使用一个10维的向量来表示。
那么上述文本可以表示为:
sentence1: [1, 2, 1, 1, 1, 0, 0, 0, 1, 1]
sentence2: [1, 1, 1, 1, 0, 1, 1, 1, 0, 0]
该向量与原来文本中单词出现的顺序没有关系,仅仅是词典中每个单词在文本中出现的频率。