Я попробовал несколько вариантов: простой перевод, стилизацию под Цветаеву и Ахматову. Вариант с Ахматовой мне понравился больше. Кроме того, он позволил показать возможности языковой модели по стилизации.
Мне кажется, что сделать перевод, при этом сохранив в нём исходный стиль автора более сложная задача. Каждый переводчик вносит в перевод что-то личное. А мы хотим потребовать от LLM рафинированную, очищенную трансляцию, да еще такую, чтобы каждый сказал - это Киплинг, только на русском! А Киплинг на русском ни слова не написал... Но и то я уверен, что в недалёком будущем LLM с этим справятся лучше человека. А пока по запросу "Переведи исходное стихотворение с английского на русский, сохрани стиль Киплинга" результат получился так себе. Местами неплохо, местами рифма пропала.
В первом комментарии с переводом стихотворения я хотел показать, что LLM уже могут писать не только "корявым русским языком", но и вполне красиво и литературно.
Нужно попросить написать в стиле конкретного писателя, будет значительно лучше. Например, перепиши в стиле Есенина, или в стиле группы Кувалда, или в стиле Велимира Хлебникова. Можно просить короче, длиннее, в стиле зумеров и т.п.
Это перевод с помощью Клода 3.5 Я попросил написать аналогичное стихотворение на русском в стиле Ахматовой. Мне кажется, Клод замечательно справился. Может переписать в стилях практически любых писателей. И прозой и стихами. Может писать по примеру или с нуля. Вот Маяковский:
def find_closest(arr, k):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == k:
return mid
elif arr[mid] < k:
left = mid + 1
else:
right = mid - 1
if left == 0:
return 0
if left == len(arr):
return len(arr) - 1
return left - 1 if k - arr[left - 1] <= arr[left] - k else left
# Примеры использования
print(find_closest([1, 3, 4, 7, 9, 12], 5)) # Должно вывести 2
print(find_closest([1, 3, 4, 12, 15, 15, 18], 14)) # Должно вывести 4
От ChatGPT:
def closest_number(arr, k):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == k:
return mid # Если нашли точное совпадение, сразу возвращаем индекс
if arr[mid] < k:
left = mid + 1 # Ищем в правой части
else:
right = mid - 1 # Ищем в левой части
# После завершения бинарного поиска, left указывает на первый элемент, больше или равный k,
# а right указывает на последний элемент, меньше или равный k.
# Проверим границы, чтобы выбрать наиболее близкий элемент
if left >= len(arr):
return right
if right < 0:
return left
# Выбираем ближайшее число, сравнивая arr[left] и arr[right]
if abs(arr[left] - k) < abs(arr[right] - k):
return left
else:
return right
# Примеры:
arr1 = [1, 3, 4, 7, 9, 12]
k1 = 5
print(closest_number(arr1, k1)) # Ожидается: 2 (число 4)
arr2 = [1, 3, 4, 12, 15, 15, 18]
k2 = 14
print(closest_number(arr2, k2)) # Ожидается: 4 (первое число 15)
И с bisect-ом от Claude:
import bisect
def find_closest(arr, k):
pos = bisect.bisect_left(arr, k)
if pos == 0:
return 0
if pos == len(arr):
return len(arr) - 1
before = arr[pos - 1]
after = arr[pos]
if after - k < k - before:
return pos
else:
return pos - 1
# Примеры использования
print(find_closest([1, 3, 4, 7, 9, 12], 5)) # Должно вывести 2
print(find_closest([1, 3, 4, 12, 15, 15, 18], 14)) # Должно вывести 4
Со мной просто досрочно односторонне разорвали ОСАГО. Из-за того, что были указаны неверные данные по мощности двигателя. В полисе 120, а в СТС 120.1
Машину с самого начала страховал в Альфе, все данные вводили ее агенты в офисе.
Все делов том, что закон в этом году немного поменяли, и эта одна десятая стала влиять на стоимость страховки. Альфа не принимала ничего лучше, как переложить ответственность на клиентов.
Конечно, я никогда больше ничегос Альфе не буду страховать и вам не советую.
А что именно вам не понравилось? Плохая рифма, неудачные образы или что-то еще?
По заданию Клод и должен был написать стихотворение, похожее на "А вы могли бы", в том же стиле.
Я попробовал несколько вариантов: простой перевод, стилизацию под Цветаеву и Ахматову. Вариант с Ахматовой мне понравился больше. Кроме того, он позволил показать возможности языковой модели по стилизации.
Мне кажется, что сделать перевод, при этом сохранив в нём исходный стиль автора более сложная задача. Каждый переводчик вносит в перевод что-то личное. А мы хотим потребовать от LLM рафинированную, очищенную трансляцию, да еще такую, чтобы каждый сказал - это Киплинг, только на русском! А Киплинг на русском ни слова не написал... Но и то я уверен, что в недалёком будущем LLM с этим справятся лучше человека. А пока по запросу "Переведи исходное стихотворение с английского на русский, сохрани стиль Киплинга" результат получился так себе. Местами неплохо, местами рифма пропала.
В первом комментарии с переводом стихотворения я хотел показать, что LLM уже могут писать не только "корявым русским языком", но и вполне красиво и литературно.
Нужно попросить написать в стиле конкретного писателя, будет значительно лучше. Например, перепиши в стиле Есенина, или в стиле группы Кувалда, или в стиле Велимира Хлебникова. Можно просить короче, длиннее, в стиле зумеров и т.п.
Это перевод с помощью Клода 3.5 Я попросил написать аналогичное стихотворение на русском в стиле Ахматовой. Мне кажется, Клод замечательно справился. Может переписать в стилях практически любых писателей. И прозой и стихами. Может писать по примеру или с нуля. Вот Маяковский:
Я вывернул карманы улиц
Насыпав звёзды в тротуары
И в лужах зеркала согнулись
Под тяжестью небесной тары
На коже города-завода
Я высек азбуку прогресса
А вы прочесть смогли б восходы
По шрамам рельсового леса?
Семнадцать лет! — Как приговор. Как яд — под кожею. А ей — поклон, и ей — простор, И свет в прихожей!
Ей — сорок девять! — Сонм мужчин (Как пчёлы — к мёду!) А мне — краснеть без всех причин, Стоять у входа.
Ей — золотой водоворот, Ей — все поклоны! А мне — считать который год До царской кроны.
Но время — яростный поток! — Сметёт, развеет... Когда мой грянет сорок — срок, Она — истлеет!
— Как эта месть во мне горит! Как сердце бьётся! ...А время — мимо пролетит, Не оглянётся.
Стажёра звали Кайл Риз...
Было 4, стало 5. Некрасиво, конечно, что плавает, хотя постановке соответствует.
Интересно, что ИИ в качестве тестовых данных сам предложил пару одинаковых чисел.
Решение от Claude Sonet 3.5:
От ChatGPT:
И с bisect-ом от Claude:
Автомат с роботом-барменом: для приготовления коктейлей. Можно в бары продавать
Со мной просто досрочно односторонне разорвали ОСАГО. Из-за того, что были указаны неверные данные по мощности двигателя. В полисе 120, а в СТС 120.1
Машину с самого начала страховал в Альфе, все данные вводили ее агенты в офисе.
Все делов том, что закон в этом году немного поменяли, и эта одна десятая стала влиять на стоимость страховки. Альфа не принимала ничего лучше, как переложить ответственность на клиентов.
Конечно, я никогда больше ничегос Альфе не буду страховать и вам не советую.