Занимаясь многолетним научно-техническим переводом все чаще приходится сталкиваться с ситуациями, когда терминологическая идиоматика источника идет вразрез с принятыми у нас в обиходе понятиями, и что для того чтобы сохранить идиоматику источника нетронутой с целью донести до читателя смысл и стилистику неискаженными в том виде, в котором данный предмет изложения воспринимается за рубежом, приходится преодолевать кучу барьеров, главный из которых можно услышать из уст редактора издательства:
В таком виде мы книгу не продадим.
Ниже приведено несколько показательных примеров. Возможно, они кому-то помогут лучше разобраться в терминологии информатики и ИТ в целом.
Идиоматика ИИ
Термин «machine learning»
Усвоение знаний (learning) - это процесс приобретения новых знаний, смыслов и поведения. Способностью усваивать знания обладают люди, животные и некоторые машины. Достижения в области machine learning в немалой степени опираются на многолетние исследования в области теорий усвоения знаний (learning theories), предметом изучения которых является процесс формирования и усвоения знаний животными (animal learning) и человеком (human learning).
Искусственные нейронные сети и целое направление под названием «reinforcement learning» - яркие тому примеры. Уоррен МакКаллок и Уолтер Питтс создавали свой персептрон по принципу сети нервных клеток организма, а Ричард Саттон строил свой алгоритм reinforcement learning, моделируя усвоение знаний путем проб и ошибок, заимствовав идею подкрепления из бихейвиористской психологии, где оно означает стимул, побуждающий ученика приспосабливать свое поведение в окружающей среде.
Таким образом, практическая подобласть ИИ под названием «machine learning», в отличие от теорий усвоения знаний, нацелена на отыскание методов, с помощью которых машины могли бы усваивать знания автоматически без вмешательства человека, что и следует из классического определения данного термина:
дисциплина, ориентированная на строительство приложений, которые усваивают закономерности из данных и с течением времени повышают свою точность, не будучи для этого программируемыми
Из всего вышесказанного непосредственно вытекает один важный терминологический вывод. Говоря machine learning, мы имеем в виду именно усвоение знаний машиной. И поэтому, судя по всему, указанный термин должен переводиться как машинное усвоение.
Интересно, что в некоторых европейских языках термин «machine learning» так и переводится. В испанском языке он звучит как aprendizaje automatico или aprendizaje automatizado, то есть автоматическое или автоматизированное усвоение. И такой подход отражает суть, так как в основе модели лежит алгоритм усвоения (learning algorithm), aka искатель минимумов (или максимумов) для надлежащим образом сформулированной математической функции. Добавив прилагательное machine, получим «алгоритм автоматического усвоения», или, в более общем контексте (поменяв algorithm на model) «модель автоматического усвоения», а не как в общепринятом ныне варианте. И эту тонкость очень важно понимать, так как она меняет «знак» смысла на противоположный и правильный, то есть на автоматическое усвоение машиной закономерностей.
Например, нередко можно услышать, что специалисты, дескать, «обучают» модели. Однако, профессионалы так не говорят, по крайней мере, за рубежом. Они говорят, что они их тренируют (train), так как для них причина очевидна - все тот же алгоритм машинного усвоения, лежащий в их основе. Очень жаль, но у исследователя данных нет никакого ореола демиурга. Никто никого не обучает :-(. Как раз наоборот. Учитывая заложенный в модель математический каркас, совершенно очевидно, что она в силу своей особенности учится сама, обновляя свои параметры, а роль исследователя данных (data scientist) в целом сводится к тому, чтобы подавать в модель предобработанные исторические данные и тренировать ее делать предсказания на новых данных. Математический каркас (framework) модели перелопачивает «тонны» данных и статистически (и не только) учится на них отыскивать неразличимые для человека закономерности, регулярности и шаблоны, то есть то, что в английском называется patterns, и, разумеется, делать предсказания (predictions) в отношении ранее не встречавшихся (unseen) данных.
Поразительно, но целая передовая практическая дисциплина до сих пор не имеет правильного названия!
Вот еще несколько кратких примеров в подтверждение такому пониманию. Одним из направлений МУ является «representation learning», которое и по форме и по смыслу есть «автоматическое усвоение представлений данных». Крайне важный для МУ гиперпараметр «learning rate» должен переводится, как «скорость усвоения», так как обозначает темп, с которой модель усваивает задачу. А методика «transfer learning», которая основывается на идее преодоления парадигмы изолированности знаний и улучшает усвоение моделью решаемой задачи за счет переноса знаний из родственной задачи, должна переводится как «трансферное усвоение».
Возвращаясь к reinforcement learning, здесь речь идет о гедонистической самообучающейся системе усвоения путем проб и ошибок, которая адаптирует свое поведение с целью максимизировать подкрепление со стороны окружающей среды. Говоря проще, тут будет уместна аналогия с ослом и морковкой, где учеником является осел, а стимулом со стороны среды - морковка :). И тогда по идее данный термин должен переводиться как «усвоение стимула» или «усвоение подкрепления».
А теперь бинго! Поскольку никто никого не обучает, то нет и учителя, а есть один единственный ученик, который учится самостоятельно, и тогда все три направления в машинном усвоении должны звучать так: контролируемое усвоение (supervised learning) , то есть он учится, сверяясь с предопределенными метками, неконтролируемое усвоение (unsupervised learning), то есть, когда меток нет, и стимулируемое усвоение (reinforcement learning), то есть усвоение путем проб и ошибок под воздействием среды.
Термин «precision»
Прецизионность - это мера глубины, в сущности показывающая «мелкозернистость» или разрешающую способность результатов измерений. В отличие от нее метрика точности (accuracy) - это мера широты, или близости результатов измерений к истинному значению. Аналогичным образом, в классификационной задаче машинного усвоения антитеза между прецизионностью (precision) и полнотой (recall) в сущности означает глубину охвата и ширину охвата. В переводе термин «прецизионность» следует использовать как есть.
Термин «scaling»
В переводе следует проводить различие между ситуациями, когда указанный термин обозначает охват пространства или величину объема, и в этом случае он переводится как «масштабирование», и когда он обозначает приведение (сплющивание или растяжение) числового ряда к некому интервалу, и тогда он переводится как «шкалирование». В таких случаях вариант перевода зависит от контекста. Стоит отметить, что это один из тех случаев, когда приходится отступать от принципа терминологического единообразия в научно-техническом переводе.
Термин «overfitting»
Не следует выдавать этот термин за пресловутое «переобучение». В машинном усвоении такого понятия как «переобучение» нет вообще от слова совсем. К тому же, вы уже надеюсь поняли, что никто никого не обучает. Переподгонка, а именно так этот термин должен переводиться, возникает, когда модель машинного усвоения слишком плотно прилегает к тренировочным данным и поэтому не способна давать точные предсказания на ранее невстречавшихся данных. Здесь неплохой аналогией является визит к портному: переподгонка - это когда костюм подогнан слишком плотно, и попытка почесать затылок приводит к расхождению швов на спине, а недоподгонка - когда наоборот, и рукава свисают до пола ;-)
Термин «bias»
В общем смысле указанный термин означает непропорциональный вес в пользу или против идеи или предмета, обычно в форме искаженности, предвзятости или необъективности, тогда как в узком смысле он означает статистически обусловленную искаженность, именуемую систематической смещенностью, и по сути аналогичен коэффициенту сдвига по оси Y в регрессии, который соответствует точке на этой оси, где прямая пересекает эту ось. В переводе следует использовать оба варианта, причем смещенность в контексте компромисса между смещенностью и дисперсией и в контексте нейронных сетей, а искаженность в контексте перекоса, вносимого в наборы данных людьми в силу своего понимания или взглядов.
Термин «performance»
Английское словосочетание «to perform one's work» означает «выполнять работу». Если в исходном тексте performance означает количество работы, то следует переводить производительность (то есть создание некого продукта за единицу времени, обозначая по сути скорость работы), а если имеется в виду качество работы, то результативность (то есть некое достижение после исполнения задачи, измеряемое стандартными метриками). Применительно к моделям машинного усвоения указанный термин обозначает результативность, измеряемую метриками точности, прецизионности и др., за исключением случаев, когда речь идет о скорости работы модели и аппаратного обеспечения в рамках вычислительных инфраструктур. Кстати, следует отметить, что в зарубежной информатике и не только в ней производительность труда человека имеет отдельный термин «productivity» (продуктивность).
Далее следуют несколько терминов информатики и программирования, важных для понимания их идиоматики.
Общая идиоматика
Термин «building»
В зарубежной информатике принят ряд метафор и противопоставлений, которые встречаются из текста в текст еще с конца 50-х годов прошлого века. И прежде всего, это метафора строительства программно-информационного обеспечения. Вот выдержка из культовой книги Фредерика Брукса «Мифический человеко-месяц»:
До сих пор помню озарение, которое я испытал в 1958 году, когда впервые услышал, как товарищ говорит не о написании программы, а о ее строительстве. В мгновение ока он расширил мое представление о программно-информационном процессе. Метафорический сдвиг был мощным и точным. Сегодня мы понимаем, насколько похожи другие строительные процессы на строительство программно-информационного обеспечения, и мы свободно используем другие элементы данной метафоры, такие как спецификации, сборка компонентов и возведение строительных лесов.
В переводе следует использовать этот термин во всех словоформах.
Термин «implementation»
В зарубежной информатике проводится четкое различие в фазах инженерии программно-информационного обеспечения: архитектура, имплементация и реализация (это можно найти и в той же книги Брукса, в частности). Под архитектурой, или архитектурным дизайном, понимается создание плана-схемы программно-информационного продукта с использованием архитектурных шаблонов. Под имплементацией - воплощение шаблонов архитектурного дизайна в структурах данных, классах, объектах, функциях, интерфейсах и т.п. Под реализацией - воплощение дизайна в готовом инструменте или законченном продукте. В переводе следует использовать этот термин во всех словоформах.
Термин «exploration»
В зарубежной информатике глагол «explore» выполняет очень важную познавательную роль и часто используется в противопоставлении с глаголом exploit. Разведывание, разведка (exploration) - это поиск новых идей или новых стратегий. Эксплуатация (exploitation) - это использование существующих идей и стратегий, которые оказались успешными в прошлом. Вот что об этом пишет Дэн Саймон в своей культовой книге по эволюционным алгоритмам Evolutionary Optimization Algorithms:
Разведывание сопряжено с высоким риском; многие новые идеи приводят к пустой трате времени и тупикам. Тем не менее, разведывание также может приносить высокую отдачу; много новых идей окупаются способами, которые мы не могли себе представить. Разумный человек использует то, что он знает и что имеет, вместо того, чтобы постоянно изобретать колесо. Но разумный человек также открыт для новых идей и готов пойти на просчитанный риск. Интеллект включает в себя надлежащий баланс разведывания и эксплуатации. Правильный баланс разведывания и эксплуатации зависит от того, насколько регулярна наша окружающая среда. Если наша окружающая среда быстро меняется, то наши знания быстро устаревают, и мы не можем во многом полагаться на эксплуатацию. Однако, если наша окружающая среда весьма последовательна, то наше знание является надежным, и, возможно, не будет иметь смысла в том, чтобы испытывать слишком много новых идей.
В переводе не следует подменять этот термин и его словоформы другими словами.
Термин «workflow»
В зарубежной информатике под термином «рабочий поток» понимается не один процесс, а именно последовательность рабочих процессов, которые выполняются стык-в-стык или с наложением, в частности производственных, административных или других процессов, через которые часть работы проходит от начала до завершения. В переводе лучше всего использовать вариации «рабочий поток», «рабочий поток процессов чего-либо» либо «последовательность рабочих процессов».
Термин «image»
Применительно к машинному усвоению и к информатике в целом, говоря об изображениях, речь почти всегда идет о цифровом снимке, представляемым матрицей пиксельных значений, и технических приемах его обработки на компьютере (ср. satellite image, X-ray image, images of cats and dogs). Выбор этого более конкретного варианта перевода еще обусловлен и тем, что слово «снимок» не является отглагольным существительным как слово «изображение» и поэтому не вносит двусмысленность, а также тем, что оно может использоваться атрибутивно как определение (ср. «снимковые данные»). В переводе следует использовать указанный вариант везде, где это возможно.
Термин «thread»
В зарубежной информатике под указанным термином понимается «нить исполнения». Иными словами, вычислительный процесс сплетается из нитей (ср. нить рассуждения, нить дискуссии). Многозадачная операционная система способна обрабатывать сразу несколько процессов, при этом процесс может состоять из нескольких нитей исполнения, являющихся главной инфраструктурной единицей планирования заданий в операционной системе.
Каждая нить исполняет свою собственную операцию (псевдо)одновременно. Приставка «псевдо» означает, что «одновременность» достигается за счет того, что процессор переключается между нитями при помощи планировщика, порождая, запуская, приостанавливая и терминируя нити. Нить может обращаться к совместному ресурсу, причем она делает это конкурентно (concurrently) с использованием замка (lock), временно перекрывающего доступ к совместному ресурсу, пока тот занят. В переводе следует использовать термины «нить исполнения», «конкурентный» и «замок» (замковый механизм).
Термин «concurrent»
Указанный термин не следует путать с термином параллельный. Последний означает равноудаленность в любой точке пространства, тогда как «конкурентный» означает схождение в одном месте или в одно время. Слово concurrent складывается из приставки con (вместе) и основы occurrence (появление). К примеру в лингвистике существует термин co-occurence (коокуррентность, co-возникновение) и его разновидность concurrence, которыми обозначается частота появления двух или более слов вместе в словарном корпусе.
Конкурентная программа допускает синхронизованную обработку нитей исполнения (или ветвей кода) при обращении к совместным данным путем переключения контекста, тогда как параллельная программа исполняется одновременно на разных процессорах, в разных ядрах или нитях эквидистантно, не пересекаясь.
Термин «lock»
Указанный термин следует переводить как «замок». В информатике замок представляет собой механизм контроля доступа к данным с целью их защиты. В программировании замки часто используются для того, чтобы несколько программ или нитей исполнения могли использовать ресурс совместно - например, обращаться к файлу для его обновления - на поочередной основе.
Иными словами, замки являются механизмом синхронизации, абстракцией, которая позволяет не более чем одной нити владеть им одновременно. Владение замком – это то, как одна нить говорит другим нитям: «я модифицирую этот элемент, и поэтому прямо сейчас не трогайте его». Приобретение замка позволяет нити иметь эксклюзивный доступ к совместным данным, охраняемым этим замком, заставляя другие нити блокировать свою работу.
Термин «service»
Указанный термин в переводе как «служба» появился еще со времен ОС Windows 3.0 примерно в 1990 году, когда она стала многозадачной (и живет в Windows по сей день - нажмите CTRL+ALT+DEL, чтобы попасть в Диспетчер задач и взгляните на последнюю вкладку). В те годы Интернет только зарождался, а о веб-службах не было еще и речи. Сегодня термин «служба» (не пресловутый «сервис») широко принят в русскоязычной документации среди таких гигантов ИТ как Microsoft и Google, а также IBM, HP и многих других, поэтому нет причин вводить термин-однодневку. В книгах, посвященных новейшей технологии, именуемой MLaaS («Машинное усвоение как служба»), в которой модели машинного усвоения выставляются в качестве служб для обслуживания запросов, поступающих со стороны конечных пользователей, на получение модельных предсказаний, термин «serving» нередко встречается свернуто как «обслуживание», но следует помнить, что под ним подразумевается именно модельное обслуживание запросов, aka доставка предсказаний конечным пользователям.
Парные термины «referencing» и «dereferencing»
В языках C/C++, Rust и подобных референция – это операция опосредования, которая заключается в создании указателя на существующее значение путем получения его адреса в памяти с помощью оператора референции &
. Дереференция – это операция опосредования, которая заключается в получении существующего значения по указателю с помощью оператора дереференции *
. Термин «разыменование» для «dereferencing» разрывает парную связь с referencing и вносит пустую сущность «именование», тогда как речь идет об операции с указателем, а не с именем.
Термин «design»
В целях предотвращения путаницы следует проводить различие между термином «дизайн», как процессом формирования идеи, составления плана-схемы и прототипирования выбранного варианта и термином «проект», как запланированной работой или деятельностью, которая завершается по установленному графику и предназначена для достижения определенной цели. Все случаи появления термина «design» в той или иной форме не следует переводить как «проектирование». Правильными вариантами могут быть «дизайн» или «конструирование (дизайна/плана-схемы)», во избежание пересечения с термином «проект», как в случае the project involves taking several design decisions (проект предусматривает принятие нескольких решений в отношении вариантов дизайна).
Термин «software»
Указанный термин за рубежом понимается, как программы и операционная информация, необходимые компьютеру, поэтому, по-видимому, его следует переводить точнее, как программно-информационное обеспечение, так как оно включает в себя компьютерные программы, библиотеки и связанные с ними неисполняемые данные, такие как онлайновая документация или цифровые носители.
Справочный материал
О теориях усвоения знаний:
https://en.wikipedia.org/wiki/Learning_theory_(education)
https://teacherofsci.com/learning-theories-in-education/
https://vikent.ru/enc/6380/ (теория усвоения знаний Б. Блума)
https://tech.wikireading.ru/htmxdVuIrh
Статья Питера Рудина «Мысли об усвоении знаний человеком по сравнению с усвоением знаний машиной». Среди прочего, автор характеризует машинное усвоение как генерирование цифрового знания.
Любопытный педагогический текст о различных методах усвоения знаний (learning methods), стилях мышления и методах обучения (teaching methods = методах преподавания, передачи знаний).
Об альтернативном переводе терминов machine learning и learning algorithm:
https://ru.wikipedia.org/wiki/Обучающаяся_система
https://bigenc.ru/mathematics/text/1810335
Об истории reinforcement learning и теориях усвоения знаний:
http://incompleteideas.net/book/first/ebook/node12.html
О конкурентности и замках:
https://en.wikipedia.org/wiki/Co-occurrence
https://en.wikipedia.org/wiki/Concurrent_computing
http://developer.alexanderklimov.ru/android/java/thread.php
https://search400.techtarget.com/definition/lock
https://www.webopedia.com/TERM/R/resource_locking.html
http://web.mit.edu/6.005/www/fa15/classes/23-locks/
Практикум
Статья Питера Рудина «Мысли об усвоении знаний человеком по сравнению с усвоением знаний машиной» начинается так:
Learning is the act of acquiring new or reinforcing existing knowledge, behaviors, skills or values. Humans have the ability to learn, however with the progress in artificial intelligence, machine learning has become a resource which can augment or even replace human learning.
Усвоение знаний (learning) - это процесс приобретения новых или укрепления существующих знаний, поведения, навыков или ценностей. Люди обладают способностью усваивать знания, однако с прогрессом в области искусственного интеллекта машинное усвоение знаний (machine learning) стало ресурсом, который может дополнять или даже заменять усвоение знаний человеком (human learning).
Этот пассаж переведен 1-к-1 без эквилибристики с терминами. Посмотрите, как его смысл затуманивается, если использовать двусмысленное слово «обучение», которое может означать получение знаний И передачу знаний:
Обучение (learning) (?) - это процесс приобретения новых или укрепления существующих знаний, поведения, навыков или ценностей. Люди обладают способностью обучаться (?), однако с прогрессом в области искусственного интеллекта машинное обучение (?) (machine learning) стало ресурсом, который может дополнять или даже заменять человеческое обучение (?) (human learning).
Это поправимо, если поменять «обучение» на «самообучение», несколько убрав расплывчатость:
Самообучение (learning) - это процесс приобретения новых или укрепления существующих знаний, поведения, навыков или ценностей. Люди обладают способностью обучаться (?), однако с прогрессом в области искусственного интеллекта машинное самообучение (machine learning) стало ресурсом, который может дополнять или даже заменять человеческое самообучение (human learning).
Но в такой форме изложение все-равно имеет немного двусмысленности и получается несколько перенасыщенным словами с «само-». Очевидно, что первый вариант - самый точный и понятный.
Выводы
Подытоживая, приведенный выше перечень ни в коем случае не является исчерпывающим и служит для того, чтобы привлечь внимание к данной проблематике специалистов в области ИТ и информатики в целом, а также инженеров ИИ, которые строят системы машинного усвоения, то есть то, что в английском языке носит название «machine learning systems».
Мы имеем феномен, который называется «усвоением знаний человеком и животными». Этот феномен объясняется теориями усвоения знаний (в частности павловской теорией условных-безусловных рефлексов). В 60-х годах XX-го века компьютерные ученые задались вопросом о том, как создать самообучающуюся машину, и дали классическое определение такой машины (определение дано выше в посте), как способной автоматически усваивать знания из данных, не будучи для этого программируемой. То есть признавалось, что вычислительную машину, в отличие от людей и животных, которые наделены такой способностью по природе, надо еще наделить способностью усваивать знания. Это делается путем строительства специальных моделей машинного усвоения знаний, в основе которых лежит алгоритм машинного усвоения. Строительство таких моделей и алгоритмов и является предметом подобласти ИИ под названием «машинное усвоение» (МУ). Поразительно, но у нас целая передовая практическая дисциплина до сих пор не имеет правильного названия!
К сожалению, приходится констатировать, что вынесенное в заголовок поста утверждение близко к реальности - у нас до сих пор нет четких и выверенных терминологических стандартов. Переводы бывают переполнены англицизмами типа паттернов, разные термины источника переводятся одним термином или один термин источника в разных местах переводится по-разному, и оттого они похожи на наукообразный и полу-понятный хайп. Издательствам же приходится приспосабливаться, выбирая хайп вместо точности.
По моему скромному убеждению, в целях обеспечения понятного взаимообмена и повышения конкурентноспособности нашего образования назрела необходимость в выравнивании понятийного аппарата информатики с принятым во всем мире.
mayorovp
Ну разумеется, если каждый переводчик будет решать что и как переводить — никогда стандартов не появится...
Давно уже устоялся термин "машинное обучение". И нейросети в России не "тренируют", а именно что обучают.
Всегда был "потоком" (управления). Слово "нить" тоже допустимо использовать, но только если надо отличить thread от stream или flow.
Всегда переводился как "блокировка", которой он по смыслу и является.
В контексте системного администрирования следует переводить, безусловно, как службу (хотя и "сервис" будет понятным), а вот такая вещь как "web service" может быть только "веб-сервисом".
Всевозможные FOOaS также должны переводиться как "FOO как сервис", а не как "FOO как служба", потому что в русском языке фирмы клиентам предоставляют именно сервис, а не службу. Разумеется, фирма может обслужить клиента, т.е. предоставить ему обслуживание, но "FOO как обслуживание" выглядит ещё более коряво.
sshikov
>И нейросети в России не «тренируют», а именно что обучают.
Особенно если учесть, что сама она обучиться ничему не способна, и именно специалист ее обучает, тем или иным образом. Т.е. речь идет о процессе, активным действующим лицом которого является скорее человек, а не нейросеть, которая чего-то там сама «усваивает».
capissimo Автор
нейросеть тренируют, она усваивает неуловимые человеком закономерности aka регулярности.
sshikov
Да-да. Есть такой метод наименьших квадратов, ему сто лет в обед. Он умеет вписывать кривую в известный набор точек. Сказать, что он может что-то там усвоить — это нонсенс. Машинное обучение конечно далеко ушло от метода наименьших квадратов, но интеллекта в нем ровно столько же — и это интеллект разработчика.
capissimo Автор
Вы не внимательно читали пост. Отцы-основатели МУ исходили из иерархии:
«усвоение знаний» -> «теории усвоения знаний» -> [«усвоение знаний животным» (animal learning), «усвоение знаний человеком» (human learning) и «усвоение знаний машиной» (machine learning)].
kryvichh
"Усвоение знаний", по сути, и есть "обучение". Просто "усвоение" — более широкое понятие. Например, усвоение питательных веществ организмом в процессе переваривания. Поэтому когда Вы пишете "машинное усвоение", вы подразумеваете "машинное усвоение знаний". Это длинно, проще написать "машинное обучение".
capissimo Автор
Обучение несет в себе двусмысленность: передавать знания и получать знания. Поэтому learning в психологии, например, переводится как усвоение знаний. Уже упоминал ниже дважды про последствия такого недопонимания: перевод термина representation learning. Тело определения говорит, что «это методика, которая позволяет системе автоматически обнаруживать представления, необходимые для выявления признаков или классифицирования из сырых данных». НО определяемое не имеет никакого отношения к телу определения. Термин правильно звучит так "(автоматическое) усвоение представлений данных", тогда как в вики «обучение признакам». И только один случай. А еще есть пустая сущность «учитель», которой нет за рубежом от слова совсем.И далее по списку.
kryvichh
В процессе обучения (усвоения знаний) наличие учителя не обязательно. Иногда достаточно хорошей [переводной] книги — источника знаний. ;)
P.S. Статью плюсанул, за поднятие интересной темы.
capissimo Автор
Благодарю, но тут местные охранители уже обнулили)
capissimo Автор
После нескольких повторов, сознание привыкает к «машинному усвоению»))
capissimo Автор
NN как и любую другую модель тренируют
capissimo Автор
По поводу каждого переводчика. Повторяю в сотый раз. Я исхожу из железобетонного принципа здравого смысла «если все глобальное программистское сообщество мыслит в терминах «нитей» и «замков», то и я буду тоже», и принципа бритвы Оккама и пытаюсь донести до вас смысл в том виде, в котором он передается там, откуда к нам поступает вся информация, убрав искажающий фильтр. Поток-то однонаправленный оттуда сюда. Вы же пытаетесь отстоять местечковое (неправильное) понимание.
tyomitch
У французов tache «задача», у поляков watek «кладка», у турков parcac?k «частица»…
Каждый (...) как он хочет.
capissimo Автор
При этом следует все-таки учитывать лидерство английского языка. И кому же нигде из упомянутых языков нет наложения как у нас с потоками) 1:0 в мою пользу.
johnfound
Ну, раз так, то пусть будут «тред» и «лок». Зачем усложнять?
capissimo Автор
lock. С блокировкой 2 проблемы: это отглагольное существительное, и этот перевод вступает в коллизию со словом block, т.е. тем самым действием, которое нить выполняет, когда совместный ресурс закрыт на замок. К тому же процессор не управляет, а исполняет команды.
train. Модель МУ тренируют, какой бы она ни была, в том числе нейросеть.
service. В научно-технической литературе нет такого явления, как «здесь хочу это, а там хочу то». Это называется принципом единообразия.
thread. Интересно, как вы будете обходиться, когда речь идет об обработке streams с использованием threads? ))
machine learning. Ничего не вечно под луной. Точка
mayorovp
Блокировка потому и называется блокировкой, что она блокирует выполнение нити. Это не коллизия, а этимология. Это во-первых.
А во-вторых, устоявшийся русский термин называется "блокировка" независимо от ваших аргументов. Если вы желаете, чтобы ваши переводы были технической литературой, а не макулатурой — надо использовать именно "блокировку" и точка.
Вот только принцип единообразия относится к терминам, а не к словам. И такие вещи, как "windows service", "web service" и "foo as service" — это разные термины, и принцип единообразия не требует переводить их одинаково.
И если вы как переводчик не понимаете, что в зависимости от контекста одно и то же слово может переводиться по-разному и требуете какого-то там "единообразия" — вон из профессии!
capissimo Автор
Без комментариев
Manyak872
А в чём проблема для stream использовать стрим? Скоро будет такое же обычное слово, как арбуз или штаны.
capissimo Автор
Коммент из разряда «все-равно все умрем»)) Я вам про Фому (про правильное понимание), вы мне про Ерему (статус-кво есть, и пусть оно остается, даже если неправильное).
Barbaresk
Что за бред? У вас как бы одно слово может иметь несколько значений и при переводиться по-разному в зависимости от контекста. Вы слово «коса» с русского как будете переводить? Как прическу, географический объект, с/х инструмент или кухонный инструмент? И всё это разные слова. Так и service имеет несколько смыслов в одном слове, а в языке, на который слово переводится есть несколько разных слов для этого.
Причём как переводчику следовало бы знать, что один-в-один ни один перевод невозможен. А если бы был возможен, то вы бы остались без работы. Вообще статья напоминает картинку про 15 стандартов — ненужная графомания.
capissimo Автор
Сторонитесь чела, который начинает свои мудрствования со слова бред.
KvanTTT
Отзывов к книгам подобно хабровским тоже немало:
capissimo Автор
Был выхвачен всего 1 нужный комментарий из 7, среди которых 5 были позитивными и 1 нейтральным. Вот пример позитивного:
Хорошее введение в основы Data Science. Коротко, ясно и по делу. Пожалуйста, не воспринимайте эту книгу, как всеобъемлющее руководство. Перевод отличный + ценные комментарии от переводчика. Качество печати и иллюстраций вполне приемлемое, лучшего и не надо. За лучшее всегда приходится платить больше, а это не тот случай.
По второй книге имелось всего 2 текстовых отзыва, один из которых негативный.
В моей практике комменты к любому переводу бывали с плюсом и с минусом — сколько читателей, столько и мнений. Если хочешь давать весомую оценку, то потрудись предложить факты, а не чьи-то субъективные оценки.
capissimo Автор
Любой знает, что терминология не устоялась, и нет стандартов. Но и мои переводы с годами эволюционировали. По началу я использовал ГОСТы по сертификации, где в качестве валидационной проверки встречал контрольную проверку. Помимо кроссвалидации, чаще используется более понятная «перекрестная валидация». Сейчас я придерживаюсь этого варианта. Были бы стандарты, этой дискуссии не было бы. Что касается flatten, то это слово тоже переводится по-разному — уплощение, сжатие, сглаживание, вертикальное разворачивание и пр. Выбрано сглаживание, т.к. в англ. iron (утюг) flattens the sheets, и приведено английское слово, чтобы дать читателю понять, о чем идет речь. В подобных случаях всегда привожу английский термин.
capissimo Автор
Улыбнуло. Вы только что бредом обозвали принятую во всем мире парадигму!!!
Поразительно! Как переводчику мне точно известно, что в научно-техническом переводе синонимия вредна, и термин характеризуется тем, что имеет уникальное имя. Термин не должен называться по-разному в разных контекстах. Иначе может произойти подмена терминов, а сам тест станет логически несвязным спагетти.
capissimo Автор
Следите за пальцами. В многозадачных ОС сперва некоторые задачи были выделены в службы. Потом некоторые службы были перенесены на сервер локальной сети. Потом с развитием интернета некоторые были вынесены вовне на машины за пределами локальной сети. И потом уже некоторые службы стали распределенными и облачными. Показан весь процесс развития служб. Скажите на каком этапе рубильник включается в положение «сервис»?)))))))))))))))
mayorovp
Не думаю, что веб-сервисы появились в результате переноса служб на сервер локальной сети.
И уж точно IaaS никогда не имела в предках ни одного веб-сервиса.
capissimo Автор
А ничего, что Google, Microsoft, IBM и даже HP (у моей дочки один из последних ноутбуков HP, и на нем фирменное приложение с облачными СЛУЖБАМИ наподобие службы печати и службы конфигурирования и пр., и все на русском) в документации везде используют службы, включая TensorFlow?
masai
Вы, выходит, тоже конформист, раз ссылаетесь на документацию? :)
capissimo Автор
Я ссылаюсь на факты. Они состоят в том, что поток данных по информатике и поток изобретений в области ИИ/ML идет оттуда сюда, а не наоборот. А значит и вся терминология. И если под конформизмом вы это понимаете, то да, конформист. Но я это называю практичностью. А вот отстаивать не вами придуманные ошибки, считаю, неразумно.
capissimo Автор
По ходу двухдневной дискуссии начинаю понимать, насколько все запущено тут.
masai
У меня такая же мысль.
capissimo Автор
Обратите внимание, я отстаиваемую позицию, которая укладывается в общепризнанную и обыденно понимаемую во всем мире парадигму, именуемую как усвоение знаний машиной, или машинное усвоение знаний, где под знанием подразумевается линия поведения, а также закономерности, регулярности и шаблоны, неуловимые для человека...)
capissimo Автор
Исхожу из железобетонного принципа здравого смысла «если все глобальное программистское сообщество мыслит в терминах «нитей» и «замков», то и я буду тоже» и принципа бритвы Оккама «не порождай пустых сущностей», термины thread и lock должны переводиться без искажений, что и было сделано.
Serge78rus
Не Вы первый и не Вы последний. Помнится во времена, когда текстовые редакторы только начали массово входить в обиход русскоязычных пользователей и стала появляться первая русскоязычная литература по ним, автор одной из книг по multiedit (ни фамилии автора, ни названия книги уже не вспомню) объявил крестовый поход против одинакового перевода «string» и «line» как «строка». Помнится, что для «line» он придумал перевод «полоска». Книга в общем-то вышла вполне полезная, ибо «на безрыбье и рак рыба», но дальше конкретной книги вновь изобретенная терминология не пошла, хотя и была логически обоснованной, чему автор даже посвятил отдельный раздел во введении.
Если терминология уже устоялась, то, даже если она не очень удачная, борьба с ней превращается в донкиходство.
tyomitch
Кстати да — если текстильная тематика так берёт вас за душу, то перевод string как «строка» вас ведь тоже не устроит? Будут у нас «шнурковые переменные»?
capissimo Автор
Крайности. Но проблема есть. В особенности, когда в одном предложении встречается string, row и line. Тогда для первого будет переменная типа String, для второго — строка таблицы/файла и третьего — строка кода. В остальных случаях строковая переменная/значение. Надо признать, что в литературе в 80х годов прошлого века использовалась цепочка символов. Сегодня нередко можно встретить и последовательность символов.
capissimo Автор
Скажу больше — назрела необходимость русифицировать прилагательное default-ный. Например в Java, C++ и Rust есть проблема с переводом термина default implementation. По идее тут должно переводиться как дефолтная имплементация (программисты будут только за, т.к. нет искажений), поскольку «по умолчанию» делает перевод громоздким и малопонятным.
capissimo Автор
Термины lock и block нередко оба переводятся расплывчато как «блокировка», под которой может пониматься и объект, и процесс. Эти слова встречаются в текстах очень часто, и поэтому, если переводить их одинаково, то получится мешанина, которую будет невозможно понять. В английском языке для процесса блокирования как приостановки продвижения есть свой термин blocking, а под термином lock имеется в виду «замок», «замковый защитный механизм», locking будет соответственно установкой замка, замыканием.
Rsa97
Не надо трогать замыкание. Это уже устоявшийся термин, соответствующий английскому «closure». Никакого отношения к блокировке («lock») он не имеет.
syrslava
capissimo Автор
Вы серьезно считаете, что, скажем, американцы, говоря services в контексте Windows имеют в виду одно, а в контексте Интернет — другое? Если да, то я — в экстазе. Учитывая, что американцы неизменно твердят одно слово «services» в рамках ОС и в рамках Веб, у меня такое ощущение, что кто-то из двух не догоняет: либо американцы (твердя одно и то же), либо местные «спецы», которые на пустом месте изобретают сущности.