public virtual void Evaluate(Tree guess, Tree gold, PrintWriter pw, double weight) { IList <ILabel> words = guess.Yield(); int pos = 0; foreach (ILabel word in words) { ++pos; SimpleMatrix wv = model.GetWordVector(word.Value()); // would be faster but more implementation-specific if we // removed wv.equals if (wv == unk || wv.Equals(unk)) { pw.Printf(" Unknown word in position %d: %s%n", pos, word.Value()); unkWords.Add(word.Value()); } } }