Команда, занявшая первое место, решала совершенно другую задачу.
Команда, занявшая второе место, решала одну задачу с нами, и предсказательная модель была примерно такой же, но они успели глубже уйти в описательный и объясняющий анализ
Можно посмотреть их презентации: ai-community.com/otchet_sibur_hackathon
Код сырой и разбросанный. Но по сути он делает примитивную вещь: берёт все пары показателей, для каждой пары считает корреляцию с разными лагами по времени, выбирает тот лаг, на котором корреляция максимальна. На граф попадают пары показателей, у которых максимальная корреляция больше порога, направление стрелочки показывет знак лага. Граф отрисовывается с помощью networkx.
1) Да, с помощью словаря и перебора задача вставки букв решается проще. Но я взялся за усложнённую версию задачи, ибо:
любой словарь далёк от полного (особенно в языках типа русского с активным словообразованием), и незнакомые слова всё равно будут попадаться
если словарь очень большой, его полный обход займёт больше времени, чем beam search
раз мы всё равно запоминаем частоты для выбора альтернативных расшифровок,
почему бы не использовать их для выбора букв тоже?
2) Инверсии, повторения букв, ошибки в правописании, результаты неправильного переключения en/ru — всё это учитывается в полноценных опечаточниках (например, в поисковых системах). Я же решил, что для статьи достаточно одной фичи — остальное читатели сами могут сделать по аналогии, если захотят.
sfocusov, тут есть два подхода.
Можно get-запросами тягать сырые странички, и парсить с помощью beautifulsoup — вот здесь есть пример habrahabr.ru/post/280238
А если ваши странички сложные, и там должны отрабатывать джаваскрипты, то можно использовать Selenium, чтобы управлять из питона браузером — как тут vk.com/wall-130785301_96 или тут habrahabr.ru/post/131966
В результате тексты статей (без картинок) заняли у меня 1.5 гигабайта, комментарии с метаинформацией (автор, дата, голоса...) — ещё 3, и около сотни мегабайт — метаинформация о статьях. Такое можно полностью держать в оперативной памяти, что было для меня приятной неожиданностью.
Команда, занявшая второе место, решала одну задачу с нами, и предсказательная модель была примерно такой же, но они успели глубже уйти в описательный и объясняющий анализ
Можно посмотреть их презентации: ai-community.com/otchet_sibur_hackathon
networkx
.Там тайм-аут большой, пока бесплатный аккаунт на heroku просыпается)
почему бы не использовать их для выбора букв тоже?
2) Инверсии, повторения букв, ошибки в правописании, результаты неправильного переключения en/ru — всё это учитывается в полноценных опечаточниках (например, в поисковых системах). Я же решил, что для статьи достаточно одной фичи — остальное читатели сами могут сделать по аналогии, если захотят.
А вообще, спасибо за замечания по существу :-)
Можно попробовать спросить у его админов :)
Можно get-запросами тягать сырые странички, и парсить с помощью beautifulsoup — вот здесь есть пример habrahabr.ru/post/280238
А если ваши странички сложные, и там должны отрабатывать джаваскрипты, то можно использовать Selenium, чтобы управлять из питона браузером — как тут vk.com/wall-130785301_96 или тут habrahabr.ru/post/131966
Можно ссылку на статью Ализара? :)