Без заголовка
>Эти все проблемы понимаются, и они потихоньку решаются.
Не решаются они -- классификация тут бинарная, а не "50% решённой проблемы лучше 40%". Для большинства задач нужно количество ошибок на порядок меньше текущего количества ошибок, а иногда и на несколько порядков.
Так что пытаются решить, но ничего ещё не решилось, кроме проблемы "computer aided classification" -- когда компьютер делает отсев явно неподходящих вариантов, а человек уже доделывает остальное.
>Наличие параллельных корпусов текстов: используются парсеры и переводчики (компиляторы) уже имеющиеся, при этом даже генерализация происходит, ошибка уменьшается -- http://arxiv.org/abs/1412.7449.
Понимаете, "ошибка уменьшается" -- это не аргумент. Может, она уменьшается до ненулевой константы, и нужно будет всё выкинуть и начать заново. У методов, основанных на правилах, тоже "ошибка уменьшается" уже много десятилетий, но без боли на результат компьютерного перевода всё ещё не посмотришь.
>language-agnostic computer science space
Есть SDK и API, которые по сути language-agnostic.
>Для языков программирования вполне подойдёт любой компилятор и корпус текстов на исходном для него языке: второй язык мы получим компилированием в него. Для красоты можно компилировать в разные машинные языки, для многих компиляторов поддержка разных целевых типов CPU имеется. Люди-то не стоят на месте, они думают, работают. Кстати, работа с машинными языками и обучением началась для генерализации в распознавании вирусов. Хотя эта работа в самом зачатке и не совсем то, что мне интересно было бы в части онтологии language-agnostic computer science space. И текущие ходы приведут, конечно же, к какому-то Wintel-ARMdroid space, но тем не менее.
А вы использование модели мира в языке вы совсем игнорируете?
Скажем, GUI-код из одного фреймворка в другой вы никогда нормально не переведёте, потому что там есть state, и управление этим state делается по-разному и находится в управлении фреймворка.
То же самое и с Runtime model: в одних языках типы статические, в других динамические.
Вообще, преобразование из одной VM (Virtual Machine) в другую VM -- это в принципе нерешаемая NP-экспонентная задача, можно лишь заниматься её частными случаями и придумывать частные приближённые решения, скажем, просто закодировать саму VM в другой VM как подпрограмму.
>Насчёт противопоставления эволюции против революции -- это ведь тоже дилетантизм ;) Погуглите про доказательства evolution by jerks (эволюции через революции) вместо evolution by creeps (постепенным улучшениям). Эвлюция только через революции и происходят в реальной жизни и эмуляциях, а противопоставление эволюций и революций было приемлемым только до середины 70-х годов прошлого века.
А я не их противопоставляю -- а сомневаюсь в высказанной вами линейности прогресса.
Если вы не сомневаетесь в революционности процесса -- тогда должны понимать, что в любой момент та часть прогресса, которая не основана на возрастании мощности компьютеров, может "застрять".
>Опять же, есть аргумент "про мозги": если уж мозги человечьи как-то смогли породить современное разнообразное формальное знание и овладеть языками, и основаны эти мозги на нейронной сетке, то и сухие нейронные сетки смогут справиться -- не сразу, конечно, но и не через десятки тысяч лет, как это происходило путём работы мокрых человечьих нейронных сеток после их генетического-физиологического прихода в современное состояние и начала культурной деятельности человечества
Обезьяны и коты почему-то не смогли, обладая мозгом в 10 раз меньше человеческого.
А компьютерный мозг в миллион раз слабее человеческого. Стоит ли от него ожидать того, что мы ожидаем от человека?