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());
                }
            }
        }