LINUX.ORG.RU

Новая версия машинного переводчика «Правда» 1.0.0

 


5

6

Вышла новая версия машинного переводчика «Правда» 1.0.0.

Список изменений по сравнению с предыдущей версией:

  • Интерфейс полностью переделан и заменён на Qt-шный.
  • Язык описания грамматики теперь не использует грамматики Хомского, он полностью переписан с учетом новых возможностей языка.
  • Переработан алгоритм.
  • Программа начала (относительно осмысленно) выбирать перевод слова из нескольких вариантов.
  • Появился IDE для лингвиста.
  • Появилась версия под MS Windows.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 8)
Ответ на: комментарий от Eddy_Em

Первый раз про такое слышу. только если гента загнется, этому дистру наверняка тоже не поздоровится!

С чего бы это?

Deleted
()
Ответ на: комментарий от Deleted

Когда я пишу программу на Си, я думаю не на русском или английском, а на Си.

Да? Ну и как на Си пишется слово «деепричастие»?

Если кому-то «мысли сковывает неродной язык», это говорит лишь о недостаточном владении программированием. Алгоритм не зависит от того, какими закоручками названа функция.

Если для твоих мыслей хватает одного Си, это значит, что у тебя очень примитивные мысли. Без предметной области.

Кстати, сколько тебе лет? Просто интересно.

Beria1937
()

Господа и товарищи!

У «Правды» есть свой фоум.
http://prawda.mybb.ru/

Там вы можете выссказать... что-нибудь в конструктивном ключе. Например у кого в каком дистрибутиве какая проблема с инсталляцией возникла. Потому что писать алгоритм перевода - это одно, а всякое оформление - это другое. Тут мне понадобится ваша помощь.

Beria1937
()

так вот чем теперь переводят новости на лоре!

PerdunJamesBond
()

Сначала они говорят «у меня нет времени делать это правильно, лучше я функциональный код попишу», а потом никто не захочет и не сможешь разобрать тот набор для ужаса из сборочной системы и прочее legacy.

Darth_Revan ★★★★★
()
Последнее исправление: Darth_Revan (всего исправлений: 1)
Ответ на: комментарий от Beria1937

А пустой этот форум :( Что ж до сабжа...
Поддался я на провокацию - попробовал поставить. Между исходниками и бинарником рискнул выбрать бинарник. То, что он позиционируется как для RHEL 6.xx, меня не остановило, хотя выбор, согласитесь, странный, особенно для фаната коммунистов, - коммерческий дистр. Хоть бы CentOS, что ли...
Ладно. На сусю 13.1 поставилось, хотя и с --nodeps. Перла пакет не нашел, видите ли - хотя он, естественно, в наличии есть. Запустилось даже. Бросилось в глаза сочетание как бы MDI-интерфейса (непривычно, но терпимо) с мелкими шрифтами (частично решилось правкой конфига - но привычные фонты оказались несовместимы по кодировке) и вырвиглазными цветами (как лечить, так и не понял). Самое досадное - это, однако, не интерфейс. При попытке выставить англо-русский перевод программа горько посетовала на отсутствие словаря base_fverb1. Я проверил - и правда, нет. Просто base_fverb есть, а вот base_fverb1 - увы... В общем, пока плюнул. Снес - так даже каталог со словарями и конфигурационный файл в моем хомяке пришлось подчищать вручную :( Ну что это такое...

PVOzerski ★★★
()
Последнее исправление: PVOzerski (всего исправлений: 1)
Ответ на: комментарий от Beria1937

Да? Ну и как на Си пишется слово «деепричастие»?

Вопрос некорректный. Корректный вопрос: «какая алгоритмическая модель стоит за структурой, названной вот так-то». Называется она «деепричастие», «dejeprichastie», «transgressive», «glagolski_prilog» или «ewoihjewbjhqew», влияет лишь на то, как быстро вы запомните идентификаторы в читаемом коде.

Структура может называться NameList, а реализовывать упорядоченное дерево чисел. «Ну потому что, вы понимаете, так сложилось», унаследованный код с 20-летней историей, всё такое. Не дайте словам себя обмануть.

Если для твоих мыслей хватает одного Си, это значит, что у тебя очень примитивные мысли. Без предметной области.

Это означает, что я оперирую алгоритмами и структурами данных, а не моделями, навязанными картиной мира русского языка. Придумывание идентификаторов — это от силы 1% интеллектуальных затрат программиста.

Кстати, сколько тебе лет? Просто интересно.

Такой вопрос в интернете — дурной тон. Но вообще мне 30+, если вам любопытно.

Deleted
()
Ответ на: комментарий от Darth_Revan

Сначала они говорят «у меня нет времени делать это правильно, лучше я функциональный код попишу», а потом никто не захочет и не сможешь разобрать тот набор для ужаса из сборочной системы и прочее legacy.

+1

Салютна антиинженерный подход. «Мы наплююём на стандарты индустрии, а потом удивимся, почему индустрия наплевала на нас.»

Deleted
()

Я думал, проект загнулся ещё в 2004 году.

Quasar ★★★★★
()
Ответ на: комментарий от Deleted

+100500

1. В лекции всё ясно и понятно.
2. Я сам к подобным методам прибегал неоднократно при разборе своих велосипедо-конфигов а-ля win.ini. Использовать, в таких случаях, построения к-либо грамматики - слишком жирно по обьёму кода.
3. Человек сумел математически обосновать очевидную вещь. Все использовали методы Берии, но спонтанно.
4. Нам преподавали ТРИЗ, но мало и зав. кафедры (именно он читал курс) нас не дрючил, потому эта тема, к сожалению, прошла мимо меня.(4ки на экзаменах не в счёт).

drfaust ★★★★★
()
Последнее исправление: drfaust (всего исправлений: 1)
Ответ на: комментарий от Beria1937

«хрен знает что» (ХЗЧ) - это такая специальная лингвистическая категория. Функция сделать_хрен_знает_что() делает хрен-знает-что и вносит его в синтаксическое дерево фразы-оригинала.

В квотез!!!

hobbit ★★★★★
()

Уважаемый автор программы переводчика «Правда»!

Понятно, что алгоритмизация - это ваша сильная сторона.

Но помимо творчества в чистом виде (а именно это сейчас представляют ваши исходники) необходимо и соответствие современным стандартам кодирования, если вы хотите, чтобы проект жил.

Ну как вам могло в голову прийти в 2014 году выпускать релиз 1.0 в кодировке KOI-8R на Qt2? Какой в этом смысл? Понятно, что оформление кода к современным требованиям - это достаточно механический процесс, но его надо делать, иначе ваша идея загнется несмотря на наличие реализации. А это будет обидно, потому что идея реально хорошая, а главное - рабочая.

Xintrea ★★★★★
()
Ответ на: комментарий от Eddy_Em

Это уж вообще получается забивание гвоздей микроскопом посредством долбежа по микроскопу телескопом!

И это в квотез...

hobbit ★★★★★
()
Ответ на: комментарий от Eddy_Em

Отсюда не следует, что он забил на ядро. Более того, он косвенно подтвердил важность проекта: «ядро стоит отдельно, и все знают, что его разработкой занимаются лучшие люди».

А позиция по systemd у него, скорее, политическая: он наблюдает за битвой инитов и выберет лучший. Если бы он считал, что всё совсем плохо, он бы написал свой (как написал свою VCS, когда понял, что ни одна из существующих его не устраивает). Своего инита он не пишет - значит, надеется, что хороший инит появится в результате конкуренции. А значит, нет смысла заранее давить авторитетом.

hobbit ★★★★★
()
Ответ на: комментарий от Eddy_Em

Я его застал в самом начале этого тысячелетия. И он был прелестен.

Я тоже помню то время. И там бывало такое, что текст не передавался через буфер от одного иксового приложения к другому, что совсем не прелестно. Может, конечно, мне с конкретными приложениями не повезло, но тем не менее... (Сдаётся мне, кстати, в случае победы wayland нас ждёт возврат в те былинные времена.)

Ещё линуксовые дистрибутивы рубежа тысячелетий характеризовались тем, что для того, чтобы такие замечательные проекты, как mc и mplayer работали в полную силу, их крайне желательно было собрать самому из исходников, поперебирав кучу ключей. mplayer при этом ещё и к версии gcc относился привередливо...

Короче, мне всё же кажется, что современный дебиан поприятнее тогдашнего редхэта будет.

hobbit ★★★★★
()
Ответ на: комментарий от Beria1937

Если для твоих мыслей хватает одного Си, это значит, что у тебя очень примитивные мысли. Без предметной области.

Зря вы вообще на этот форум стали писать. Только потеряете время. Тут у 99% тыжпрограммистов нет понимания, насколько важно формулировать решение в терминах предметной области. А еще лучше - с использованием родного языка.

Тут с овном смешают за упоминание русскоязычного синтаксиса в 1С, хотя это прописано в корпоративном стандарте кодирования 1С для российского рынка и нынче 1С уже полностью стало православным кроссплатформенным решением.

Они застряли на детерминированном уровне программирования и считают, что задачу можно описать на любом алгоритмическом языке, совершенно забывая, что родной язык, на котором человек думает - это главный помощник в деле решения любой сложной задачи. Поэтому тут и не умеют решать сложные задачи. Большие задачи - умеют. А сложные - нет. Так что вам тут делать нечего, пожалейте свои нервы, вас все равно не поймут.

Xintrea ★★★★★
()
Ответ на: комментарий от drfaust

Все использовали методы Берии

Сегодня просто день прекрасных фраз :)

hobbit ★★★★★
()
Ответ на: комментарий от Xintrea

Они застряли на детерминированном уровне программирования и считают, что задачу можно описать на любом алгоритмическом языке, совершенно забывая, что родной язык, на котором человек думает - это главный помощник в деле решения любой сложной задачи.

Мне одному показалось, что Вы путаете язык описания алгоритма (или тем более предметной области) и язык программирования?

Предметную область на родном языке описать можно и нужно, только вот программное воплощение обычно делает другой человек и другими средствами.

Или как вариант, если описывать лексические конструкции русского языка на русском же - напрашивается некий отдельный макроязык, который интерпретируется этой программой или даже компилируется в некий байткод.

А когда в сишечку тащатся русские имена функций - по-моему, получается и не туда, и не сюда.

hobbit ★★★★★
()
Ответ на: комментарий от Manhunt

А я даже такой код видел в студии...

Как увидел, так и убежал.

anonymous
()
Ответ на: комментарий от Deleted

На самом деле, хрюникод - это ад. Тут я решил накалякать библиотеку на крестах для работы с CUE костылями, которые в хрюникоде, так даже не знаю, что со строкой делать, внутри то разберусь, а вот что возвращать плеерам? Qstring - нет желания привязываться у такому монстру, как Qt, gtkstring или как оно там, аналогично, запихивать в std::string можно, клнечно, но это кривой и уродливый костыль, wstring - нет гарантии, что влезет, вдруг какому-то нихорошему человеку пришло в голову запихнуть туда символ из конца юникода?

anonymous
()

бомба года! лучшая новость года, однозначно.

эх, ей бы ещё что-нибудь, без графики, чтобы в stdin скормил, а из stdout получил ответ...

odii
()
Ответ на: комментарий от hobbit

в случае победы wayland

линуксу точно капец.

чтобы такие замечательные проекты, как mc и mplayer работали в полную силу, их крайне желательно было собрать самому из исходников

было такое, да. И иногда еще пропатчить надо было. Зато линукс был дружественным. А сейчас все хуже и хуже.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от hobbit

Ещё линуксовые дистрибутивы рубежа тысячелетий характеризовались тем, что для того, чтобы такие замечательные проекты, как mc и mplayer работали в полную силу, их крайне желательно было собрать самому из исходников, поперебирав кучу ключей. mplayer при этом ещё и к версии gcc относился привередливо...

Вы так говорите, будто что-то изменилось. Мне, чтобы «mc работал в полную силу», пришлось пропатчить mc, пропатчить gpm, и предстоит пропатчить ядро.

Deleted
()

Напомнило «Pravda means „Truth“ » Хайнлайна. Чтож, заценим!

Pyzia ★★★★★
()
Ответ на: комментарий от Deleted

А на чём надо? На тормознутом питоне?

anonymous
()

А язык Go, между прочим, из коробки поддерживает юникодные идентификаторы. Хорошо бы Правду на Go переложить.

anonymous
()

Даёшь ebuild хомячку

dr04 ★★
()

Моя замечательная Книга. (Пока нету, потому что хочу получить Денег)

Зашёл на onebook.ru и... я правильно понял, что Книгу смогут купить только москвичи?

anonymous
()
Ответ на: комментарий от Manhunt

Кстати по поводу магазина, я бы вот купил, только в электронном виде здесь и сейчас, а бумажный вариант мне не очень и нужен.

Beria1937, внизу можно нажать «Показать удаленные комментарии», там есть некоторые мои сообщения по части исполнения программы.

EvilFox ★★
()

Оно может в «Лесной Болван»?

anonymous
()
Ответ на: комментарий от Deleted

Кстати, сколько тебе лет? Просто интересно.

Такой вопрос в интернете — дурной тон. Но вообще мне 30+, если вам любопытно.

Ты же не девушка. Это не наезд, а просто мне надо знать, на каком языке с тобой разговаривать. Тридцатилетние и сорокалетние разговаривают по-разному.

Да? Ну и как на Си пишется слово «деепричастие»?

Вопрос некорректный. Корректный вопрос: «какая алгоритмическая модель стоит за структурой, названной вот так-то». Называется она «деепричастие», «dejeprichastie», «transgressive», «glagolski_prilog» или «ewoihjewbjhqew», влияет лишь на то, как быстро вы запомните идентификаторы в читаемом коде.

В больших проектах (больше мегабайта) код должен быть понятен с первого прочтения. Потому что второй раз его уже будет читать другой человек. Поэтому название должно соответсвовать смыслу. И лучше это название будет на родном языке. Да и вообще - объём человеческой памяти ОЧЕНЬ ограничен. И тратить его на названия переменных - это добровольно таскать на себе ненужный груз.

Beria1937
()
Ответ на: комментарий от Beria1937

Зачем тогда мучать себя и других C++? Описать DSL, написать транслятор. С вашими навыками это должно быть элементарной и самоочевидной задачей.

aedeph_ ★★
()
Ответ на: комментарий от Xintrea

Ну как вам могло в голову прийти в 2014 году выпускать релиз 1.0 в кодировке KOI-8R на Qt2? Какой в этом смысл? Понятно, что оформление кода к современным требованиям - это достаточно механический процесс, но его надо делать, иначе ваша идея загнется несмотря на наличие реализации. А это будет обидно, потому что идея реально хорошая, а главное - рабочая.

Как мне кажется, идея не загнётся. А как пришло в голову, сейчас расскажу. Как ты понял, я очень большой оригинал, который любит шокировать публику. Чтобы от удивления публика открывала рот.

Так вот... В такой популяроной области найти что-то новое можно только если сойти с проторенных дорог. Попробовать сделать что-то не так, как все делают. Поэтому в программе «Правда» очень многое сделано «не так как принято». И на каждом таком «странном» шаге я выигрывал примерно десятикратно. (А в сумме в тысячу раз за счёт синергетического эффекта).

Кодировка KOI-8R - не является препятствием для человека, который хочет разобраться. А почему я её использую - ну я вообще при написании программ не использую IDE. Они мне мешают. У них слишком крупные шрифты и слишком большие расстояния между строками и они слишком много места отъедают с экрана. Поэтому я использую nedit. Он старый, древний, и не понимает юникод. Но показывает в ДВА раза больше текста. При работе это важно.

Теперь про QT-2. А собственно, зачем нужна более новая версия? Чем старая мешает? Я понимаю, что капиталисту нужно продавать новые фичи, но мне-то это зачем? Новое - не всегда означает лучшее. Мне нужна была простая вещь - подсвечивать текст разными цветами. Новые версии умеют это делать, но через жопу (документную модель). А я не хочу документную модель. Я хочу задать цвет букве с координатами x и y. Старая библиотека по объёму в десятки раз меньше новой. Я просто нашёл, где это можно сделать, и сделал. Ну и ещё пяток изменений, которые были мне нужны. Как бы я это сделал в новой Qt? А как бы я пользователю отдавал патченную Qt?

Beria1937
()
Ответ на: комментарий от anonymous

А язык Go, между прочим, из коробки поддерживает юникодные идентификаторы. Хорошо бы Правду на Go переложить.

«Правду» можно на что хочешь переложить. Там алгоритм перевода что-то около 100 килобайт на С++ (это при всём его многословии). Основную ценность представляют словари и грамматики.

Beria1937
()
Ответ на: комментарий от Manhunt

В общем, хреново интернет-магазин работает. Продать мне вашу книжку они не асилили.

Расскажи, что не получилось. Пойду с ними поругаюсь. Вдруг поможет?

Beria1937
()
Ответ на: комментарий от EvilFox

Кстати по поводу магазина, я бы вот купил, только в электронном виде здесь и сейчас, а бумажный вариант мне не очень и нужен.

Нуу... Я не умею продавать книги в электронном виде... Через год просто выложу на своём сайте pdf-ку. А пока хочу денег. Пусть это и копейки.

Beria1937, внизу можно нажать «Показать удаленные комментарии», там есть некоторые мои сообщения по части исполнения программы.

Нуу... если хочешь, чтобы твои мысли не пропали, пиши мне на prawda@newmail.ru . Потому что тут я могу что-нибудь пропустить. Видишь - подростки в этой ветке уже начали пиписьками меряться.

Beria1937
()

Господа и товарищи!

Выложил новую версию. По идее косяк с английским языком должен исправиться.

Beria1937
()
Ответ на: комментарий от Beria1937

Теперь просто не переводит текст и пишет в подстрочнике очень много «?не знаю?» кроме «to», «can» — их определило, ну и в переводе написано #фиг#. А когда из файла пытаюсь загрузить вообще падает. Программе нехватает осмысленных ошибок с механизмом исключения. Вообще уронить программу очень легко — шаг влево, шаг вправо — расстрел.

EvilFox ★★
()
Ответ на: комментарий от EvilFox

Теперь просто не переводит текст и пишет в подстрочнике очень много «?не знаю?» кроме «to», «can» — их определило, ну и в переводе написано #фиг#. А когда из файла пытаюсь загрузить вообще падает. Программе нехватает осмысленных ошибок с механизмом исключения. Вообще уронить программу очень легко — шаг влево, шаг вправо — расстрел.

У меня, когда я загружаю из файла программа не падает. Такое впечатление, что у тебя не такая программа, как у меня :-) Ты её наверное из исходников собирал? Давай дальнейшую симптоматику в почту. prawda@newmail.ru

Beria1937
()
Ответ на: комментарий от yoghurt

Девочка из магазина позвонила голосом. Договорились, что курьер также отзвонится и сегодня подъедет.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от yoghurt

Всё, приехала книженция. Формат - листы А4 в мягком переплете. Внутри текст, кусочки кода (легко обозримые, не простыни), на последних страницах - цветные картинки. Текст вроде бы неплохо структурирован (главы-параграфы-подпараграфы, кое-где какие-то перечисления по пунктам 1-2-3-...). ШГ, к сожалению.

Ну а что там по существу понаписано - сейчас посмотреть нет возможности. Надеюсь, что книжка не разочарует и я смогу что-нибудь любопытное для себя из нее почерпнуть.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)

Раз уж покупка получилась такой эксгибиционистской, то напишу, почему собственно купил.

Дело в том, что книжка написана человеком, который лично прошел путь от теоретических измышлений до реально работающей программы. У него в голове сформировано некое понимание, достаточно глубокое и верное для того, чтобы породить автоматизированный переводчик. На мой взгляд, это дорогого стоит.

Manhunt ★★★★★
()
Ответ на: комментарий от hobbit

Мне одному показалось, что Вы путаете язык описания алгоритма (или тем более предметной области) и язык программирования?

Предметную область на родном языке описать можно и нужно, только вот программное воплощение обычно делает другой человек и другими средствами.

Или как вариант, если описывать лексические конструкции русского языка на русском же - напрашивается некий отдельный макроязык, который интерпретируется этой программой или даже компилируется в некий байткод.

А когда в сишечку тащатся русские имена функций - по-моему, получается и не туда, и не сюда.

Я не путаю, а настаиваю, что язык программирования должен приближаться к языку предметной области. Кстати, необязательно чтобы это был непосредственно сам язык реализации. Синтаксические надстройки, расширение языка, конфиги своего формата, в конце концов лексический анализатор и компилятор компиляторов своего хитрого языка (в основе то всеравно С, а по сути - машинный код) - если все это приближает описание алгоритма к предметной области, это есть гуд. Кароче, не нужно бояться создавать DSL под решение конкретной задачи, в каком бы экзотическом виде оно не представлялось.

И если там есть русские имена функций/констант/переменных, если это помогает в исследовательском проекте самому автору - то это гуд.

В моей MyTetra например принципиально русские комментарии. Если бы их не было, небыло бы и самой программы.

Xintrea ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.