2008年10月17日

SVM-Light-Tk1.2 SST Kernel vs ST kernel vs PT Kernel

image
图1 SubTree

image
图2 Subset Tree

image
图3 Partial Tree

近日完成一组实验,发现SVM-Light-TK 1.2 中有个-D参数,默认的-D是Subset Tree Kernel,-D设为0时是SubTree结构。再看SVM-Light-TK 作者06年ECML论文时发现三种树型结构拓展的关系。原来还有一种子树拓展结构,名叫Partial Tree,图3。

三者的关系是SubTree最为严格,扩展出来的子树必须是原始树中带有完整的所有叶节点的子树。
Subset Tree较为放松,允许扩展出来的子树不必包含各层完整的所有叶节点,但是要求同一层的兄弟非叶节点不能缺少,也就是语法规则不能遭到破坏。
Partial Tree最为宽泛,在Subset Tree的基础上允许同一层的兄弟非叶节点缺少。

上面三幅图中子树数量分别是6,10,30。

遗憾的是目前的SVM-Light-TK 1.2中还没有嵌入对Partial Tree的支持。

3 条评论:

Unknown 说...
此评论已被作者删除。
Unknown 说...

您好。我也一直在学习研究Alessandro Moschitti的树核函数和SVM-Light-TK工具包,在学习过程中,遇到一些问题,一直不太清楚。在网上看到这篇blog,特向您请教。
1 问题一:
在网站上提供的TK1.2-ARG0vsARG1.tar.gz测试数据中,有树和label如下:
1 |BT| (S (NP (NP (NP (DT the)(NN role))(PP (IN of)(NP (NNP Celimene))))(, ,)(VP (VBN played)(NP (-NONE- *))(PP (IN by)(NP (NNP Kim)(NNP Cattrall))))(, ,))(VP (VP (VBN attributed)))) |ET| 4:1 10622:1 12486:1 12494:1 14658:1 15316:1 17357:1 21478:1
如何将从parser得到的树转换成label[ 4:1 10622:1 12486:1 12494:1 14658:1 15316:1 17357:1 21478:1
],有没有什么工具?
2 问题二:
这个数据前面的1和-1也就是定义中的target是什么标示?如何确定?
::= +1 | -1 | 0 |
非常感谢。

我的联系方式:whu.wweiming@gmail.com,QQ:151492387

Bill Lang 说...

建议你先看看SVM的教程
转换程序一般需要自己写