文档分类的概念
文档分类就是将一篇文档自动指定到几个预定义的文本类别中。
向量空间模型
文档分类多使用向量空间模型(VSM,vector space model),向量空间模型将文档中提取出若干特征词,按照特征词出现的的频率,将文本转换成空间中的点,通过比较点之间的距离确定文档的类别。
机器学习算法
机器学习算法分为两个阶段,第一阶段是学习阶段,第二阶段是分类阶段,学习阶段使用训练集构造分类器进行分类
朴素贝叶斯算法
基本思想:
根据贝叶斯公式:
文档d属于类c的概率:
p
(
c
∣
d
)
=
p
(
c
)
∗
p
(
d
∣
c
)
/
p
(
d
)
p(c|d)=p(c)*p(d|c)/p(d)
p(c∣d)=p(c)∗p(d∣c)/p(d)
p©为所有item属于类别c的item的概率,即属于c类的item的个数除以总item的数量
p(d|c)为属于c类别的某个item为文本d的概率
p(d)为所有item中文档d出现的概率
对于每个文档d,对于每个类别c1,c2 ……cn求出p(d|ci),其中最大值对应的类别就是d所属的类别。
p(d)对于每个类都相同,设计算法的时候不用考虑
对于p(d|c),d可以被表示为d向量,由n个关键词出现的频率组成,则
d
=
(
a
1
,
a
2
,
…
…
,
a
n
)
d=(a1,a2,……,an)
d=(a1,a2,……,an),其中a1到an线性独立
p
(
d
∣
c
)
=
p
(
a
1
∣
c
)
∗
p
(
a
2
∣
c
)
∗
p
(
a
3
∣
c
)
…
…
p
(
a
n
∣
c
)
p(d|c)=p(a1|c)*p(a2|c)*p(a3|c)……p(an|c)
p(d∣c)=p(a1∣c)∗p(a2∣c)∗p(a3∣c)……p(an∣c)
学习阶段:
针对训练集合求每个类别的概率p©
对文档进行分词,求每个特征值a对应每个类别的
p
(
a
i
∣
c
)
p(ai|c)
p(ai∣c)
分类阶段:
针对每个待分类集合,将其提取特征词,按照特征向量求
p
(
a
i
∣
c
)
p(ai|c)
p(ai∣c)
对
p
(
a
i
∣
c
)
∗
p
(
c
)
p(ai|c)*p(c)
p(ai∣c)∗p(c)求最大值,最大值即为所在的类别。
KNN算法
基本思想:
其维护一个长度为k的优先队列,每次分类的时候调整优先队列,对每一个待分类的item和每一个训练item比较距离,使最后队列中的item为与待分类item的距离最邻近的k个item,最后取这k个item中多数派的类别为所需要的类别。
学习阶段:随机构建k队列
分类阶段:遍历待分类文档集合,对每一个item与训练集中的所有item求距离,调整k队列,使队列中的元素为训练集与中待分类item距离最近的前k个item,最后根据k队列的组成确定待测试item的类别。