6.文本分类全解
信息熵 (Entropy)
实际上可能不需要5次就能猜出谁是冠军,因为一些强队得
冠的可能性更高,因此第一次猜测时可以把少数几支强队 分成一组,其它球队分成另一组,然后猜冠军球队是否在 那几支强队中
这样,也许三次或四次就能猜出结果。因此,当每支球队
夺冠的可能性(概率)不等时,这条信息的信息量比5比特少
词频的简单应用
关键字提取:对于一篇新闻,提取出词频最高的前 N 个词,
即可作为该篇新闻的关键字
度量新闻和查询的相关性:直接使用各个关键字在新闻中
出现的总词频。 例如,查询“原子能 应用”,“原子能”在新闻A中的词频 是 0.035 ,“应用”在新闻 A 中的词频是 0.020 ,则这个查 询和新闻A的相关性为 0.035 + 0.020 = 0.055
则它们的相似度可以表示为
1 sim ilarity( x, y ) d ( x, y ) 1
余弦相似度
向量实际上是多维空间中从原点出发的有向线段。 余弦相似度使用向量的夹角来衡量两个向量的相近程度,
两个向量的夹角越小表示越相似,夹角越大表示越不相似。
余弦相似度
根据向量的点积公式
容易发现,如果一个关键词只在少量的新闻中出现,通过
它就容易确定新闻主题,它的权重也就应该大
反之,如果一个词在大量新闻中出现,通过它仍然难以确
定新闻主题,因此它的权重就应该小
概括的讲,假定一个关键词 w 在 D w条新闻中出现过,那么
Dw越大,w的权重越小,反之则权重越大
逆文档频率 (TF-IDF)
有帮助,“原子能”的权重应当比“应用”高。而单纯的 词频(TF)并不能反映这种权重上的差别
逆文档频率 (TF-IDF)
因此,需要对每一个词设置一个权重,权重的设定必须满
足两个条件: (1) 一个词预测主题的能力越强,权重越大,反之权重越小 (2) 停用词的权重为零
逆文档频率 (TF-IDF)
号中吗?”,假如他告诉我猜对了,我就接着问“冠军在 1-8号中吗?”,假如他说猜错了,那我就知道冠军在9-16 号中。这样只要5次,我就能知道哪支球队是冠军
当然,香农不是用钱,而是用比特 (bit) 来度量信息量,在
上例中,这条消息的信息量是5比特
信息量的比特数和所有可能 情况的对数有关,例如本例 中,信息量 = log (球队数), 即 5 = log (32)。Why?
逆文档频率 (TF-IDF)
将一个词的TF乘上其IDF,即为其 TF-IDF 权重,即
TF-IDF = TF ∙ IDF
TF-IDF中的-是连字符, 不是代表相减
主要内容
文本分类及文档的特征向量 余弦相似度 使用分类算法进行文本分类 逆文档频率 TF-IDF TF-IDF的信息论依据 浅谈中文分词
模式
传感器
特征提取
特征选择
分类器设计
系统评估
应用:新闻分类
准备事先标记好类别的新闻训练数据 将新闻转化为特征向量,训练分类算法 使用分类算法对未知新闻进行自动分类
应用:新闻分类 - 使用kNN
计算每训练数据中每条新闻和待分类新闻的相似度 找出和待分类新闻相似度最大的k条新闻 找到的k条新闻中哪个类别占的最多,待分类新闻就属于哪
逆文档频率 (TF-IDF)
以“原子能的应用”为例,去除停用词“的”后,它可以
分成“原子能”和“应用”两个词
但“应用”是个非常通用的词,而“原子能”是个很专业
的词。看到“原子能”时,或多或少能了解到新闻的主题, 而看到“应用”一词,对新闻主题基本上还是一无所知。
因此,相比于“应用”,“原子能”对新闻主题的确定更
信息熵 (Entropy)
我们常说信息很多,或信息很少,但却很难说清楚信息到
底有多少
比如一本50多万字的《史记》有多少信息量?或一套莎士
比亚全集有多少信息量?
这个问题几千年来都没有人给出很好的解答,直到1948年,
香农(Claude Shannon)在他著名的论文“通信的数学原理” 中提出了信息熵的概念,才解决了信息的度量问题,并且 量化出信息的作用
香农指出,它的准确信息量应该是
H ( p1 log p1 p2 log p2 ... p32 log p32 )
p1,p2,...,p32分别是这32支球队夺冠概率,香农把它称作信息熵,单位为比特; 可以算出,当32支球队夺冠概率相同时,对应的信息熵为5比特。
信息熵 (Entropy)
对于任意一个随机变量X(比如夺冠球队),它的熵定义为
H ( X ) P( x) log P( x)
xX
变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大
数据挖掘:文本分类专题
王成(副教授)
华侨大学计算机科学与技术学院
主要内容
文本分类及文档的特征向量 余弦相似度 使用分类算法进行文本分类 逆文档频率 TF-IDF TF-IDF的信息论依据 浅谈中文分词
本节内容来源于吴军博士《数学之美》
文本分类
文本分类
所谓新闻的分类,或者更广义的讲任何文本的分类,无非
3. 不断重复上述过程,类别越来越少,而每个类越来越大。当子类的 数量比较少时,就会看清楚这些子类了。(聚类的思想)
主要内容
文本分类及文档的特征向量 余弦相似度 使用分类算法进行文本分类 逆文档频率 TF-IDF TF-IDF的信息论依据 浅谈中文分词
分类系统设计的基本步骤
信息熵 (Entropy)
假如我错过了一个有 32支球队参加的足球赛,赛后我问一
个知道比赛结果的观众“哪支球队是冠军”?他不愿意直 接告诉我,而让我猜,每猜一次,他要收一元钱才肯告诉 我是否猜对,那我需要付多少钱才能知道谁是冠军呢?
我可以把球队编号,从 1 到 32 ,然后问“冠军球队在 1-16
的位置依次排列,就得到一个向量
编号 1 2 3 4 ... 789 汉字词 阿 啊 阿斗 阿姨 ... 服装 编号 1 2 3 4 ... 789 汉字词 0 5 0 3 ... 10
...
64000
...
做作
...
64000
...
2
新闻的特征向量
如果单词表中的某个词在新闻中没有出现,对应的值为零,
P(w|Ci)=P(w0|Ci)P(w1|Ci)P(w2|Ci)...P(wn|Ci)
其中w0,w1..为词汇表中的词, P(wk|Ci)为词wk在Ci类中的出现概率(词频或权重)
主要内容
文本分类及文档的特征向量 余弦相似度 使用分类算法进行文本分类 逆文档频率 TF-IDF TF-IDF的信息论依据 浅谈中文分词
在信息检索中,使用最多的权重是逆文档频率 (Inverse
Document Frequency,简称IDF)
D IDF log Dw
其中D为所有文档(新闻)数量,Dw为出现关键词w的文档数量
假定新闻条数是10亿,停用词“的”在所有新闻中都出现,即 Dw=10亿,那它的 IDF=log(10亿/10亿)=log(1)=0 假设“原子能”在200万条新闻中出现,即Dw=200万,则它的权重 IDF=log(10亿/200万)=log(500)=9.96 假设“应用”在5亿条新闻中出现,即Dw=5亿,则它的权重 IDF=log(10亿/5亿)=log(2)=1
新闻的特征向量
一篇新闻里有很多词,有些词表达的语义重要,有些相对
次要。
例如“的、地、得、了”这些助词,这些词对确定新闻主题 没有帮助,反而会影响分类结果,因此在计算时应忽略它 们。这些词称为停用词 (stop words)
新闻长短不同,同一个词在长新闻中出现的次数一般要比
在短新闻中出现的次数多,因此需要根据新闻长度,对词 的出现次数进行归一化,即用词的出现次数除以总词数, 称为词频 (Term Frequency,简称TF),然后用词频来替代 特征向量中相对应的计数值 例如某新闻有1000个词,其中“原子能”和“应用”分别出 现了2次和5次,则它们的词频分别为0.002和0.005
主要内容
文本分类及文档的特征向量 余弦相似度 使用分类算法进行文本分类 逆文档频率 TF-IDF TF-IDF的信息论依据 浅谈中文分词
度量两篇新闻的相似度
设两篇新闻的特征向量为 x (x1, x2, ...) 和 y (y1, y2, ...),
它们的欧氏距离为 d(x, y):
是要把相似的新闻放到同一类中
如果让编辑来对新闻分类,他一定是先把新闻读懂,然后
找到它的主题,最后根据主题的不同对新闻进行分类
但计算机根本读不懂新闻,计算机本质上只能做快速计算,
为了让计算机能“算”新闻,就要求:
1)把文字的新闻变成可以计算的一组数字 2)然后再设计一个算法来计算两篇新闻的相似度 相似性度量 特征向量
那这64000个数,组成一个64000维的特征向量,我们就用 这个特征向量来表示一篇新闻。这样,新闻就可以拿来 “计算”了 (0, 0, 0, 3, 0, ..., 28, 0, 0, 0, 3)
(1, 0, 5, 0, 0, ..., 10, 0, 20, 0, 1)
(0, 0, 3, 5, 0, ..., 0, 8, 0, 12, 0)
信息熵 (Entropy)
一条信息的信息量和它的不确定性有着直接的关系 比如,要搞清楚一件非常不确定的事,或是我们一无所知
的事情,就需要了解大量信息。相反,如果我们对某件事 已经有了较多了解,那么不需要太多信息就能把它搞清楚
从这个角度看,信息量就等于不确定性的多少
如何量化信息的度量呢?
个类别