Задача B. BLEU

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:8  

Условие

Метрика BLEU (Bi-Lingual Evaluation Understudy) чаще всего используется для оценки качества машинного перевода. Эта метрика предназначена для сравнения исходного предложения s1 и предложения s2, полученного в результате перевода.

Основная идея метрики BLEU заключается в подсчёте количества совпадающих фраз.

На первой стадии для предложений s1 и s2 выписываются множества всех встречающихся слов и подсчитывается количество совпадающих слов в первом и втором предложении. Эту величину обозначим 1gram. Далее величина 1gram делится на количество слов в предложении s2.

Так для s1 = "This is the wolf." и s2 = "The the the the the.", значение 1gram = 1 / 5 = 0.2.

На второй стадии выписываются все пары соседних слов предложений s1 и s2, и вычисляется количество совпадающих пар, эту величину обозначим 2gram. Величина 2gram также делится на количество пар соседних слов в предложении s2.

Аналогичным образом вычислим 3gram и 4gram.

Помимо указанных выше величин при расчёте метрики BLEU используется штраф за то, что сгенерированный перевод слишком короткий Brevity Penalty (BP). BP = |s2| / |s1|. Где |s| — длина строки s.

BLEU = BP ⋅ 41gram ⋅ 2gram ⋅ 3gram ⋅ 4gram

На изображении приведён пример. SYSTEM A — это перевод первой системы машинного перевода, SYSTEM B — второй системы, REFERENCE — эталонный перевод.

Формат входных данных

Первая строка входного файла содержит строку s1.

Вторая строка входного файла содержит строку s2.

Входные строки состоят из латинских букв, пробелов и знаков препинания. Заглавные и строчные буквы не различаются при сравнении слов. Словом считается любая последовательность подряд идущих букв, ограниченная с обеих сторон концом строки, пробелом или знаком препинания.

Формат выходных данных

Выходной файл должен содержать единственное число — значение метрики BLEU для предложений s1 и s2 с точностью не менее 5 десятичных знаков после запятой.

Ограничения

1 ≤ |s1|, |s2| ≤ 1000

Примеры тестов

Стандартный вход Стандартный выход
1
Israeli officials are responsible for airport security.
Israeli officials responsibility of airport safety.
0
2
Israeli officials are responsible for airport security.
Airport security Israeli officials are responsible.
0.517950068118303 
3
This is the police Department of the city of Moscow in the Leninsky district.
This is the police Department of the the city of Leninsky district the Moscow.
0.5847065326973129

0.133s 0.009s 15