介绍
文本分类——常见分类模型
kNN分类模型的主要思想:通过给定一个未标注文档d,分类系统在训练集中查找与它距离最接近的k篇相邻(相似或相同)标注文档,然后根据这k篇邻近文档的分类标注来确定文档d的类别。
普通kNN实现
一般常规的kNN计算新输入文档与训练集中样本之间的距离,都是新输入文档与每一训练集样本计算相似度。数据结构及计算过程示意图如下:

如图1所示,新输入文档将于已有训练样本的d1、d2、dm逐个计算相似度(Similarity)。一种颜色代表一次计算。
由于文本具有词稀疏性(一篇文本一般仅含有几十到几百个词组,而词的总表中词的总数可以达到几十万。),一般按照上述方法实现kNN算法,很多词语的搜索过程都是无用的,即根本搜索不到匹配的词或不用搜索。例如:新输入文本的词组t5、t10与d1、d3、dm的计算都为0,无效运算。
快速kNN实现
本篇对普通kNN算法做了一些改进,调整训练文本的数据结构,不是一次计算未标注文本与一篇训练集文本的相似度,而是一次计算未标注文本中一个词(或特征)与训练集每篇文本的该词(或特征)的相似度分量。这样可以较大降低词的搜索空间ÿ