If this error function can be composed as the sum of sentence-level errors, such as BLEU+1, choosing the oracle is simple; we simply need to find the set of candidates that have the lowest error independently sentence by sentence.
6 1: procedure ORACLE( F, E, C ) 2: 3: repeat 5: if s < s then Update the oracle 11: else if s = s then Same error value 14: return O 20: end procedure when using a corpus-level error function we need a slightly more sophisticated method, such as the greedy method of Venugopal and Vogel (2005).