示例#1
0
        lambda self, context, phrase: language_prob[phrase],
        'probability': lambda self, phrase: language_prob[phrase]
    })()
stack_decoder = StackDecoder(phrase_table, language_model)
input_sentence = "he said that macedonian women were victims involved in prostitution during a recent sweep in bulgaria"
with open("translation.txt", 'a', encoding='utf8') as file:
    print("Input sentence: " + input_sentence)
    file.write("Input sentence: " + input_sentence + "\n")
    input_words = input_sentence.split(' ')
    translated_sentence = []
    temp_sentence = []
    previous_temp = []
    iteration_index = 0
    for i in range(0, len(input_words)):
        temp_sentence.append(input_words[i])
        translated_temp = stack_decoder.translate(temp_sentence)
        print(translated_temp)
        iteration_index += 1
        file.write("Iteration " + str(iteration_index) + ": " +
                   str(' '.join(translated_temp)) + "\n")
        if len(translated_temp) == 0:
            temp_sentence = []
            for word in previous_temp:
                translated_sentence.append(word)
            translated_sentence.append('_')
            translated_temp = []
        previous_temp = translated_temp
    if len(translated_sentence) == 0:
        translated_sentence = translated_temp

    print("Translated sentence: " + str(' '.join(translated_sentence)))