Я работаю над внедрением IBM Model 1. У меня есть параллельный корпус из примерно 2 000 000 предложений (с английского на голландский). Кроме того, предложения двух документов уже выровнены. Цель состоит в том, чтобы перевести голландское предложение на английский язык и наоборот.
Код, который я использую для генерации выравниваний:
A = pair_sent[0].split() # To split English sentence
B = pair_sent[1].split() # To split Dutch sentence
trips.append([zip(A, p) for p in product(B, repeat=len(A))])
Теперь есть пара предложений с неравнымколичество слов (например, 10 на английском и 14 в переводе на голландский). Наш профессор сказал нам, что мы должны использовать NULL или пропустить слово. Но я не понимаю, как это сделать? Куда вставить NULL и как выбрать слово, которое нужно отбросить.
В конце я требую, чтобы пара предложений имела одинаковое количество слов.