近日完成一组实验,发现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的支持。
此评论已被作者删除。
回复删除您好。我也一直在学习研究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
建议你先看看SVM的教程
回复删除转换程序一般需要自己写