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)))