Учимся готовить ИИ, ч2. О Дипсике-полиглоте.

Вторая масштабная задача, с которой я столкнулся, касается переводов. Сижу, никого не трогаю, и вдруг оказывается, что вчера нужно перевести несколько пачек словосочетаний по полтора-два десятка каждая на 15 языков… Среди них такие милые и общеизвестные, как китайский, японский, филиппинский… И кто теперь спасёт мировую революцию? Конечно же нейросетки! Алиса с порога была признана блондинкой. GPT нас, россиян, не любит. По методу исключения открываем Дипсик. Лень держать интригу, сразу скажу, что задачу я решил. Но ИИ был бы не ИИ, если бы таки не делал мне нервы!

Тут я, пожалуй, приведу промпт, чтобы была лучше ясна вся глубина проблемы. Итак:

 

Переведи на испанский язык нижеследующие выражения. Выведи списком уникальные переводы. Исходные выражения исключи. Если будут варианты перевода, выводи их отдельными элементами списка. Результат выводи единым списком. Транскрипции удали.

 

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

  • исходные выражения приводиться не должны. А то с ходу он мне выдавал результат в формате «1. выражение — его перевод». А на одной пачке даже вложенными списками варианты перевода.
  • в списке должны быть только уникальные переводы. Ибо в каждой пачке наличествовали синонимичные выражения, которые на другие языки могли переводиться одинаково, навроде «магазин обуви» и «обувной магазин».
  • Как показал опыт, Дипсик любит добавлять к переводам на иероглифические языки транскрипции в скобочках. А с монгольским вообще смешно вышло. У них кириллическая письменность и в скобочках транскрипция в точности дублировала сам перевод. Спрашивается, нафига?! На соответствующий вопрос Дипсик промямлил что-то невразумительное. В общем, в промпте русским по белому было написано — транскрипции убирать.
  • Временами рядом с основным переводом Дипсик в скобочках помещал альтернативный. А однажды даже выдал альтернативные переводы вложенными списками, что меня категорически не устраивало. Приходилось отдельными командами устранять это безобразие. Именно поэтому в промт были добавлены особые требования к альтернативам и специальное
  • требование представлять результаты единым списком.

После первой команды, я следующим сообщением отправлял список выражений. После этого Дипсик выдавал мне их перевод на испанский язык. Далее я просто писал «переведи те же выражения на XXX язык». Ну, собственно, он, конечно переводил. Но про дополнительные требования, кроме, пожалуй, об удалении исходных выражений, напрочь забывал. Хорошо хоть не про все сразу. То транскрипции выдаст, то альтернативы в скобочках… Чуть ли не каждый перевод приходилось тем или иным образом править, посылая соответствующие команды. В общем, было понятно, что с промптом что-то не то. Пользоваться им, конечно, можно было, но в условиях цейтнота удовольствие ниже среднего.

Весь следующий день я провёл в раздумьях, что же было не так и как можно облегчить себе жизнь. А когда оказалось, что вчерашняя пачка была лишь началом, то приступил к проверке мыслей, которые надумал. Судя по всему, Дипсик решил, что указанный в промпте список относится исключительно к переводу на испанский язык. Не знаю, может, имело смысл добавить к последующим командам не просто «переведи…», а добавить что-нибудь вроде «с теми же требованиями…» Что-то я даже, по-моему пытался изобразить, но в любом случае ни одна из 6-ти-7-ми пачек выражений не была обработана чисто, чтобы при переводе на какой-то из языков не приходилось подавать дополнительные команды. В итоге, я родил новый промпт:

 

Следующим сообщением будет переслан список выражений.

Их необходимо перевести на несколько языков, следуя нижеприведённым требованиям к результату:

— Исходные выражения исключить;

— транскрипции исключить;

— Если переводы будут совпадать, то дубли исключить;

— Если будут присутствовать варианты перевода, то включать их отдельными элементами списка;

— Выводить результат единым списком.

Требуемые языки перевода будут указываться в отдельных сообщениях.

 

Соответственно вторым сообщением улетал список словосочетаний. А в дальнейшем оставалось просто отправлять язык, на который нужно перевести. Причём дипсик вежливо уведомлял меня, что требования приняты, давай выражения. Ага, выражения получил, давай язык… Вежливость Дипсика — это вообще отдельная песня! Тоже что ли освоить по аналогии азы китайского общения… Ну и далее оставалось просто пересылать язык, на который нужно перевести. Сравните используемую команду из описания предыдущего промпта, и теперешние «японский», «китайский»… Прямо мечта торопыги и лентяя в одном флаконе!

Тем более, что теперь Дипсик стал выдавать практически идеальные результаты. Компактные, чистенькие списочки, которые можно было одним махом выделить, скопировать и переслать куда следует… Но, нет в мире совершенства, ибо один раз скобочки с транскрипциями всё же появились! Для меня до сих пор загадка, от чего случился такой сбой.

По идее, следующим шагом должно стать требование перевести выражения на все языки одним махом. Если уж совсем прижмёт, то, наверное, попробую, ибо как ни крути, а 30-40 мин. на одну пачку и 15 языков у меня выходило. Ну я там ещё не просил убирать номера элементов, чтобы остался именно список. Его было удобнее копировать, нежели, если бы переводы выдавались просто с новой строки. Поэтому перевод я сначала копировал в Excel, обрабатывал заранее подготовленной формулой массива, которая отсекала номер, после чего уже отправлял результат по нужному адресу. Все эти вроде бы дополнительные манипуляции позволяли мне хоть как-то более или менее проверять, что шаловливый Дипсик мне в итоге выдал. А вот с единым переводом на все языки с этим уже будет туго… Список окажется необозримым, на сотни элементов, и выловить, если вдруг где-то  всплывут какие-нибудь скобки или вложенные списки, станет проблематичным.

Благодарю, что дочитали до конца и продуктивных вам промптов!

P.S. Если кто пропустил, то здесь первая часть моих развлечений с нейросетками.

Добавить комментарий