§4.2 文本分类
(第一次课)
徐悦甡
ysxu@xidian.edu.cn / xuyueshen@163.com
知识与数据工程研究中心
Web信息检索
软件工程系2017/4/21
本节提纲
文本分类(Text Classification)
 示例、定义与范畴
 文档表示与特征选择
 中文文本类别与层次分类结构(人工)
 文本分类方法
➢ 分类流程
➢ 基于划分的方法(e.g., K近邻)
➢ 基于模型的方法(不细讲)
 分类效果评估
软件工程系2017/4/21
示例、定义与范畴
 一般性分类任务举例
举例
 形状分组(已知四类)
3
第一类:圆
第三类:三角形
第二类:长方形
第四类:不规则 各自应该属于哪个类?
第一类、第二类、第三类、第四类:已知标记
 对比,聚类问题中是没有任何已知标记的
软件工程系2017/4/21
一般性分类
 事先已知部分样本的类别,然后将新样本划分到相应别中的
问题
文本分类
 已知一部分文档的类别,根据给定的新文本的内容,将其判
别为事先确定的若干个类别中的某一类或某几类的过程
示例、定义与范畴
 范畴与示例
新闻类 体育类 应该属于哪一类?
软件工程系2017/4/21
示例、定义与范畴
 范畴与示例
文本分类与信息检索的关系
 每一本信息检索的教材中都会讲到“文本分类”
➢ 相似网页归类 (主要由文本组成)
 发现相似内容的网页,组成相似网页组
 提升搜索体验,提升搜索结果的多样性
 对于后台,节省计算时间,提高排序/建索引效率
5
➢ 垃圾网页识别
➢ 病毒/异常网页识别
➢ 垃圾邮件识别
➢ 异常网页文本内容识别
软件工程系2017/4/21
示例、定义与范畴
 范畴与示例
文本分类与信息检索的关系
➢ 我们不是在学《搜索引擎使用手册》或《搜索引擎使用技巧》
- 面向人民群众 v.s. 面向专业技术人员
➢ 我们也不是在学《搜索引擎优化技巧(SEO)》
- 面向网站运营人员 v.s. 面向专业技术人员
软件工程系2017/4/21
文本分类任务
 文档表示
预处理:分词(中文)
 对文档进行分词,去掉与分类关联不大的词汇(如停用词)
➢ 停用词:的,啊,了,么等没有意义的词;我、你、他等意义不
大的词
➢ 实现方法:有成形的工具,如中科院,清华,哈工大,西电的分
词工具
文档表示(通用方法)
 向量空间法  将文档表示成一个向量
➢ 词频表示法
词表
人民:0
日报:1
引领:2
民族:3
复兴:4
战略:5
…
0 1 2 3 4 5 6 7 8 9…
(4, 5, 0, 0, 1, 1, 3, …)
位置编号
这个Doc=
软件工程系2017/4/21
文档表示与特征选择
 特征选择
特征选择
➢ 去除了的、啊、了、么之后 ,哪些词更能代表一个类?
➢ 举例
这些词:足球、篮球、斯诺克、奥运、NBA、博尔特,…
这些词:会议,政策,战略,报告,主席,市长,…
新闻类
体育类
软件工程系2017/4/21
文档表示与特征选择
 特征选择
 缺点
➢ 人工指定耗时费力,不一定准确
➢ 如何应对新文档的加入?
 如何将这些代表某一类的词自动地选出来呢?
➢ 一种方法:在每一个类中计算每一个词的词频值
- 想法:某词 t 在某一个类别文本中出现频率高,而在其他类别的
文本中几乎不出现,则该词对分类的贡献较大;若某词在所有类
别的文本中均出现,则该词对分类作用小
- 两个要素:
1) 一个词在当前类别中出现了多少次
2) 有多少类别含有这个词
软件工程系2017/4/21
文档表示与特征选择
 特征选择
示例
10
C1 C2 C5
( , ) log 1,2,...,5人民
人民
人民   i
N
TF C tf i
df
人民 人民
人民
人民
人民
不错 不错
不错
tf人民 表示词人民在类别Ci 文本集中出现的频率,N(N=5)表
示类别总数,df人民 表示包含词人民的类别个数
软件工程系2017/4/21
中文文本类别与层次分类结构
 中文文本类别
中文图书馆分类法(参照刘挺老师)
11
A类 马列主义、毛泽东思想
B类 哲学
C类 社会科学总论
D类 政治、法律
E类 军事
F类 经济
G类 文化、科学、教育、体育
H类 语言、文字
I类 文学
J类 艺术
K类 历史、地理
N类 自然科学总论
O类 数理科学和化学
P类 天文学、地球科学
Q类 生物科学
R类 医药、卫生
S类 农业科学
U类 交通运输
V类 航空、航天
X类 环境科学、劳动保护科学
软件工程系2017/4/21
中文文本类别与层次分类结构
 中文文本类别
中文图书馆分类法(续)
 以技术类为例,再进一步二级分类
12
TB类 一般工业技术
TD类 矿业工程
TE类 石油、天然气工业
TF类 冶金工业
TG类 金属学、金属工艺
TH类 机械、仪表工艺
TJ类 武器工业
TK类 动力工业
TL类 原子能技术
TM类 电工技术
TN类 无线电电子学、电信技术
TP类 自动化技术、计算技术
TQ类 化学工业
TS类 轻工业、手工业
TU类 建筑科学
TV类 水利工程
软件工程系2017/4/21
中文文本类别与层次分类结构
 层次分类结构
互联网上通行的分类结构
 层次分类结构(人工)
13
家用电器
大家电 五金家族生活电器 厨房电器
平板电视
冰箱
家庭影院
空调
洗衣机
热水器
净化器
加湿器
冷风扇
吸尘器
电风扇
饮水机
电饭煲
电烤箱
电压力锅
微波炉
电磁炉
电炖锅
电动工具
门铃
水槽
手动工具
插座
龙头
京东
软件工程系2017/4/21
中文文本类别与层次分类结构
 层次分类结构
互联网上通行的分类结构
 层次分类结构(人工)
14
软件工程系2017/4/21
文本分类任务
 分类流程
文本分类流程
15
准备文本集
预处理(分词、
去停用词等)
人工/自动标
注(训练集)
特征提取
选择方法
进行训练
未分类文档到达,
进行分类
分类结果
评价
软件工程系2017/4/21
文本分类任务
 基于划分的方法
KNN方法/K近邻方法
 基本思想
➢ 计算出待分类文档与语料库中最相似的 K 篇文档,根据这 K 篇文
档所属的类别情况来完成分类
➢ 待分类文档d与C1、C2、C3三类中所有文档进行相似度计算
d
C1
C2
C3
K = 6
d
C1
C2
C3
软件工程系2017/4/21
文本分类任务
 基于划分的方法
KNN方法
 方法步骤(核心两步)
➢ Step 1 : 在语料库中选出与待分类文档最相似相似的 K 个文档,
这 K 篇文档的集合KNN 称为待分类文档 d 的 K 近邻;
➢ Step 2: 确定分类
- 确定d应该属于哪个Ci : 在KNN的圈里,与哪个Ci中的文档相似性更大
17
1
1( , ) ( , )
  
 
j j
j
d KNN d C
P d C sim d d
3
3( , ) ( , )
  
 
j j
j
d KNN d C
P d C sim d d
2
2( , ) ( , )
  
 
j j
j
d KNN d C
P d C sim d d
在以上的例子中是C1最大,
故文档d属于C1
软件工程系2017/4/21
文本分类任务
 基于划分的方法
相似性计算方法(回忆)
软件工程系2017/4/21
文本分类任务
 基于划分的方法
Rocchio分类算法
 对KNN的一种改进,节省计算时间
 基本思想
➢ 为每一个类别的文档集生成一个代表该类别的中心向量,利用待
分类文档与每个类别的中心向量的相似度大小来完成分类
19
C1
C3
d
C2
C1
C3
C2
d
软件工程系2017/4/21
课程大作业
调整
网页分类方法概述
➢ 作业:完成针对网页分类方法的综述性报告(.doc/.pdf),
并最好在报名中写明你对网页分类方法的思考
- 注意,不是泛泛的分类方法,而是针对网页的分类方法
- 资料来源:Google,百度,搜狗
- 报告要正式;一种报告内容安排的建议:
* 题目 姓名/学号  (摘要 ) 概述  选取两到三种方法(一种
太少了)详述  自己见解与思考  总结  参考文献/资源
*参考文献/资源:可论文,可PPT,可网页(博客),可教材
*<可根据自己的想法进行调整>
20
软件工程系2017/4/21
课程大作业
调整
➢ 数据集与代码:大作业不再要求实现,只要求报告
➢ 不要抄袭,没必要抄袭
➢ 建议大家交pdf,建议大家在里面配图(不一定要自己画,但要给
出来源)
➢ 主要看内容,格式也不要太乱
➢ 从现在开始就可以做,课程结束后一周以内deadline(越早越好)
- 邮箱:xdseirclass@163.com;报告+代码
- 命名:学号+姓名+信息检索大作业.doc/pdf (仍然要专业)
21
§4.2 文本分类
(第二次课; 方法,结束)
徐悦甡
课程邮箱: xdseirclass@163.com
http://web.xidian.edu.cn/ysxu/teach.html
(课件地址/课件已更新)
Web信息检索
软件工程系2017/4/21
本节提纲
 文本分类(Text Classification)
 示例、定义与范畴
 文档表示与特征选择
 中文文本类别与层次分类结构(人工)
 文本分类方法
➢ 分类流程
➢ 基于划分的方法(e.g., K近邻)
➢ 基于模型的方法(不细讲)
 分类效果评估
软件工程系2017/4/21
文本分类任务
 基于模型的方法
基于模型的方法 (了解)
 朴素贝叶斯分类法*
 基本思想
➢ 计算待分类文本属于类别的概率
24
1
( | ) ( ) ( | )
K
i i j i
j
P C d P C P w C

 
- d 表示待分类文本,P(Ci|d) 表示待分类文本属于 Ci 类别的概
- P(Ci) 表示 Ci 类别的文档在语料库中出现的概率
- K 表示待分类文本 d 中特征词的个数
- wj 表示待分类文本 d 中的某一个特征词
- P(wj|Ci) 表示特征词 wj 在Ci 类别中出现的概率。
软件工程系2017/4/21
文本分类任务
 基于模型的方法
 朴素贝叶斯分类法*(了解)
25
( ) i
i
C
P C 
的文档个数
语料库总文档个数
( | )
j i
j i
i
w C
P w C
C

在 的文档中出现的次数
文档中出现所有词的次数
 分类的确定与优势
➢ 将待分类文本分配到最大概率值所对应的类别中;
➢ 或设定某阈值,将待分类文本分配到概率值大于该阈值的类别中
- 一个文档可能属于多个类
1
( | ) ( ) ( | )
K
i i j i
j
P C d P C P w C

 
一篇讲奥运会报道的文档,即可以属
于新闻类,也可以属于体育类
软件工程系2017/4/21
文本分类任务
 基于模型的方法
基于神经网络的分类方法(了解)
26
t1
t2
…
tT
C1
C2
…
Cn
文档d的
特征词
类别
输出
神经网络
1. 利用已知的语料库分类文档对网络进行训练,得到一
个收敛的网络模型
2. 将待分类文档作为网络输入,网络输出值即为分类
结果
软件工程系2017/4/21
分类效果评估
如何评价分类结果的好坏?
 准确率, 召回率
27
事实属于此类 事实不属于此类
判定属于此类 A B
判定不属于此类 C D
 准确率(Precision) = (A+D) / (A + B + C + D)
➢ 判断正确的属于或者不属于某个类的文档数 / 所有文档数
➢ 针对某一类时,有时也可简化为 A/A+B
 召回率(Recall) = A / (A + C)
➢ 判断正确属于某个类的文档数 / 所有判断出的属于某个类的文档数
软件工程系2017/4/21
扩展资源
 知名国际会议
 信息检索系列:SIGIR 2017, CIKM 2017
 自然语言理解系列:ACL 2017, EMNLP 2017
 多媒体系列:ACM MM 2017, CVPR 2017
 人工智能系列:NIPS 2017, AAAI 2017
28
 个人主页
 课件(包含文本分类)
➢ http://web.xidian.edu.cn/ysxu/teach.html
➢ http://liu.cs.uic.edu/yueshenxu/
➢ http://www.slideshare.net/obamaxys2011
软件工程系2017/4/21 29
推荐系统

Text classification 本科课件