Удобные для парсинга английские варианты есть на shakespeare.mit.edu. В HTML текст уже разделен на акты, сцены и пронумерованные реплики. Русские переводы есть на lib.ru/SHAKESPEARE. HTML для парсинга неудобен, но plain text можно разбить на реплики регулярными выражениями.
Здесь находятся 3 скрипта, которые делают следующее:
- mit2xml: преобразует пьесу с mit.edu в XML.
- libru2xml: преобразует пьесу с lib.ru в XML.
- concat-en-ru: склеивает два XML по репликам и генерирует один HTML-файл.
$ make tempest
Необходимые перловые модули можно установить с помощью пакетного менеджера или так:
$ sudo make cpan
Результат можно посмотреть здесь.
Для форматирования других пьес потребуется создать файл с переводом имен героев, по аналогии с tempest_names.cfg. Он используется для нахождения соответствия между английскими и русскими репликами, которые не всегда идут один-в-один.
Список имен героев можно получить так:
$ perl mit2xml ... | grep '<actor>'
$ perl libru2xml ... | grep '<actor>'
Кроме этого, возможно, придется поколдовать в регулярными выражениями в libru2xml, они могут не подходить для других пьес.
Комментариев нет:
Отправить комментарий