Eu tenho dois corpora paralelos alinhados por sentenças (arquivos de texto) com cerca de 50 mil palavras. (do Europarl corpus -> tradução paralela de documentos legais). Agora eu gostaria de embaralhar as linhas dos dois arquivos, mas ambos da mesma maneira. Eu queria abordar isso usando gshuf (estou em um Mac) usando uma fonte aleatória única.
gshuf --random-source /path/to/some/random/data file1
gshuf --random-source /path/to/some/random/data file2
Mas recebi a mensagem de erro end of file
, porque aparentemente a semente aleatória precisa conter todas as palavras que o arquivo a ser classificado contém. Isso é verdade? Se sim, como devo criar uma semente aleatória que seja boa para minhas necessidades? Se não, de que outra maneira eu poderia aleatoriamente os arquivos em paralelo? Pensei em colá-los juntos, aleatoriamente e depois me separar novamente. No entanto, isso parece feio, pois eu precisaria primeiro encontrar um delimitador que não ocorra nos arquivos.
random sources
. Quanto apaste
, você pode usar como delimitador algum caractere de baixo ASCII que é improvável que ocorra em seus arquivos (como\x02
,\x03
...).