コード例 #1
0
        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]));
            }
        }
コード例 #2
0
        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);
                }
            }
        }