Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Контролируемые естественные языки

Контролируемые -- это когда "шаг вправо, шаг влево -- побег". Это не "управляемые". Controlled natural languages в академическом мире использовались довольно давно, и даже нашли свой путь в промышленность (см. http://sites.google.com/site/controllednaturallanguage/). Вот свеженькие результаты: контрольные замеры по пониманию контролируемого английского по сравнению с формальным логическим языком (http://attempto.ifi.uzh.ch/site/cnl2009/slides/slides_kuhn.pdf) -- где-то на 10-25% лучше по разным показателям (число ошибок, скорость обучения и т.д.). Это означает, что овчинка контролируемых языков стоит выделки -- хотя размер этой выгоды обсуждаем. Докторская диссертация Tobias Kuhn описывает подробно, как решать типовые проблемы контролируемых естественных языков: http://attempto.ifi.uzh.ch/site/pubs/papers/doctoral_thesis_kuhn.pdf (еще инструментарий для помянутого там ACE можно найти тут: http://attempto.ifi.uzh.ch/site/). Очень интересно, как изменились бы результаты его экспериментов, если бы использовался контролируемый русский (ежели такой есть).

В почтовом списке онтологов прошла недавно огромная дискуссия про то, что FOL слишком трудна для восприятия обычными людьми. Обсуждали люди, для которых логические языки являются чуть ли не родными. Естественно, они пришли к выводу, что счастье в чем-то типа Common Logic (c некоторыми расширениями), а "обычных людей" нужно тренировать для работы с FOL -- "если уж инженеров натренировали хоть в какой-то математике, то и в FOL натренируют, никуда не денутся".

Интересно, если согласиться, что "никуда не денутся", и вспомнить про Curry-Howard, то проще их научить функциональной парадигме или логической? И смежный вопрос -- а почему функциональные языки процветают, а логические так и влачат маргинальное существование со времен компьютеров пятого поколения? Haskell вот у всех на слуху, заменяя и Лисп и Схему, а из логических языков разве что Prolog продолжает быть маргинально популярным -- а он 1972 года выпуска! Опять же, логические языки в controlled english отображаются в количестве, а про отображение функциональных языков что-то не слышно.

В программировании, конечно, будет процветать мультипарадигмальность. Но вот что будет процветать для продвинутых конечных пользователей? Ведь у каждого DSL тоже есть "парадигма"...
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 84 comments