1.1) Сейчас "Правда" переводит с английского на русский. Есть ли (будет ли)
русско-английский переводчик (переводчик с других языков)?
"Правда" написана так, что к ней можно приделать перевод с любого языка
на любой. Чтобы построить первую версию переводчика с произвольного языка,
нужно решить две проблемы: а) нужны словари (в формате "Правды"),
б) нужно описание грамматики (файл lang.txt). Один язык - это примерно
один человеко-год работы. Переводить будет как кхм... присно памятный
Стилус (играть роль подстрочника). "Хороший" перевод - пока не умеет
делать никто, в том числе и мы.
1.2) Когда появится GUI?

"Правда" - это программа, переводящая текст в текст. Более того, все
объекты, с которыми она работает являются 100% текстовыми. Поэтому для
нее естественным является "Текст-юзер-интерфейс". В ближайшее время так и
останется. Это однако не означает, что "Текст-юзер-интерфейс" не будет
улучшаться.
"Правда" специально написана так, чтобы к ядру можно было бы прикрутить
любой интерфейс. Каталог face - содержит исходники интерфейса, каталог
trans - ядро перевода. С удовольствием отдам задачу интерфейса какому-нибудь
талантливому программисту и сосредоточусь на ядре.
1.3) Любой ли человек может установить и научиться пользоваться "Правдой"?
Любой при условии, что он может прочесть, понять и исполнить инструкцию.
У 90% юниксоидов это получается с первой попытки, или после однократной
консультации. То есть некоторый, не очень высокий "ценз пряморукости"
присутствует.
1.4) Почему название такое ("Правда")?
Чтобы название ассоциировалось и запоминалось. Опять же, хотелось, чтобы
была какая-то ассоциация с моей предыдущей популярной программой ("Слово").
1.5) Ведется ли сейчас работа по проекту "Правда" или она уже заброшена?
A "Правда" как Ленин - живее всех живых. Однако "Правда" - это очень наукоемкая
программа. По-этому ее не получается развивать постепенно. Приходится делать
большие периоды, когда занимаешься исследованями, а код (функциональность)
программы практически не растет. Ну и бывают случаи, когда "идем не в том
направлении".
Вот например правдивая история о том, что происходило между выпуском версий
0.3.0 и версией 0.4.0
faq1.html
Вопросы, касающиеся качества перевода
2.1) Что означает слово #фигня# в переводе?
Слово #фигня# означает, что программа не смогла разобраться в грамматической
структуре фразы. В этом случае программа дает простой подстрочный перевод.
Слово #фиг# означает, что структура фразы понятна не до конца. Что может,
программа переводит связно, дальше - снова подстрочник. Жду предложений, как
более "прилично" обозначить эти две ситуации.
2.2) "Naked conductor runs along the roof" - и как это будет выглядеть в
профессиональном переводе на русский?
Тонкий юмор ситуации в том, что это ДВУСМЫСЛЕННАЯ фраза. Первый смысл -
"Голый кондуктор бежит по крыше". Второй смысл - "Неэкранированный провод
проходит по крыше". И тот и другой перевод - правильный. Если человек не
всегда понимает какой перевод правильный, то и программа не сможет этого
понять. Программа лишь дает (по клавише F9 ) список возможных вариантов
перевода. Пока от нее "неправильно" хотеть большего.
2.3) "Дважды ударьте по пуговице" (dobleclick the button)
Ну... а что программа должна делать, если в английском слово "button"
означает и "почка" (человеческая) и "кнопка"? Сейчас программа по умолчанию
дает перевод, который первым указан в словаре. В принципе "Правда" имеет
окно последовательного ручного выбора вариантов перевода (есть на скриншоте).
В принципе, прежде чем смеяться, посмотрите, нет ли в потрохах правильного
варианта (часто бывает).
2.4) Кто-нибудь использовал в качестве входного языка искусственные языки типа
Эсперанто? Не упростится ли задача благодаря их регулярной (по слухам)
структуре.
Действительно ОЧЕНЬ СИЛЬНО упрощается. Сейчас программа умеет переводить
с Эсперанто и с английского. Перевод с Эсперанто на порядок лучше -
то есть работает в 10 раз быстрее, памяти жрет в 3 раза меньше, перевод
получается несколько корявый, но понятный и не вызывающий смех. Все-таки
люди, придумавшие Эсперанто, очень сильно головой подумали.
Вы не спрашивали, но я все равно скажу. Если хотите ознакомиться с Эсперанто,
то вот есть хорошая ссылка (учебник):
http://www.esperanto.mv.ru/
Если заниматься по этому учебнику, то через две недели Вы будете понимать
Эсперанто, как Ваш нынешний английский (не обольщайтесь по поводу своего
английского), а через три месяца будете говорить, как на родном языке.
Вопросы участников проекта
3.1) Как принять участие в проекте "Правда"? Обязательно ли для этого иметь
лингвистическое (компьютерное) образование?
Для этого надо написать по адресу prawda@newmail.ru . Сейчас проекту "Правда"
нужны участники двух типов - программисты и лингвисты. Одни знают "как"
делать, другие знают "что" делать. Для успешного развития проекта нужно,
чтобы эти две категории людей наладили эффективную совместную работу.
Специалистом в обеих областях сразу быть не обязательно.
Список очередных работ лежит тут:
forward1.html
Вопросы, задаваемые программистами
4.1) А почему у вас не используется...
"Правда" - это проект, в котором поставлена очень большая задача, и в то
же время ресурсы экстремально ограничены. Поэтому мы используем не то что
"можно использовать", а то "без чего нельзя обойтись".
В этой связи хочу напомнить историю о том, как американцы потратили больше
миллиона долларов, на то, чтобы изобрести авторучку для невесомости, а
русские просто взяли в космос карандаш.
4,1.2) А почему у вас не используется CVS?
Потому же, почему в современных телевизорах нет сетевого трансформатора, -
эти задачи (в наших условиях) лучше решаются другими способами. А на работе
CVS я использую, там это к месту.
4.1.3) А почему у вас не используется automake/autoconf ?
Не то, чтобы я был принципиальным противником этих тулзов... Просто мне
кажется, что в данном случае это "из пушки по воробьям". Все-таки сейчас
используется только библиотека Xlib
4.1.4) А почему у вас не используется библиотека Qt ?
Во-первых, я считаю, что "текст-юзер-интерфейс" более соответствующим
решаемой задаче. А во-вторых, Qt - это "Микрософт в мире ЮНИКС". То есть это
удобная библиотека для создания интерфейсов. Но у нее слишком часто выходят
новые версии, и при этом изменяется набор функций. Поскольку мы пишем
программу не на год и даже не на десятилетие, мы должны выбрать другой
инструмент. Более надежный, более "неизменный", более кроссплатформенный.
(А на работе я Qt использую - очень приятные впечатления.)
4.2) Будет ли оптимизация использования памяти (Сейчас "Правда" жрет 100М)?
Наверное, этим надо будет заняться, но не сейчас, а позже. Сейчас многие
вещи запрограммированы самым простым способом из всех возможных. Это
связано с тем, что у этого проекта очень большая научная часть, а делают
его всего два (с половиной) человека.
4.3) Почему нет программы-конвертера словарей в формат "Правды".
Файл mhistory.tar.bz2 содержит историю конвертирования словаря Мюллера в
формат "Правды". Это очень непростая работа, которая заняла у меня примерно
полгода. Эту работу пока невозможно поручить компьютеру.
4.4) Почему не используется принципы Нейросети?
Нейросети - это очень давно появившаяся идея. Я о них слышал еще в начале
80-х. До сих пор они не дали результатов, пригодных для машинного перевода.
Вероятно, эта идея плохо ложится на нашу задачу. Во всяком случае, я не
представляю, как это можно использовать в нашем проекте.
4.5) Наверное, было бы правильным рассказать о проекте "Правда" в конференции
языковедов, лингвистов.
Как ни странно (на самом деле это закономерно), в нашей стране очень
хорошие лингвисты. Они даже читают linux.org.ru . Сейчас в проекте на
одного программиста приходится один лингвист. Мне кажется, что это
оптимальное соотношение.