词袋模型
词袋模型(Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。这种模型的特点是字典中的字没有特定的顺序,句子的总体结构也被舍弃了,词袋模型中的one-hot、TF-IDF和n-gram文本表示方法。
词袋(Bag-of-words)是描述文档中单词出现的文本的一种表示形式。它涉及两件方面:(1)已知词汇的集合。(2)测试已知单词的存在。
因为文档中单词是以没有逻辑的顺序的放置,所以称为单词的“袋子”。该模型只关注文档中是否出现已知的单词,并不关注文档中的出现的单词。
一、one-hot
对文本进行数值表示,那么先构造一个m×n的零矩阵,然后找到每个字在字典中出现的位置,把该位置的0替换为1,第二句话也这样处理。只管字出现了没有(出现了就填入1,不然就是0),而不管这个字在句子中出现了几次。one-hot编码后文本长度都一样了,方便进行矩阵运算。
one-hot存在以下问题:
(1)数据稀疏和维度灾难。数据稀疏也就是向量的大部分元素为0,如果词袋中的字词达数百万个,那么由每篇文档转换成的向量的维度是数百万维,由于每篇文档去重后字数较少,因此向量