我想知道是否有人可以向我解释下面的代码行是做什么的?
while((sample = samples.read()) != null)
它是否首先设置sample
为等于 的下一行samples
,然后检查以确保它不为空?
这是一个更普遍的问题,但如果有人有一个很好的 OpenNLP 教程,我也会非常感激。
这是整个方法:
public static Dictionary buildNGramDictionary(ObjectStream samples, int cutoff) throws IOException {
NGramModel ngramModel = new NGramModel();
POSSample sample;
while((sample = samples.read()) != null) {
String[] words = sample.getSentence();
if (words.length > 0)
ngramModel.add(new StringList(words), 1, 1);
}
ngramModel.cutoff(cutoff, Integer.MAX_VALUE);
return ngramModel.toDictionary(true);
}