February 5th, 2017

К вопросу о парсилке и моих кривых руках

Оригинал взят у scif_yar в К вопросу о парсилке и моих кривых руках
Дано:
Файл с субтитрами. в данном случае srt, но в целом то пофиг, дописать дело нехитрое.
Размером 80 кб.
Захотелось мне сделать на его основе словарь - какие слова я знаю, какие нет. Ну и дописать, если что.
Но готовой парсилки, так чтоб хуяк-хуяк, я что-то не нашел.
Пришлось самому, все самому.

Вот итог (с включенным прямо сверху в сам текст примером с GREP)
https://drive.google.com/file/d/0B7ti0fY0I0eLcTB2RlROWjhXRzQ/view?usp=sharing

Конечно, многое там можно сделать быстрей, не 100 раз по массиву ходить например, ну и вообще местами там ппц.
Однако работает и мою задачу - сделать список уникальных слов - вполне решает.
С 21 до 2 ночи, с перерывами на попездеть. 5 часов, и еще час утром, на сортировку.
Долго конечно.

This entry was originally posted at http://scif-yar.dreamwidth.org/16748.html. Please comment there using OpenID.



UPD. Как верно сказали, можно было проще. "Проще" добавлено в сабж как коммент.
grep -vP "^\d|^\s*$" Alice.eng.srt|sed 's|[\,\.\(\)\?\"\:\!\r]||g'|awk '{print tolower($0)}'|sed 's|<\/*[bi]>||g'|sed 's| |\n|g'|sort -u >Alice.eng.words.txt

итог сабжа - http://petr.winlink.ru/files_duplo/alice.eng.words.txt
Кино вот это https://en.wikipedia.org/wiki/Alice_in_Wonderland_(2010_film)
Немного статистики, кстати.
80 кб сабы содержат 6481 слово (ну, правда там еще какие-то служебные 1-2 попадаются).
После удаления дубликатов остается порядка 1300, причем попадаются и разные формы, например
absolute
absolutely
alice
alice's
are
aren't

попадаются и просто недочищенные ошибки -
bandersnatch
bandersnatch'
'beware

но порядок примерно тот же - около 1200-1500 слов.