Как говорят в указанной вами статье, теоретическое обоснование приведено в статье «Boilerplate Detection using Shallow Text Features» (Christian Kohlschütter, Peter Fankhauser, Wolfgang Nejdl // inproc WSDM, 2010). Посмотреть на неё можно, например, тут: www.decom.ufop.br/menotti/rp122/sem/sem1-brayan-milton-art.pdf.
Есть, например, boilerpipe, основанный на идеях вышеназванной статьи. Библиотека вполне рабочая.
Есть ещё онлайн-сервис выделения контента diffbot.com. Вполне нормальный, но цены у них поднялись последнее время. И триал получил ограничение на месяц.
Именно boilerpipe сначала хотел использовать, но проблема – у меня Java в стеке нет.
Несколько раз порывался разобраться в ней досконально и портировать “as is”, но так и не сделал.
Отлично, спасибо вам за статью и открытый исходник! Об используемых алгоритмах в таких сервисах не читал.
Пользуюсь Framabag, он делает примерно то же самое — Read-It-Later + выделение основного контента страницы. Тоже open source.
Блог должен быть облачным. Когда на одном домене число заходов приближается к 3к — домен резко меняется на другой, а на старом остаётся редирект. Можно проворачивать это с доменами седьмого уровня.
Пробовали как-то измерять качество? Для таких штук тесты ~ бесполезны. Обычно собирают крупный пул html страниц и соответствующего текста, а затем измеряют процент правильно извлечённого.
Из готовых решений с хорошим качеством могу порекомендовать rich content api яндекса.
А почему бесполезны? Собираю руками разнообразные страницы и сравниваю, что получилось, с моими эталонными ожиданиями (т.е. с текстом, который я сам руками скопировал с этой страницы). В основном тесты проходят, а если не проходят, то скрипт подвергается насилию.
Получается достаточно интересно, ну и регрессии.
На самом деле надо бы потыкать датасет CleanEval, который по-моему все кроме меня применяют для этой цели.
Ну не то чтобы бесполезны… Просто при наличии большого количества примеров небольшие изменения в алгоритме начинают влиять на то, какие из тестов проходят а какие нет. Например, можно разучиться распознавать пять примеров но научиться двадцать. По мере роста пула скрипт подвергать насилию всё сложнее, особенно если вёрстка не идеальна.
Readability своими руками