У меня есть две параллельные тела (текстовые файлы) с выравниванием по предложениям, содержащие около 50 миллионов слов. (из Europarl corpus -> параллельный перевод юридических документов). Теперь я хотел бы перемешать строки двух файлов, но оба одинаково. Я хотел подойти к этому, используя gshuf (я на Mac), используя один уникальный случайный источник.
gshuf --random-source /path/to/some/random/data file1
gshuf --random-source /path/to/some/random/data file2
Но я получил сообщение об ошибке end of file
, потому что, очевидно, случайное начальное число должно содержать все слова, которые содержит файл для сортировки. Это правда? Если да, то как мне создать случайное семя, подходящее для моих нужд? Если нет, каким образом можно параллельно рандомизировать файлы? Я думал о склеивании их, рандомизации и последующем разделении. Тем не менее, это кажется уродливым, так как мне нужно было бы сначала найти разделитель, который не встречается в файлах.
random sources
. Что касаетсяpaste
, вы можете использовать в качестве разделителя какой-нибудь символ низкого качества, который вряд ли будет встречаться в ваших файлах (например\x02
,\x03
...).