Я работаю с некоторыми транскрипциями, и я боролся с их нормализацией. Некоторые из них имеют квадратные скобки в других квадратных скобках для указания различных шумов / звуковых событий, которые могут быть обнаружены при прослушивании соответствующего аудиофайла. Это пример строки одного файла:
U012_W038 [other_speech_adult: [laughter] yeah you can you can read [undefined] tomorrow] [other_speech_adult: are you recording me now] this is annoying eh [noise] [noise_bkgspeech/]
В каждой строке формат соответствует
<audio file reference> <transcription>
Мой идеальный вывод будет:
- Получить текст, который не заключен в квадратные скобки: например: «это раздражает, эх»
- Извлекать текст, заключенный в квадратные скобки, только если найден «:». Текст, который нужно поймать, будет после двоеточия. Например: да, вы можете прочитать
Вывод должен выглядеть примерно так:
U012_W038 yeah you can you can read tomorrow are you recording me now this is annoying eh
Я пытался решить эту проблему с помощью sed, но я бы не стал возражать попробуйте perl или любой другой инструмент для обработки текста. Моя ближайшая попытка на данный момент:
sed 's/\[[^]]*]//g'
Как вы думаете, есть ли способ решить эту проблему с помощью кодирования или ручного контроля?
Заранее спасибо!