MaltParser 是否真的提供了返回解析树概率的选项?

Does MaltParser actually provide an option for returning probabilities of Parse trees?

在查看 Malt Parser 的源代码时,它实际上具有 class LibLinear.java(jar 文件)并调用了 liblinear 工具包的 java 版本;我没有找到任何 option/way 到 return 的概率,尽管原则上使用 liblinear(默认情况下在麦芽解析器中)和逻辑回归(-s 0)训练模型应该产生概率得分已解析的树。

主要担心的是:Liblinear 和 Malt Parser 的集成是否在不影响彼此预期操作的情况下顺利工作?

单独使用 Liblinear 确实为我提供了数据集的概率输出。

liblinear-train -s 0 train_scale 

//使用逻辑回归模型训练数据

liblinear-predict -b 1 test_scale train_scale.model test_scale_output 

//标签和classes和概率输出。这里 -b 1 确实提取了每个数据集的概率。

参考:

Malt 解析器基于转换系统和 2 或 3 个堆栈工作。在每一步中,都会使用 liblinear 或 libsvm 预测转换。这些模型的输入由堆栈中的内容和机器的当前状态组成。因此,在一个步骤中做出决定会影响其余可能的决定。要计算一棵树的概率需要计算所有树的聚合概率(以便它们总和为 1),这是不可行的。我猜你可以计算树或特定弧的信任分数,但它是信任分数,而不是概率。而且 afaik maltparser 不提供开箱即用的功能。您将不得不更改源代码,但我认为这是可行的