我有两个模型文件:1)en-politicians-ner.bin 2)en-engineers-ner.bin
现在,有没有办法将这两个模型添加到单个 NameFinderME 对象中。使用这两个模型的解决方法可能是创建两个 NameFinderME 对象并对其进行迭代以提取实体,但我不想这样做。
我有两个模型文件:1)en-politicians-ner.bin 2)en-engineers-ner.bin
现在,有没有办法将这两个模型添加到单个 NameFinderME 对象中。使用这两个模型的解决方法可能是创建两个 NameFinderME 对象并对其进行迭代以提取实体,但我不想这样做。
来自《驯服文本》一书:
NameFinderME[] finders = new NameFinderME[3];
String[] names = {"person", "location", "date"};
for (int mi = 0; mi < names.length; mi++) {
finders[mi] = new NameFinderME(new TokenNameFinderModel(
new FileInputStream(
new File(modelDir, "en-ner-" + names[mi] + ".bin")
)));
}
换句话说,您所要求的是将两个模型组合为一个的方法。据我所知(我不是这方面的专家),这对于统计 NLP 模型通常是不可能的。
我看到将这两个模型合并为一个的唯一机会是以某种方式获得用于训练这两个模型的两个训练数据集,然后从组合的训练集中重新训练一个新模型。
如果您无法访问训练集,这当然不是您的选择。但即使你有,我也没有真正看到这种方法比仅使用两个NameFinder
s 的根本优势。