如何在OpenNLP中的TokenNameFinder模型中查看功能列表及其重要性

时间:2017-02-27 12:53:15

标签: opennlp named-entity-recognition

我培训了TokenNameFinder OpenNLP,输出 .bin 文件。现在我需要列出其重要性的功能。

我阅读了TokenNameFinderNameFinderME的代码,但找不到打印功能的方法。他们以任何方式列出模型的所有特征及其重要性吗?

1 个答案:

答案 0 :(得分:0)

最后,我想出了一种列出功能的方法。 getDataStructures()类的函数AbstractModel返回Object个实例的数组。该数组的第二个元素是Map<String, Integer>,其键是要素及其值的组合。以下是访问功能及其值的代码段:

AbstractModel maxModel =  model.getArtifact("nameFinder.model");
                Object[] obj = maxModel.getDataStructures();

                if(obj!=null) {
                    Map<String, Integer> pmap = (HashMap<String, Integer>) obj[1];
                    Set<String> keySet = pmap.keySet();
                    for(String key: keySet) {
                        System.out.println(key +" **** "+ pmap.get(key));
                    }
                } else {
                    System.out.println("obj is null." );
                }