1

我以下列方式使用 Java语言检测库:

Detector detector = DetectorFactory.create(); //profiles are in the default location
detector.append("What language is this text?");
List<Language> languages = detector.getProbabilities();
Language mostProbable = languages.get(0);
System.out.println(mostProbable.lang + " - " + mostProbable.prob);

给定完全相同的输入,该prob值因执行而异。那是“正常”吗?这取决于什么?

4

1 回答 1

2

如果库使用的算法/方法不是确定性的,那么每次执行的值可能会有所不同。

例如,某些算法需要获得初始种子才能开始。在很多情况下,这个种子是(伪)随机选择的。这会影响最终输出。

编辑:看起来该库正在使用朴素贝叶斯分类器(可能是或)。

于 2013-10-31T22:18:47.757 回答