第十四章 余弦定理和新闻的分类
将新闻转化为一组用于描述新闻特征的数字——计算出新闻中所有实词的TF-IDF的值,,把这些词按照词汇表的位置依次排列,就得到一个向量。词汇表的大小就是向量的维度。
由于同一类主题的新闻在用词上具有聚类的特性,我们可以根据新闻的特征向量在维度特征上是否相似来判断新闻主题的相似性。
由于新闻篇幅各异,判断各个维度的数值没有什么意义,但我们可以通过计算向量的夹角来判断新闻主题的接近程度。这就要用到余弦定理。他们的夹角余弦等于:
取值在[0,1]。
新闻类别的特征向量的训练——两两计算所有新闻的余弦相似性,把相似性大于一定阈值的新闻合并为一个小类,再计算小类之间的余弦相似性,再合并成大一点的小类;如此迭代聚合直到相似性很小,新闻分类完成。
——延伸
大数据量时的余弦计算的简化——向量的长度无需重复计算;计算内积时只需考虑非零维度;删除虚词,并能提高分类的准确度。对标题和重要位置的词进行额外的加权,能提高分类的准确度。
第十五章 矩阵运算和文本处理中的两个分类问题
两两计算新闻的相关性耗费的时间很长,有时我们需要一次性计算出所有新闻的相关性。那么描述成千上万篇文章的数列构成一个大矩阵,行数代表文章的篇数,列数代表词汇表的长度。
大矩阵计算需要用到奇异值分解——将大矩阵分解成三个小矩阵相乘。第一个矩阵是对词义进行分类的结果,一列代表一个语义类,一行代表一个词,数值代表词和语义类的相关性(取值为[0,1])。中间的矩阵表示词的类和文章的类之间的相关性,一个列代表一个主题,一个行代表一个语义类。最后一个矩阵代表文本的分类结果,一列代表一篇文章,一行代表一个主题。
因此将大矩阵金星一次奇异值分解就可以同时完成近义词分类和文章的分类,文章主题和语义类的关系。
——延伸
奇异值分解的算法原理:
其中X是酉矩阵,Y是酉矩阵的共轭矩阵,B是一个对角矩阵。由于实际在文章分类中,对角矩阵B的对角线上有很多值为0,故可省略(降低了矩阵的维度)。
奇异值分解一般分两步进行。首先将矩阵A转换成一个双对角矩阵,计算复杂度为O(MN^2),其中可以利用矩阵A 的稀疏性大大缩短时间;第二步是将双对角矩阵变成奇艺质分解的三个矩阵,计算量很小。
奇异值分解的优点是能较快得到结果,但分类结果略显粗糙,而且计算过程需要的存储量大。利用文本特征向量余弦的距离自底向上的分类方法可以得到较精确的结果,但耗时很长。两者可以结合使用,提高效率和准确度。
第十六章 信息指纹及其应用
任何一段信息都可以对应一个不太长的随机数,作为区别这段信息和其他信息的指纹。
在网络爬虫中,存储访问过的URL的散列表如果以字符串的形式记录,存储和查找的效率都会很低。因此可以设计产生随机数的算法,使一个地址映射到一个长度不大的随机数,这就成为网址的信息指纹。
信息指纹的计算方法一般分两步:先将字符串(任意信息)看成一个很长的整数,再使用伪随机数产生器算法将任何很长的整数转换成特定长度的伪随机数。
信息指纹具有不可逆性,它只具有识别作用。网页cookie也是一种信息指纹,通过它可以识别不同用户但不能识别用户信息。常用的网络加密算法有MD5和SHA-1等标准。
计算集合的信息指纹可以用于判断两个集合是否相同。可以应用于判断搜索查询用词是否相同,鉴别盗版歌曲等。
Youtube公司的视频反盗版也应用了信息指纹的原理。视频的匹配有两个核心技术,首先找到视频的关键帧,接下来就是用一组信息指纹表示关键帧。
——延伸
相似哈希是一种特殊的信息指纹,可以用于判断信息的相似性。哈希值相差越小,信息相似性越高,当信息只有少数权重小的词不相同,哈希值也会相同。