使用字符串核函数进行文本分类

来源:互联网 发布:iphone清除数据 编辑:程序博客网 时间:2024/04/29 11:18
摘要:
特征空间为所有长度为k的子串集合,核函数定义为其上的内积操作,注意这里的k不要求连续(权值随长度递减,因此会重点关注那些邻接的项),由于组合爆炸,直接计算是无法接受的,该篇文章所述方法和词特征向量核方法(stardard word feature space kernel)相比较有显著效果提升;

1 introduction
一般的学习系统(比如神经网络和决策树)都直接作用于特征向量空间之上,但有时候某些对象无法转化到显示的特征向量空间中,比如生物信息序列、图像、文本;这时特征提取器的复杂度和建模好坏对于问题的解将起到决定性作用,但通过核方法来解决问题是另外一条值得研究的方向;
基于核的学习方法定义隐式地把输入数据映射到一个高维特征空间中,即仅使用原空间内积信息就可以得到高维空间数据点内积;这样学习的过程可只在原空间发生;最有代表性的例子就是SVM;

核方法甚至不需要知道具体要用哪些特征,本文将研究基于字符串alignment核的文本分类问题;

文本分类的标准方法是利用所谓的bagofwords表达方式,把文档映射为无位置关系仅保留频次信息的词集合,当然同时会剔除stopword、会把变形词归为主干形式,这个简单的技术在有监督SVM中获得了很大的成功(Textcategorizationwithsupportvectormachines:Learning withmanyrelevantfeatures),本文提出了一个完全不同的方法,它把文档视做符号序列,利用特定形式的核。其是完全subsymbolic,即把文章看做一个大长句子,可以承载领域信息。方法最显著地特性是把文档映射为向量,而不用显式地表达它们,通过序列alignment技术 (the most remarkable property of such methods is that they map documents to vectors without explicitly representing them, by means of sequence alignmeng techniques). 
令人惊奇的是,这样一个完全不同的策略,仅仅抽取了alignment信息,却能达到和特定问题相关的性能:某种意义上可以理解为文档语义信息可以部分地被特定子串所表达;

SVM是在核特征空间上的线性分类器。核函数K(x,y)=f(x)*f(y). blabla...

2 文本序列核
衡量两篇文章的相似度:直观想法,把文章看做长字符串,两者公共子串越多,则相似度越高。注意,子串不要求连续,但作用权重由子串的连续程度确定;
例如,card和custard中都包含子串c-a-r,但权重不同,权重取决于在长串中出现的频次和紧密程度,因而引入了一个衰减因子;
然后举了一个例子如何计算核:未归一化核就是内积,归一化核则要除以其中最大一项的自内积;
定义 : 
定义一节太过繁冗,bla....留待细看

3 算法

费了挺大劲找到一个实用工具包...
http://users.cecs.anu.edu.au/~chteo/SASK.html
0 0
原创粉丝点击