Почти случайно написал Perl-модуль для расстановки переносов на основе простой нейросети с обратным распространением. Обучить можно расставлять переносы в любом языке. При достаточно большом корпусе входных текстов наверняка можно научить лечить проблемы типа е/ё, -ться/-тся1 и т.д. Взять можно на GitHub. В комплекте минимальная POD-документация и пример для русского языка с уже обученной сетью. Точность с текущей сетью оценивать не берусь, но на глаз 90% — слишком мало входных данных. Обучал на корпусе, полученном с помощью алгоритма Ляна-Кнута2.