Перевод глаголов в спрягалке — вторая жизнь

Четыре года назад мы начали работу по составлению словаря с переводами глаголов для нашей спрягалки. Мне стыдно, что мы вынуждены были надолго заморозить этот проект. Замах там был грандиозный — предполагалось хранить все значения глаголов, примеры с переводом, варианты употребления, устойчивые выражения и идиоматику в структурированном виде для возможности подбора глагола по смыслу, создания карты синонимов, кроссылок и много того, что дает богатый контент и правильная организация данных.

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

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

Этот способ — ChatGPT, который довольно быстро предлагает приемлемый вариант словарной статьи

Ответ ChatGPT на запрос всех значений глагола être

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

Что важно, такой ответ он готовит в течение минуты!

Мы изрядно поигрались с запросами. Что важно, ChatGPT умеет выдавать результат уже в отформатированном в HTML виде — его непосредствено можно будет вставлять в базу. Да, для простоты задачи мы не будем разбивать статью на разные поля, а планируем целиком загонять готовый сверстанный результат прямо для представления его на странице спряжения. Весь процесс для очередного глагола фактически состоит в копировании готового запроса в сам чат и копирование назад в Гуглодок готового ответа из чата. Контроль результата и какая-то правка потребуется, он и накосячить может. Но это гораздо проще, чем сочинять или выискивать примеры употребления и составлять словарную статью from scratch.

Вот пример такой кривой выдачи, которая требует правки.

> Приведи как можно больше значений французского глагола “être”, отформатированные в HTML следующим образом: значение полужирным, примеры — курсивом. Всё, что в скобках, форматировать не нужно.

  • Быть, находиться (в настоящем времени): Je suis fatigué (Я устал), Elle est à Paris (Она в Париже)
  • Стать, являться: Il est devenu riche (Он стал богатым), Elle est avocate (Она юрист)
  • Состояние здоровья: Je suis malade (Я болен), Il est en bonne santé (Он здоров)
  • Состояние погоды: Il est beau temps (Хорошая погода), Il est en train de pleuvoir (Идет дождь)
  • Состояние вещей, материальных объектов: Le livre est sur la table (Книга на столе), Le vase est cassé (Ваза разбита)
  • Время, дата, возраст: Quelle heure est-il ? (Сколько времени?), Nous sommes en 2023 (Мы находимся в 2023 году), Il est 15 heures (15 часов), J’ai dix ans (Мне 10 лет)
  • Равняться: Ces deux nombres sont égaux (Эти два числа равны), Mon salaire est égal à celui de mon collègue (Моя зарплата равна зарплате моего коллеги)
  • Существовать: Il y a des pommes dans le panier (В корзине есть яблоки), Il n’est pas d’autre choix (Выбора нет)
  • Иметь: J’ai un frère (У меня есть брат), Elle a une voiture rouge (У нее есть красная машина)
  • Состояние: Elle est heureuse (Она счастлива), Je suis occupé (Я занят)
  • Принадлежность: Le livre est à moi (Книга моя), La voiture est à eux (Машина их)

Какие косяки я здесь вижу.

  • Il est devenu riche — здесь être порсто вспомогательный глагол при смысловом devenir, который и переводится как «становиться». А вот второй пример (Elle est avocate) вполне годен.
  • Состояние здоровья и погоды можно объединить в одно значение.
  • Il est en train de pleuvoir — негодный пример, потому что здесь être, опять же, часть глагольной формы.
  • Nous sommes en 2023 — грамматически верно, но фраза совсем уж специфическая и оторванная от контекста, а уж перевод и вовсе дословный и оттого кривой — я бы перевел как «на дворе 2023 год», если бы не выкинул этот пример вовсе, а выкинул бы.
  • J’ai dix ans — и где тут вообще être?
  • Равняться — что это вообще здесь делает?!
  • Il y a des pommes dans le panier — тоже никакого être.
  • Принадлежность — спорный пункт.

Я хочу сразу заметить, что это реально самый непростой глагол — и правка его статьи вполне выполнима. Если мы возмем глагол попроще, коих большинство, то результат окажется более приемлемым.

Вот ответ по значениям prendre.

Ответ ChatGPT на запрос всех значений глагола prendre

А вот — по значениям ouvrir.

> Приведи как можо больше значений французского глагола ouvrir с двумя-тремя примерами в виде предложений и их переводом на русский язык.

Список значений глагола “ouvrir” с примерами в виде предложений и их переводом на русский язык:

  1. Открывать (дверь, окно):

    • J’ouvre la fenêtre pour faire entrer un peu d’air frais. (Я открываю окно, чтобы впустить свежий воздух.)
    • Il a du mal à ouvrir la porte avec ses clés. (Он с трудом открывает дверь своими ключами.)
  2. Раскрывать (книгу, журнал):

    • Je viens d’ouvrir ce livre, je ne peux pas encore te dire s’il est bon. (Я только что открыл эту книгу, я еще не могу сказать тебе, хорошая она или нет.)
    • Il a ouvert le journal et a commencé à lire les nouvelles. (Он раскрыл газету и начал читать новости.)
  3. Открывать (бутылку, консервную банку):

    • Elle a ouvert la bouteille de vin avec un tire-bouchon. (Она открыла бутылку вина с помощью штопора.)
    • Il n’arrivait pas à ouvrir la boîte de conserve, alors j’ai dû l’aider. (Он не мог открыть консервную банку, поэтому мне пришлось помочь ему.)
  4. Развертывать, открывать (карту, план):

    • Nous avons ouvert la carte pour voir où se trouve le restaurant. (Мы развернули карту, чтобы посмотреть, где находится ресторан.)
    • Le guide a ouvert le plan de la ville et nous a montré où se trouvent les principales attractions. (Гид открыл план города и показал нам, где находятся главные достопримечательности.)
  5. Появляться (о возможности):

    • Cette opportunité s’ouvre à moi et je ne veux pas la manquer. (Эта возможность появляется у меня, и я не хочу ее упустить.)
    • Une nouvelle perspective s’ouvre à nous avec ce nouveau projet. (У нас открывается новая перспектива с этим новым проектом.)

Надо добавить, что он умеет сразу оборачивать выдачу в HTML — так, что мы на выходе получаем готовый код для вставки в базу — после проверки и, если потребуется, правки. В любом случае, это способ весьма быстро получить требуемый результат.

Кто готов поучаствовать?

P. S. Доступ к ChatGPT закрыт в России и, кажется, в Беларуси. Но выход есть — можно добыть временный европейский телефонный номер (их стоимость начинается от 11 рублей). Это 100% работает, кто заинтересуется, я дам инструкции.

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

В силу ограниченности знаний не смогу проводить редактуру, но могу заниматься выгрузкой по списку и отправкой кому-то знающему язык на редактуру. Учитывая, что бесплатная версия ChatGPT имеет ограничение на число запросов в единицу времени, разделение по функционалу “выгружатели” и “редакторы” напрашивается, причём предполагаю, что первых понадобится гораздо больше.

bmcp0: первых понадобится гораздо больше.

Наша задача на первом этапе не стоит покрыть все 7,000 глаголов, но штук 300 самых частотных, которые занимают 95% выдачи — это работа посильная для ручного получения результата.

К сожалению, все наши попытки найти правильную форму запроса — история этих попыток видна по этой ссылке — пока не увенчались успехом. Изменение далее невинного слова меняет результат. Я даже пока не понимаю, на каком языке лучше делать запрос. Поэтому сегодня пока идёт поиск такого запроса, у которого была ты повторяемость результата. И хочется сразу в HTML, но списком он работать не умеет, это уже видно — выдает ограниченное число значений. В общем, даже на этом этапе помощь была бы очень ценна.

В качестве референтных списков значений можно использовать словарные статьи из онлайн-словарей типа: https://dictionnaire.reverso.net/francais-russe/ или https://dict.com/французско-русский

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

Читая примеры, которые так «легко» сгенерированы AI, осознаешь, насколько у человека более ленивый мозг)

ILYA DUMOV: штук 300 самых частотных, которые занимают 95% выдачи

Со статистикой я наврал. Цифры другие, но тоже впечатляют.

Вот так распределяется число запросов от доли глаголов, которую они покрывают. На графике хорошо видна общая картина, но не видны детали. А они такие: в половине всех обращений запрашиваются спряжения из списка всего 180 глаголов — это 2.3% от всей базы. Дальше рост смехотворный и похож на логарифмический. Если первые 180 глаголов дали половину всех запросов, то следующие 180 глаголов прибавляют ее всего на 7%. Остальное видно на графике.

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

bmcp0: могу заниматься выгрузкой по списку и отправкой кому-то знающему язык на редактуру.

Я начал заполнять таблицу со значениями глаголов и их примерами. Всех, кто готов поучаствовать (тут не обязательно упираться, достаточно будет даже небольшого участия — это уже поможет), напишите в личку — я дам ссылку на таблицу, куда я начал заносить данные. В идеале предоставить мне адрес e-почты, ассоциированный с GMail, чтобы получить персональные права на редактирование документа.

Пока с сожалением могу констатировать, что добиться стабильно одинакового формата ответов не получается. Так, чтобы скопипейстил готовый сгенерированный запрос, а потом скопипейстил ответ — так не получается. НО это все равно быстрее, чем выискивать эти примеры самому на просторах Сети.

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

Скоро сказка сказывается, да не скоро дело делается. Не прошло и восьми лет с момента, как мы начали этот проект с переводами глаголов — и четырех с момента, как я продолжил работу над ним (а я прикладывался время от времени и изрядно продвинулся) — и вот я довольно близок к цели.

Я создал приложение, которое позволяет а) втянуть в базу все наши прежние наработки — это то, чем я в настоящий момент занимаюсь — и б) проводить вычитку, правки и пополнять базу новыми статьями — в том числе… даже не знаю, как это по-русски… bulk upload. Массовые загрузки.

Современные ИИ-модели способны готовить материал для статей очень высокого качества, но они делают ошибки, и время на вычитку их творчества — это основные трудозатраты в этом процессе. Сегодня ChatGPT обсуждает с тобой, как лучше разбить значения на семантико-лелксические группы, сверит наши гипотезы с Larousse, подберет примеры, составит список идиом и подготовит теги для каждого блока. А потом соберет это в один большой JSON-файл — и останется только втянуть это в базу парой кликов мышки.

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

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

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

Еще скриншотик.

Ну как? Готовы будете подключиться?

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

Что-то не вижу желающих помогать. Или они пишут в личку?

Надежда: Или они пишут в личку?

Увы, и в личку никто не пишет. Между тем, приложение уже имеет свой домен и формально находится в открытом доступе, но над ним еще идет работа. И потом, пополнять глаголы словарными статьями — это еще полдела, нужно еще все это интегрировать в сам спрягатель. Так что это процесс небыстрый. Я пока пытаюсь обходится бесплатными моделями или лимитированными pro-моделями с бесплатным превью, а когда лимиты заканчиваются, перехожу к самим глаголам. Продвигаюсь заметно, но и работы немало. Уже заработал полностью режим контрибьютера — фактически, любой сможет предложить правку существующих материалов — уже готова панель для модераторов, которые видит предложенные контрибьютерами правки и может посмотреть контекст, внеси изменения и принять или отклонить. Такой режим, я думаю, будет по умолчанию для всех зарегистрированных пользователей. Это будет чем-то вроде Википедии для французских глаголов (с точки зрения модели, я имею в виду; ну а когда-нибудь может быть и по наполнению).

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

Я хотела бы попробовать помочь. Думаю, что это будет интересно. Только я не смогу уделять много времени проекту, как раньше.

Надежда: Я хотела бы попробовать помочь

Буду рад, если присоединишься. Пришлю в Телеграм ссылку и советы. Сегодня все это готовить стало гораздо проще.

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

1. Без *** картинки не видно (кабельный МТС)
2. Честно говоря, я так до конца и не понял, что надо делать: править готовые ИИ-шные статьи или генерировать их, а потом править.
3. Сложно комментировать идиомы, если даже французы иногда затрудняются.

P.S. Картинки подгрузились

Мы — забытые следы чьей-то глубины…

Дремучий: править готовые ИИ-шные статьи или генерировать их, а потом править.

Короткий ответ: и готовить статьи, и проверять / вычитывать готовые, и править / предлагать правки — нужно всё. Сейчас я это делаю один, и в нагрузку еще разрабатываю само приложение и его интеграцию со спрагалкой.

В приложении есть несколько ролей для этих целей:

  • Contributer может предлагать новые значения, а таже фразы — устойчивые выражения или идиомы. То есть предлагать вообще новые обхекты в словарную статью. Может предлагать правки. Это все модерируется. Это дефолтная роль.
  • Editor может создавать новые глаголы и полностью наполнять статьи.
  • Moderator — который видит все предложенные правки, видит их контекст и может отклонить их (если это спам, например), отредактировать и принять.

Можно получать доступ к правкам только для глоголов, для которых ты owner, а можешь ко всем, видеть только свои, а можно видеть вообще все — это всё набор прав, по большому счету, они к ролям не привязаны, роли — это просто пресеты.

Это к слову о том, что можно делать. Тут можно выбрать для себя роль по вкусу.

Как я действую. Пока на больших статьях весь исходник — это то, что мы общими усилиями насобирали восемь лет назад в доИИсторические времена. ИИ я тут использую, чтобы натравить их на академические источники по ссылке и сличить наше разбиение на семантеко-лексические группы. Ну и проверить правильность идиом. На удивление, ChatGPT очень хорошо в этом разбирается. Я ему даю то, что мы насобирали, и он нередко критикует наш перевод, мотивированно его отвергает, предлагает свой, я проверяю — и правда! При всем скепсисе, тут ему можно доверять.

Вот пример такой критики:

  • “entendre comme larrons en foire” — ты правильно дал перевод, но важно то, что это не всегда “закадычные друзья”, а чаще: “быть в сговоре / действовать заодно (часто подозрительно)”
  • Фраза «Ты у меня дорого за это заплатишь» в русском языке уже не про “tenir la dragée haute” напрямую, а про угрозу / наказание (часто эмоционально, персонально). Это сильнее и агрессивнее, чем французский оригинал, который часто более “переговорный / экономический”.

Но иногда несет полную пургу.

  • Ответ на твой вопрос: “Мы не выплеснули с водой и ребенка?” — нет, ребёнок жив. Но: он сейчас сидит в одной ванне с мылом, водой, пеной и иногда соседским котом. И задача дальше — не “удалить лишнее”, а развести по слоям.

Вероятно, это попытка шутить (см. последний скриншот под спойлером). Все-таки французские идиомы он знает лучше наших. :)

Я подстраховываюсь тем, что готовлю основу в одной модели, а потом ее выход даю как исходник второй. Та вносит здоровую критику — возвращаюсь в первую и только после этого запаковываю в JSON и втягиваю импортом. А потом сажусь и начинаю каждую идиому проверять самостоятельно. И это самое занудное, но местами и интересное. Так, если набил руку, можно и за полчаса управиться с одним глаголом, чтобы его карточку наполнить вполне себе вызывающим доверие контентом. Но потом всё равно куча времени уходит на то, чтобы все это проверить.

Я считаю, что по большому счету делать из этого отдельный словарь — задача хоть и неплохая (там даже теги предусмотрены для возможного в будущем поиска подходящего по смыслу глагола с опорой на выражение), но — то максимум. На самом деле люди просто хотят видеть перевод глагола. Поэтому я значительное число статей потихоньку готовил в простом варианте — просто набор значений списком без разбивки по семантически гнездам + по паре примеров для каждого значения. И вот это, на мой взгляд, самая важная работа — покрыть хотя бы самую частотную часть таким простым набором значений с примерами. Их можно делать чохом и импортировать в любом объеме. База небольшая, ее можно бэкапить хоть каждые полчаса, Что я и дела перед серьезными правками и тестами.

И тут не нужно быть большим знатоком французского. ИИ нынче может готовить неплохие примеры (те, что на скриншоте, готовились несколько лет назад). Задача просто это проделать: получить список значений, с помощью ИИ сличить это с CNRTL, попросить их подготовить примеры, проверить их, может быть что-то скорректировать и попросить подготовить итоговый JSON. И его импортировать.

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

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

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

В продолжение разговора.

Уже становится понятно, что реальный путь — это начать с минимальной базы — просто плоский перечень значений и примеры. Это делается относительно легко. Прям минут 15-20 — и можно пару десятков глаголов втянуть. Понятно, что непрерывно часы на пролет этим заниматься не будешь — есть другая работа. Но так или иначе в базе уже есть 170 глагольных статей разной степени наполненности. И наиболее острой встает вопрос именно вычитки и мелкой правки. Вот типичный пример на скриншоте: в этой карточке il s’agit de… попала в значение в форме s’agir (de). Очевидно, что это оборот, а не отдельное значение — его потребовалось вынести из значений в отдельный блок. Тупо создать новый и с копипастить все поля, а тот удалить.

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

Уже научились втягивать в спрягатель переводы из базы.

Нам нужна ваша помощь. Пожалуйста, поддержите Le-francais.ru !

 
Зарегистрируйтесь или войдите чтобы оставить сообщение.