Лексический анализ песен капоэйры


Новости и отчеты     песни, Capoeiralyrics, тексты, статистика, алгоритм, транслитерация

Лексический анализ песен капоэйры

Немного предыстории

Когда я начинал проект Capoeira Lyrics, я думал, что хорошо было бы иметь к каждому тексту транслитерацию. Для новичков, которые только начинают заниматься капоэйрой и ни капли не знакомы с особенностями транслитерации португальского языка, это было бы очень кстати. Я даже выделил специальное поле, которое, по моим задумкам, должно было бы заполняться наравне с текстом песни и переводом. Но, как обычно бывает, со временем энтузиазм немного угас, поменялось место работы и я переключился на другие проекты и занятия. Спустя некоторое время я вернулся к проекту, начал вести промо-группу вКонтакте и заливать контент. Многие высказывали свои пожелания, да и у меня самого к этому времени уже сформировался список первоочередных задач и идей, которые хотелось бы реализовать в рамках этого проекта.



Автоматическая транслитерация

Сейчас, взгляд немного поменялся — я четко знаю в каком виде хочу видеть capoeiralyrics и работаю над этим в свободное время. Начиная немного ближе знакомиться с португальским языком, я нашел вот этот документ, который зародил в голове следующую идею: "Почему бы не генерировать транслитерацию автоматически и избавить пользователя от заполнения лишнего поля?", тем более, что правила транслитерации практически полностью алгоритмизируемы. Вообще, я не очень люблю "изобретать велосипеды" и я начал искать в интернетах сервис португальско-русской транслитерации, который можно было бы интегрировать в проект. К сожалению, не нашел, и начал писать простой алгоритм, который будет это делать.



Алгоритм

Сначала, я попытался "в лоб" реализовать правила практической транскрипции, но наткнулся на ряд проблем, связанных с определением ударности/безударности слогов и всякие мелочи. Честно говоря, я с самого начала понимал, что придется каким-то образом модифицировать алгоритм, но пока не знал как. К тому же, первые тесты показали, что алгоритм работает некорректно в некоторых случаях и выдает недостаточно правильные результаты. Надо было что-то придумывать. Тогда я решил сделать "ход конём" и добавил правило, которое заменяло бы часто используемые в языке слова на заранее определенные транскрипции и не применяла бы к ним общие правила.



Лексический топ

С технической частью вопросов не возникло, но появилась другая проблема — где взять этот самый топ слов, которые нужно заранее оттранслитерировать. Гугл снова не ответил мне, но это оказалось хорошо, так как топы слов разговорной речи и слов из песен капоэйры наверняка отличались бы, в чем я потом и убедился. Имея достаточно большой архив сырого материала в виде песен с сайта, я написал скрипт, который пробежался по всем текстам и посчитал частоту вхождения каждого слова. Таким образом, была получена статистика по частоте использования слов в песнях капоэйры. Я отдал этот список своему тренеру на транслитерацию и в ближайшее время он будет интегрирован его в двухступенчатый алгоритм португальско-русской транслитерации и я выплюну его в виде небольшого сервиса в интернете.



А ещё ТОП 100 часто используемых слов с их переводами можно отдать ученикам в виде материала, который поможет понимать о чем поют в песнях или еще что-то... Можно попробовать сделать какой-нибудь вывод по этой статистике или не делать - в общем, ВОТ!