public void Estimate(IReadOnlyList <string> sourceSegment, TranslationResultBuilder builder)
        {
            WordGraph            wordGraph            = _smtEngine.GetWordGraph(sourceSegment);
            WordGraphConfidences wordGraphConfidences = ComputeWordGraphConfidences(wordGraph);

            for (int j = 0; j < builder.Words.Count; j++)
            {
                builder.SetConfidence(j, wordGraphConfidences.GetConfidence(builder.Words[j]));
            }
        }
        public void Estimate(IReadOnlyList <string> sourceSegment, WordGraph wordGraph)
        {
            WordGraphConfidences wordGraphConfidences = ComputeWordGraphConfidences(wordGraph);

            foreach (WordGraphArc arc in wordGraph.Arcs)
            {
                for (int k = 0; k < arc.Words.Count; k++)
                {
                    arc.WordConfidences[k] = wordGraphConfidences.GetConfidence(arc.Words[k]);
                }
            }
        }