Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

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

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

Делиться

25d60d7345fae66ad0a3a8a67c9e4264
Изображение Валерия Рабченюка через Unsplash

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

Вчера я спросил своего помощника по программированию на китайском: «run.py有早停吗?我在恒源云上跑,发现没有触发», что означает: «Реализует ли run.py раннюю остановку? Я запускал проект на общей видеокарте и не увидел срабатывания ранней остановки». Как обычно, я, естественно, ввел технический термин run.py в его оригинальном английском виде. Модель проанализировала код и ответила следующим образом:

df9cdf07553c15d3136aea121812a8e9
Изображение предоставлено автором: Скриншот ответа помощника по программированию на корейском языке.

Все технические термины остались на английском языке (run.py, config.py, train_unified), в то время как пояснительная структура перешла на корейский. Это не единичный случай. Такое случалось время от времени: как только я смешивал китайские и английские инженерные термины, всегда появлялся корейский текст.

e19f951f715472649e17141c9bfe9eca
Изображение от автора: Еще один скриншот ответа помощника по программированию на корейском языке.

Это заставило меня задуматься: это проблема, связанная с языком, или что-то более глубокое в области встраивания?

Гипотеза

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

В таком контексте текст может перестать вести себя как «китайский» в пространстве встраивания, как только появятся инженерные токены, такие как review / branch / commit / PR / diff. Вместо этого он может сместиться в поле инженерного аттрактора.

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

Контролируемый языковой дрейф

Мы составляем следующую контролируемую последовательность предложений, в которых английские слова постепенно вытесняют китайские:

Этап 0: 请帮我检查这个分支
Этап 1: проверка 请帮我 这个分支
Этап 2. Проверка ветки 请帮我
Этап 3: Пожалуйста, просмотрите этот коммит запроса на слияние в этой ветке.
Этап 4: Пожалуйста, просмотрите изменения в коде коммита запроса на слияние для этой ветки.

Теперь мы вычисляем сходство, используя косинусное сходство между векторными представлениями предложений. Мы определяем корейские и английские «кластеры» как среднее векторное представление небольшого набора репрезентативных предложений, связанных с инженерной тематикой, на каждом языке. Мы используем Δ (EN − KO) для обозначения разницы между показателями сходства английского и корейского языков, т.е. Δ = сходство(английский) − сходство(корейский).

Этап корейское сходство английское сходство Δ (EN − KO)
0 0.4783 0.5141 0,0358
1 0.5235 0.5728 0,0492
2 0,5474 0.6140 0,0665
3 0.5616 0.7314 0.1698
4 0.5427 0.7398 0.1972

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

При проецировании эмбеддингов в двух измерениях с использованием метода главных компонент (PCA) мы наблюдаем плавную траекторию на ранних этапах, за которой следует резкий скачок в направлении между этапами 2 и 3, а затем стабилизация. Эта закономерность указывает на то, что эмбеддинги не движутся линейно в пространстве; вместо этого они, по-видимому, переходят между аттракторными областями.

b9cb7800706673c3fe91b7e6734591bd
Изображение предоставлено автором: Траектория контролируемого дрейфа в пространстве PAC.

Реальное поведение модели

Вспомним еще раз предложение, которое мы упомянули в начале. Я спросил:

A. «run.py有早停吗?我在恒源云上跑,发现没有触发», что означает «Реализует ли run.py раннюю остановку? Я запускал проект в общей службе графического процессора и не заметил срабатывания ранней остановки».

B. «원인을 찾았습니다.결론: run.py에는 실제로 조기 종료가 없습니다.config.py에 USE_EARLY_STOPPING = True» (на корейском языке).

В обратном переводе на китайский язык получаем:

C. «Запустите файл USE_EARLY_STOPPING = True。»

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

Текст Корейская сим-карта Английский симулятор Китайская сим-карта
А. (Задание на китайском языке) 0.2003 0.2688 0.3134
Б. (Корейский ответ) 0,2745 0.2983 0.1641
С. (Перевод с китайского) 0.1634 0.3106 0.2798

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

Это позволяет предположить: перевод может восстановить языковую форму, но, вероятно, не местоположение, указанное во встраивании.

Заключение

Оба эксперимента приводят к одному и тому же выводу: пространство вложений не организовано языковыми границами. Вместо этого оно, скорее всего, структурировано характером задач, где доминирует инженерный английский.
Когда предложение попадает в эту область, языковая форма может измениться, но структура встраивания остаётся в пределах инженерной области, что приводит к странному поведению, например, к ответам на корейском языке, даже если вы совсем не говорите по-корейски.

Шуян Посмотреть все от Шуян

Источник: towardsdatascience.com

✅ Найденные теги: Мой, Начал, новости, Помощник, Почему, Программированию

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

Новости других рубрик

Архив рубрики ~Обо всем~: Да, вам обязательно нужна умная кормушка для птиц — и эта продается со скидкой ко Дню памяти. Архив рубрики ~Обо всем~: «Человек-паук: Нуар» с Николасом Кейджем: как посмотреть премьеру на Prime Video Архив рубрики ~Обо всем~: За пределами прокрутки ленты: как алгоритмы социальных сетей формируют вашу реальность Архив рубрики ~Обо всем~: Don't Touch the Snail — это анти-уютная игра, которая выводит концепцию перманентной смерти на новый уровень. Архив рубрики ~Обо всем~: Это мои любимые гаджеты для создания уютной атмосферы в доме, и все они сейчас продаются со скидкой. Архив рубрики ~Обо всем~: Лучшие телевизоры 2026 года: тестирование и обзоры экспертов. Архив рубрики ~Обо всем~: Переход к эффективным токенам: решение проблемы агентского сжигания токенов Архив рубрики ~Обо всем~: Обзор Ultrahuman Ring Pro: будущее умных колец очень похоже на настоящее.