词袋模型简介
1 是什么?
词袋模型是信息检索领域的一种常用的文档表示方法。
词袋直观理解就是装词语的袋子,词袋模型就是将相同的词语放进一个词袋,然后统计出词频得到的一个向量。
让我们看个例子,现在有两个句子:
句子1: 通往人工智能之路没有捷径
句子2: 我要认真学习人工智能
1.1 构建词典
先对这两个句子进行分词(如果是英文则不需要):
句子1: 通往 / 人工智能 / 之路 / 没有 / 捷径
句子2: 我 / 要 / 认真 / 学习 / 人工智能
基于句子1和句子2的所有词语,构建词典(类似于哈希表),即:
[通往, 人工智能, 之路, 没有, 捷径, 我, 要, 认真, 学习]
1.2 计算向量
这个词典的长度为9。接下来,我们分别将两个句子表示成长度为9的向量,向量的索引内容对应词典中词出现的次数。
句子1: [1, 1, 1, 1, 1, 0, 0, 0, 0]
句子2: [0, 1, 0, 0, 0, 1, 1, 1, 1]
2 有什么用?
- 通过计算不同句子的向量之间的夹角,来判断两个句子的相似度。
- 以词袋模型作为文档的特征,对文档进行分类。
3 有什么问题?
词袋模型没有考虑词序、语法等,也就是说「我 / 喜欢 / 你」和「你 / 喜欢 / 我」在词袋模型中的表达是完全一样的,很明显这两句话并不是一个意思。