【转载】-Bag of Words(词袋模型)

转载自:https://blog.csdn.net/JYZ4MFC/article/details/81223572

Bag of Words 即词袋模型,是对样本数据的一种表示方法,主要应用在 NLP(自然语言处理)和 IR(信息检索)领域,近年也开始在 CV(计算机视觉)发挥作用。

该模型在表示样本数据时,可以假设假设:一个文档可以看作一袋子的单词,而不考虑其语法和词序关系,每个词都是独立的。即将文本映射成为一个包含词的向量,向量的长度是词典的大小,每一位表示词典中的一个词,向量中的每一位上的数值表示该词在文本中出现的次数。对于一个文本,其词向量通常是稀疏的。

有这样两个简单的文本文档: 
       【1】John likes to watch movies. Mary likes too. 
       【2】John also likes to watch football games. 

对上述两个文档构造词典: { “John”: 1, “likes”: 2, “to”: 3, “watch”: 4, “movies”: 5, “also”: 6, 
“football”: 7, “games”: 8, “Mary”: 9, “too”: 10}

词典中共有10个单词,每个单词后面是序号。那么,我们可以用一个向量表示一个文本文档:

第一个文档->[1, 2, 1, 1, 1, 0, 0, 0, 1, 1] 

第二个文档->[1, 1, 1, 1, 0, 1, 1, 1, 0, 0]

上面的这个矩阵,就是词袋模型了,其中每个分量表示该单词在该文档中的出现次数。从上述的表示中,可以很清楚地看出来,在文档表示过程中并没有考虑关键词的顺序,而是仅仅将文档看成是一些关键词出现的概率的集合(这是Bag-of-words模型的缺点之一),每个关键词之间是相互独立的,这样每个文档可以表示成关键词出现频率的统计集合,类似于直方图的统计表示

矩阵图中的每一项,不仅可以用词典频数表示,也可以利用tf-idf表示词项的权重。

发布了56 篇原创文章 · 获赞 29 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/foneone/article/details/102853045