查看Malt Parser的源代码,它实际上有类LibLinear.java(jar文件)并调用liblinear工具包的java版本;我没有找到任何选择/返回概率的方法,尽管原则上使用liblinear(默认情况下在麦芽解析器中)使用Logistic回归(-s 0)训练模型应该产生解析树的概率得分。 / p>
主要关注点是:Liblinear和Malt Parser的整合是否顺利运行而不会影响彼此的预期运营?
与Liblinear分开工作确实为我提供了数据集的概率输出。
liblinear-train -s 0 train_scale
//使用逻辑回归模型训练数据
liblinear-predict -b 1 test_scale train_scale.model test_scale_output
//标签和类以及概率输出。这里-b 1确实提取出每个数据集的概率。
答案 0 :(得分:1)
麦芽解析器基于转换系统和2或3个堆栈工作。在每个步骤,使用liblinear或libsvm预测转换。这些模型的输入由堆栈中的内容和机器的当前状态组成。因此,一步做出决定会影响其他可能的决策。计算树需要计算所有树的聚合概率(使它们总和为1)的概率,这是不可行的。您可以计算树的信任分数,我猜或特定弧,但它将是信任分数,而不是概率。而afaik maltparser并没有提供开箱即用的功能。你必须改变源代码,但我认为这是可行的