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, TranslationResultBuilder builder) { var range = Range <int> .Create(0, sourceSegment.Count); int startIndex = 0; foreach (PhraseInfo phrase in builder.Phrases) { if (PhraseOnly) { range = phrase.SourceSegmentRange; } for (int j = startIndex; j < phrase.TargetCut; j++) { double confidence = GetConfidence(sourceSegment, range, builder.Words[j]); builder.SetConfidence(j, confidence); } } }