Skip to content

Commit c364fd4

Browse files
committed
Port changes from sillsdev/machine.py#279
1 parent cd06553 commit c364fd4

File tree

5 files changed

+10
-0
lines changed

5 files changed

+10
-0
lines changed

src/SIL.Machine/Translation/HybridTranslationEngine.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,7 @@ private TranslationResult Merge(TranslationResult interactiveResult, Translation
488488
interactiveResult.SourceTokens,
489489
mergedTargetSegment,
490490
mergedConfidences,
491+
-1.0,
491492
mergedSources,
492493
alignment,
493494
interactiveResult.Phrases

src/SIL.Machine/Translation/TransferEngine.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ public IReadOnlyList<TranslationResult> Translate(int n, IReadOnlyList<string> s
186186
segment,
187187
targetTokens,
188188
confidences,
189+
-1.0,
189190
sources,
190191
alignment,
191192
new[] { new Phrase(Range<int>.Create(0, normalizedSourceTokens.Count), targetWords.Count) }

src/SIL.Machine/Translation/TranslationExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ public static TranslationResult Truecase(
120120
result.SourceTokens,
121121
targetTokens,
122122
result.Confidences,
123+
result.SequenceConfidence,
123124
result.Sources,
124125
result.Alignment,
125126
result.Phrases

src/SIL.Machine/Translation/TranslationResult.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public TranslationResult(
1111
IEnumerable<string> sourceTokens,
1212
IEnumerable<string> targetTokens,
1313
IEnumerable<double> confidences,
14+
double sequenceConfidence,
1415
IEnumerable<TranslationSources> sources,
1516
WordAlignmentMatrix alignment,
1617
IEnumerable<Phrase> phrases
@@ -27,6 +28,7 @@ IEnumerable<Phrase> phrases
2728
nameof(confidences)
2829
);
2930
}
31+
SequenceConfidence = sequenceConfidence;
3032
Sources = sources.ToArray();
3133
if (Sources.Count != TargetTokens.Count)
3234
{
@@ -58,6 +60,7 @@ IEnumerable<Phrase> phrases
5860
public IReadOnlyList<string> SourceTokens { get; }
5961
public IReadOnlyList<string> TargetTokens { get; }
6062
public IReadOnlyList<double> Confidences { get; }
63+
public double SequenceConfidence { get; }
6164
public IReadOnlyList<TranslationSources> Sources { get; }
6265
public WordAlignmentMatrix Alignment { get; }
6366
public IReadOnlyList<Phrase> Phrases { get; }

src/SIL.Machine/Translation/TranslationResultBuilder.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public class TranslationResultBuilder
1111
private readonly List<double> _confidences;
1212
private readonly List<TranslationSources> _sources;
1313
private readonly List<PhraseInfo> _phrases;
14+
private readonly double _sequenceConfidences;
1415

1516
public TranslationResultBuilder(IReadOnlyList<string> sourceTokens)
1617
{
@@ -19,6 +20,7 @@ public TranslationResultBuilder(IReadOnlyList<string> sourceTokens)
1920
_confidences = new List<double>();
2021
_sources = new List<TranslationSources>();
2122
_phrases = new List<PhraseInfo>();
23+
_sequenceConfidences = -1.0;
2224
}
2325

2426
public IReadOnlyList<string> SourceTokens { get; }
@@ -29,6 +31,7 @@ public TranslationResultBuilder(IReadOnlyList<string> sourceTokens)
2931
public IReadOnlyList<double> Confidences => _confidences;
3032
public IReadOnlyList<TranslationSources> Sources => _sources;
3133
public IReadOnlyList<PhraseInfo> Phrases => _phrases;
34+
public double SequenceConfidences => _sequenceConfidences;
3235

3336
public void AppendToken(string token, TranslationSources source, double confidence)
3437
{
@@ -246,6 +249,7 @@ public TranslationResult ToResult(string translation = null)
246249
SourceTokens,
247250
_targetTokens,
248251
_confidences,
252+
_sequenceConfidences,
249253
sources,
250254
alignment,
251255
phrases

0 commit comments

Comments
 (0)