Мне нужно написать скрипт, вероятно, на Ruby, который будет брать один блок текста и сравнивать количество транскрипций записей этого текста с оригиналом для проверки точности. Если это просто сбивает с толку, я попробую объяснить по-другому ...
У меня есть записи нескольких разных людей, читающих сценарий длиной в несколько предложений. Все эти записи несколько раз транскрибируются обратно в текст другими людьми. Мне нужно взять все транскрипции (сотни) и сравнить их с оригинальным сценарием для точности.
У меня возникают проблемы даже с концептуализацией псевдокода, и я задаюсь вопросом, может ли кто-нибудь указать мне правильное направление. Есть ли установленный алгоритм, который я должен рассмотреть? Мне было предложено расстояние Левенштейна , но, похоже, оно не справится с более длинными строками, учитывая различия в выборе знаков препинания, пробелов и т. даже если бы каждое другое слово было идеальным. Я открыт для всего - спасибо!
Edit:
Спасибо за советы, психо. Однако одной из моих самых больших проблем является ситуация, подобная этой:
Оригинальный текст:
I would've taken that course if I'd known it was available!
Транскрипция
I would have taken that course if I'd known it was available!
Даже при сопоставлении токенов по словам, эта транскрипция будет помечена как довольно ошибочная, даже если она почти идеальна, а это едва ли крайний случай! «бы имел» и «хотел бы» обычно произносится очень одинаково, особенно в этой части мира. Есть ли способ сделать подход, который вы предлагаете, достаточно надежным, чтобы справиться с этим? Я думал о том, чтобы провести пословное сравнение как вперед, так и назад, и создать своего рода составную партитуру, но это распалось бы с такой транскрипцией:
I would have taken that course if I had known it was available!
Есть идеи?