Перейти к содержимому
Экспериментальный вебсайт. Ошибки гарантированы❗

Лингвистика запроса

Языки сервиса

Пользователю сервиса «Шедеврум» следует различать:

  • естественный литературный язык;
  • язык интерфейса сервиса;
  • инженерный язык запроса нейросети.

Естественный литературный язык плохо подходит для запросов «Шедевруму». Нейросети по-разному интерпретируют грамматические конструкции. Особенно это важно для русского языка с его развитой морфологией и свободным порядком слов. Текст, полностью соответствующий литературному русскому языку, непригоден в качестве запроса для генеративной нейросети. Аналогично тому, как текст на естественном языке непригоден для программирования компьютера.

Для общения с сервисом «Шедеврум» целесообразно использовать язык интерфейса и применять инженерный язык для формулирования запроса нейросети.

Интерфейс «Шедеврума» на отправленные запросы отвечает на русском языке. Именно это выгодно отличает сервис от западных аналогов, и делает его пригодным для практического применения русскоязычными пользователями.

Язык запроса нейросети — это своеобразный «язык программирования» нейросети, диалект инженерного (технического) языка. Далее речь пойдёт исключительно о лингвистике инженерного языка формулирования запроса нейросети «Шедеврум».

Синтаксис языка запроса

Синтаксис инженерного языка запросов «Шедеврум» крайне примитивный — всего три знака пунктуации: запятая, точка и точка с запятой. Другие спецсимволы «Шедеврум» не поддерживает.

Запятая

С помощью запятой (,) можно имитировать логические операции конъюнкции, дизъюнкции и импликации внутри токена.

Конъюнкция

Конъюнкция (AND) объединяет слова и фразы внутри токена. Существует два варианта конъюнкции: с помощью запятой или с помощью союзов «и», «с», «вместе с». Запятая указывает на слабую связь между свойствами, просто перечисляет свойства и даёт нейросети полную свободу композиции. Союзы «и», «с», «вместе с» задают сильную связь, акцентируют внимание нейросети на важности именно совместной композиции свойств или объектов.

Важно!

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

Дизъюнкция

Дизъюнкция (OR) заставляет нейросеть строго выбирать между двумя вариантами внутри токена. Конструкцию дизъюнкции выстраивают с помощью запятых одним из следующих способов.

Стилистический коктейль — способ выбора одного из перечисленных через запятую вариантов. Например, запрос: «Урбанистический пейзаж, стиль киберпанк, стиль ретрофутуризм». В результате запроса нейросеть выдаст варианты, на одном из которых будет больше неона (киберпанк), а на другом эстетика 1960-х годов (ретрофутуризм).

Для выбора вариантов вместо запятой можно использовать союз «или». Например, запрос: «Рыцарь в золотых или серебряных доспехах». В результате запроса нейросеть выдаст варианты: на одном жёлтые доспехи, на другом белые доспехи, на третьем смесь жёлтого и белого цветов.

Существует способ полной свободы выбора нейросети. Для этого, вместо того, чтобы указывать конкретные свойства (экземпляры), используют общую категорию класса для этих свойств. Например, вместо указания конкретных цветов объекта: «Красное или синее платье», следует назвать общее свойство цвета для данного объекта: «Платье яркого контрастного цвета». В результате нейросеть создаст варианты контрастных, в её понимании, цветов и самостоятельно выберет варианты результата. Подобный подход даёт нейросети большую свободу, чем жёсткая дизъюнкция.

Важно!

Если нужно получить два кардинально разных результата (например, человек в космосе и человек в лесу), лучше создать две отдельные генерации. Дизъюнкция внутри одного запроса в 90% случаев приводит к смешиванию (диффузии) свойств объекта, а не к выбору одного из них.

Импликация

Импликация (If, Then) позволяет в запросе задать каузальные связи или контекстуальные условия. Подобная возможность помогает создать не просто статическое изображение, а целую сюжетную сцену.

В «Шедевруме» импликацию формулируют через описание объекта и его поведения в определенных обстоятельствах. Для того, чтобы нейросеть точнее восприняла каузальную связь, пишите запрос по следующей схеме:

  • Объект изображения. Например, пушистый кот.
  • Действие объекта или событие, которое происходит с объектом. Например, кот прыгает.
  • Условие (импликация), сформулированное в виде «Если… то…», «В случае если… то…», «Когда… то…».
  • Стиль изображения для указанной импликации.

Технические советы описания условий (импликации):

  • При описании условий избегайте абстракций! Только конкретика! Например, вместо «плохая погода» лучше написать «если идет дождь и дует ветер».
  • Ограничивайте сложность! Не выстраивайте цепочки условий, нейросеть неспособна их анализировать.
  • Используйте импликацию при генерации видео для того, чтобы показать смену сцен (состояний объекта).

Примеры запросов с импликацией:

  • «Если наступает ночь, то улицы вспыхивают неоновым светом. Стиль киберпанк».
  • «Если идёт дождь, девушка идёт по улице с зонтом. Стиль реализм».
  • «Если кот видит рыбу, то он прыгает на стол. Стиль аниме».

Акцент

В отличие от других генеративных нейросетей в «Шедевруме» отсутствует отдельный синтаксис акцента. Управление акцентом осуществляют следующими способами:

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

Точка

Точка (.) служит для жёсткого разделения смысловых блоков между токенами. Точка сигнализирует нейросети о:

  • Завершении одного семантического компонента и начале другого. Сообщает нейросети, что конкретное описание объекта или сцены закончено. Следующее высказывание нейросеть воспримет как новый компонент, а не как уточнение предыдущего.
  • Приоритет. Каждое следующее высказывание (токен) имеет меньший вес по сравнению с предыдущим.
  • Выделение стиля. Точка помогает отделить описание объекта от стиля изображения. Нейросеть применять стиль ко всей сцене, не смешивая его с описанием отдельного элемента объекта.

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

Точка с запятой

Точку с запятой (;) применяют как связку между свойствами объекта или сцены. Точка с запятой сигналит нейросети о:

  • Разделении логических блоков. Отделении взаимосвязанных, но отличных друг от друга свойств одного объекта.
  • Создании целостности. Перечисленные свойства объекта следует рассматривать как части целого, сохраняющие индивидуальные особенности.
  • Уточнении свойств объекта с учётом их связности, целостности и согласованности изображения. Сохранение смысловой связи

Пример использования точки с запятой: «Киберпанк город; неоновые огни, дождь; отражения в лужах». В этом примере точка с запятой отделяет атмосферу от описания подробностей окружения, помогая нейросети структурировать запрос.

Лингвистика запроса

Лингвистика инженерного языка представляет собой правила построения запроса, которые помогают нейросети «понять» желание пользователя.

Максимальная длина запроса

Максимальная длина текста запроса, включая пробелы и знаки препинания:

  • для бесплатного плана составляет 500 символов;
  • для платного плана — 1500 символов.

Если запрос превысит установленную длину, нейросеть обрежет лишние знаки. Как следствие, по неполному запросу будет сформировано некорректное изображение.

Токены и высказывания

Из символов выстраивают слова и фразы запроса.

Токен — набор ключевых слов и фраз запроса, разделённых знаками пунктуации.

Описание не обязательно должно представлять собой законченное предложение (высказывание). Вполне допустимы, а порой целесообразны токены.

Императивы

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

Генеративная модель сконструирована так, что она реализует описания, а не действия. В нейросети не предусмотрена алгоритмизация действий. Пользователь не может задать собственный алгоритм генерации изображения. Он может лишь использовать нейросеть как инструмент автоматизации с присущим этому инструменту способам действия (процессам).

Другими словами, запрос — это спецификация, подробное описание желаемого результата. В этой спецификации масса ответов на вопросы «что» (объект) и «почему» (логика), но нет ответов на вопросы «зачем» и «как»?

Части речи

При описании объекта изображения используйте:

  • Глаголы в настоящем времени («кот сидит» вместо «кот будет сидеть»).
  • Качественные прилагательные — отвечающие на вопрос «какой?», — которые связаны с акцентируемыми свойствами объекта (цветом, величиной, внешностью). Для усиления акцента добавляйте наречия «очень», «слишком», «чуть» или степень сравнения.
  • Числительные. Например, вместо «девушки» напишите «две девушки».
  • Собирательные существительные. Например, вместо «журавли» напишите «стая журавлей» или «журавлиный клин».

Отрицание

Нейросеть не всегда понимает отрицания в запросе. Она пропускает (игнорирует) частицу «не» или другое отрицание, и фокусирует внимание на словах, стоящих после отрицания.

В запросе рекомендуют описывать то, что нужно сделать, а не то, чего следует избегать. Например, вместо фразы «не использовать тёмные цвета» лучше написать «использовать светлые оттенки».

В крайнем случае, если необходимо удалить какой-то объект на изображении, то следует применить исключение, а не отрицание.

Исключение

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

  • «избегай слишком мускулистого тела персонажа»;
  • «избегай появления других людей в кадре»;
  • «избегай лишних пальцев на руке», «mutated hands, extra fingers».

Детерминированность

Пользователю необходимо понимать отличие общего от частного, класса от экземпляра объекта. Если нет необходимости в детализации, то в запросе вообще не нужно указывать свойства класса. Например, слово «чашка» указывает на многообразие различных предметов для питья без уточнения формы, размера, цвета, материала. В то же время «маленькая фарфоровая чашка синего цвета» — это уже описание экземпляра класса.

В запросе важно использовать чёткие, конкретные описания. Избегайте:

  • Слов с размытым значением. Например, «некоторый», «довольно», «быстро».
  • Общих слов. Например:
    • вместо «красиво», используйте уточнение «в стиле Ренессанса», «кинематографично»;
    • вместо «красивый юноша» пишите «юноша с симметричными чертами лица и пронзительными голубыми глазами».

Краткость

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

Персонажи авторского права

Избегайте употреблять имена персонажей известных произведений. «Яндекс» полагает, что на все эти имена распространено авторское право. Даже на имена Олимпийских богов: Зевс, Афина, Гефест…

Рекомендую описывать внешность нужного персонажа словами, не называя по имени. Например, «Величественный, зрелый мужчина с бородой. Повелитель неба, грома и молний, восседающий на троне на вершине горы Олимп. В одной руке молнии, в другой скипетр. Возле трона лежит щит, а на плече сидит орёл».

Сочетание языков запроса

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

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

Практичным вариантом служит смешанный, многоязычный запрос, в котором:

  • объект и контекст описаны на русском языке;
  • при описании техники генерации использованы англоязычные технические термины;
  • при прямом описании роли использованы англоязычные наименования профессий;
  • при косвенном описании роли русские фразы для материала, основы, методов сочетают с англоязычными терминами инструментария (программного обеспечения).

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

Цепочка мыслей

Если сложную сцену описать одним длинным токеном, большая вероятность, что нейросеть допустит ошибки. Для снижения уровня сложности при описании сложных сцен целесообразно разбивать генерацию на последовательность промежуточных изображений. Подобный способ называют «Цепочка мыслей» (Chain-of-Thought).

При пошаговой проработке сцену разбивают на компоненты:

  • центральный объект;
  • поза и ракурс объекта — описывают действие объекта и угол обзора камеры;
  • свет и тени — описывают освещение;
  • окружение — описывают фоновые объекты, текстуры;
  • стиль изображения — называют шаблон для подражания.

Пример применения пошаговой генерации изображения:

  • Обычный запрос: «Мегаполис киберпанка».
  • Пошаговый запрос:
    • «Мегаполис киберпанка.
    • Шаг 1. Фокус на мокрой улице с неоновыми вывесками.
    • Шаг 2: Вдали видны небоскрёбы с голограммами.
    • Шаг 3: Дождь и отражение в лужах.
    • Шаг 4: Цветовая палитра: синий, пурпурный, желтый.
    • Стиль: гиперреализм, высокая детализация».

Структурная полнота запроса

Структурная полнота запроса (Contextual Framing) — соответствие текста запроса требованиям структуры запроса.

В правильно сформулированном запросе должны присутствовать следующие компоненты (токены):