1.4 词袋模型

词袋模型是一种简单的文本表示方法,也是自然语言处理的一个经典模型。它将文本中的词看作一个个独立的个体,不考虑它们在句子中的顺序,只关心每个词出现的频次,如下图所示。

词袋模型

小冰:看起来N-Gram模型考虑了词与词之间的顺序关系,而词袋模型则忽略了这个信息。我想,这能让词袋模型在某些应用场景下,比如文本分类和情感分析等,更加简单高效吧。

咖哥:正是如此!比如有这样两个句子。

"咖哥喜欢吃苹果"

"苹果是咖哥喜欢的水果"

词袋模型会将这两个句子表示成如下的向量。

{"咖哥": 1, "喜欢": 1, "吃": 1, "苹果": 1}

{"苹果": 1, "是": 1, "咖哥": 1, "喜欢": 1, "的": 1, "水果": 1}

通过比较这两个向量之间的相似度,我们就可以判断出它们之间关联性的强弱。

小冰:哦,原来是这样!那我们可以用代码实现这个过程吗?

咖哥:当然可以,我们来编写一个简单的词袋模型。