16.01.2023 | Leave a comment Содержание ВЗГЛЯД / Переводчик Google начал предлагать заменять «дорогих русских» на «мертвых» :: Новости дняКак создать переводчик, который переводит лучше, чем Google Translate / ХабрЭтап 1: Подготовка данных для обученияЭтап 2: Генерация словаря токеновЭтап 3: Тренировка моделиЭтап 4: Тестирование качества моделиЭтап 5: Упаковываем модель в Argos TranslateВ качестве заключения 10 лучших расширений перевода для Chrome Что Chrome может перевести самостоятельно с помощью Google Translate? Ограничения Google Translate 1. DeepL Translator 2. ImTranslator 3. Lingvanex 4. Mate Translate 5. Quick Translator 6. Readlang Web Reader 7. Rememberry 8. Reverso 9. TransOver 10. XTranslate Перевод языков в Google Таблицах ВЗГЛЯД / Переводчик Google начал предлагать заменять «дорогих русских» на «мертвых» :: Новости дня Минобороны показало кадры уничтожения ударом с беспилотника танка украинских войскРоссийские военные с воздуха нанесли удар по военному аэродрому Украины Сервис перевода Google Translate начал предлагать изменить на английском языке фразу «дорогие русские» на «мертвые русские». При вводе в Google Translate фразы «dear Russians» (дорогие русские), сервис выдает «подсказку» – «возможно, вы имели ввиду: dead Russians» (мертвые русские), замечает РИА «Новости».При этом составление такой же фразы с указанием других национальностей программу не смущает – она не видит ошибки.В четверг Роскомнадзор сообщил о применении к Google «мер понуждения» – запрета на распространение рекламы компании и ее информационных ресурсов из-за многочисленных нарушений российского законодательства. Эти меры направлены против «Google поиск», Google Play, YouTube, YouTube Music, Google Chat, Gmail».Также в качестве меры будет информирование поисковыми системами интернет-пользователей о нарушении иностранным лицом законодательства России. «Меры понуждения» информирующего и экономического характера в отношении Google будут действовать до устранения компанией нарушений.Также сообщалось, что эксперты ВЦИОМ считают, что большинство западных площадок используются для беспрецедентной информационной кампании против России. Фейки, деструктив, противоправные материалы активно распространяются на зарубежных платформах, в то время как российские СМИ и контент с фактами и российской позицией систематически ограничиваются. Подписывайтесь на ВЗГЛЯД вГенпрокуратура Германии заявила о роли России в организации госпереворотаГенпрокуратура ФРГ: Подозреваемые в подготовке госпереворота заговорщики связывались с представителями России Участники готовящегося госпереворота в Германии связывались с представителями России, но не получили поддержки, сообщается в заявлении генпрокуратуры Германии. В ведомстве подчеркнули, что подозреваемые планировали совершить госпереворот в качестве промежуточного шага. Следующим шагом стало бы создание переходного (военного) правительства, которое затем согласовало бы новый государственный порядок в Германии с державами – победительницами во Второй мировой войне, основным контактным лицом при этом является Россия, передает ТАСС.Уточняется, что обвиняемый Генрих XIII П. Р. уже связался с представителями России в Германии, однако следствие подчеркивает, что нет признаков положительного отклика со стороны Москвы.Также отмечается, что задержанная в Германии россиянка Виталия Б. подозревается в установлении контакта между лидером заговора и представителями России.При этом в посольстве России в Германии заявили, что пока не получали уведомлений от германской стороны о задержании россиянки, однако заверили, что в случае поступления обращения россиянке будет оказана «необходимая консульско-правовая поддержка в рамках имеющихся полномочий».Ранее сообщалось, что в Германии началась крупная полицейская спецоперация против планировавших госпереворот заговорщиков. Обыски прошли более чем в 130 домах, офисах и подобных помещениях. Задержаны 25 мужчин и женщин, которые поддерживали членов террористической организации правого толка. В США в законопроект включили блокировку золотого резерва России Комитеты конгресса США предложили провести заморозку российского золотого резерва, сообщают информационные агентства. Блокировка золотого резерва России включена в проект об оборонном бюджете США, передает ТАСС со ссылкой на документ.Напомним, блокировку золотого резерва России американские сенаторы предлагали еще в марте 2022 года, обоснованием для блокировки планировалось сделать спецоперацию на Украине.По данным СМИ, заморозке должны подвергнуться около 132 млрд долларов в золотом эквиваленте.Новости СМИ2 Лавров рассказал об увиденных в Швеции гендерно-нейтральных туалетахЛавров поделился впечатлениями от увиденных в Швеции гендерно-нейтральных туалетов Министр иностранных дел России Сергей Лавров в рамках международного форума «Примаковские чтения» рассказал о своем неприятном опыте «знакомства» с гендерно-нейтральными туалетами. Такие уборные, по словам главы МИД, он впервые увидел в Швеции в прошлом году, когда Лавров посещал заседание СМИД ОБСЕ.«Мне показали комнату с буквами WC. Я спросил, это для дам или для джентльменов. Мне ответили: «у нас все общее», – передает ФАН слова министра.Лавров признался, что изначально не поверил услышанному. По мнению дипломата, обустраивать совместные уборные – «не по-людски».Ранее Лавров заявил, что в российском обществе, подавляющее большинство представителей которого придерживаются православных традиций, гомосексуализм не приживется. В ДТП с военным грузовиком и микроавтобусом в ДНР погибли 16 человекГрузовик с военнослужащими и микроавтобус столкнулись в ДНР, погибли 16 человек Грузовой автомобиль и микроавтобус столкнулись в Шахтерском районе Донецкой народной республики (ДНР), погибли 16 человек, пострадали еще трое, сообщили в экстренных службах. Как сообщил источник ТАСС, на трассе Шахтерск – Торез столкнулись грузовик с военнослужащими и микроавтобус, погибли 16 человек, трое пострадавших госпитализированы.Ранее заместитель врио губернатора Херсонской области Кирилл Стремоусов погиб в ДТП.Новости СМИ2 СМИ: Запрет на российскую нефть обернулся для Евросоюза энергетической «бомбой»Politico: Евросоюз заложил энергетическую «бомбу» Запретив продавать на европейском рынке российскую нефть, Европейский союз заложил энергетическую «бомбу», пишет обозреватель Чарли Купер для издания Politico. «Если ближайшие недели мир проживет без серьезной волатильности на нефтяных рынках, следующая крупная санкционная «бомба» может нанести удар как по поставкам энергоресурсов в Европу, так и по мировым ценам», – передает РИА «Новости» со ссылкой на статью.Отмечается, что самой Москве введение потолка цен на нефть сильно не повредит. Россия сможет найти новых покупателей на свою нефть, а вот риски ответа недооценивать нельзя, отметил Купер.При этом Европа очень сильно зависит от Москвы в плане импорта дизельного топлива, 60% поставок этого нефтепродукта приходится на нее и легких альтернатив нет.Напомним, с 5 декабря вступило в силу эмбарго Евросоюза на перевозимую танкерами российскую нефть и начал действовать ценовой потолок на морские поставки этого ресурса. Путин назвал значимые результаты спецоперацииПутин: СВО – длительный процесс, но значимые результаты уже есть Спецоперация на Украине является длительным процессом, однако значимые результаты уже есть, заявил президент России Владимир Путин на встрече с членами Совета по развитию гражданского общества и правам человека (СПЧ). «Что касается длительного процесса результатов СВО, то, конечно, это длительный процесс может быть. Но вы упомянули, что это появились новые территории, ну вот, такой все-таки значимый результат для России. Это серьезный вопрос. Ну чего ж там греха таить, и Азовское море стало внутренним морем России. Петр I еще боролся за то, чтобы выйти к Азовскому морю», – передает его слова ТАСС.«И самое главное – люди, которые проживают на всех этих территориях, – добавил Путин. – Результаты референдумов показали, что люди хотят быть в России и считают себя частью этого мира. Частью нашей общей культуры, традиций, языка. И вот это самый главный результат. И они теперь с нами, а это миллионы людей. Это самое главное!»Ранее Путин заявил, что отстаивание прав народа Донбасса имеет огромное значение, важно, что Совет по правам человека продолжает разоблачать преступления Киева.Новости СМИ2 В проект оборонного бюджета США внесли исключение России из G20 Соединенные Штаты намерены добиться исключения российской стороны из G20, это предполагает проект оборонного бюджета страны, сообщили в комитете по делам вооруженных сил Палаты представителей Конгресса. Документ предусматривает исключение российской стороны из G20, Базельского комитета по банковскому надзору, Совета по финансовой стабильности, Международной ассоциации страховых надзоров и Международной организации комиссий по ценным бумагам, передает ТАСС со ссылкой на заявление.Также в проект включили предложение о сдерживании России в Европе, на что планируется потратить 6 млрд долларов. Высокоточным ударом в Кривом Роге уничтожено более 70 ракет РСЗО HIMARS В результате удара высокоточным оружием по складу вооружения в одном из цехов металлургического комбината ArcelorMittal в Кривом Роге уничтожены более 70 ракет РСЗО HIMARS, сообщил на брифинге официальный представитель Минобороны генерал-лейтенант Игорь Конашенков. Кроме того, ликвидированы две пусковые установки РСЗО MLRS, еще четыре установки того же типа получили критические повреждения, сообщается в Telegram-канале Минобороны России.Новости СМИ2 В России оценили версию о «русском следе» в подготовке госпереворота в ГерманииЭксперт назвал разоблачение госпереворота в Германии зачисткой толерантных к России активистов Власти Германии используют известный своим гражданам сценарий по аналогии с «азефовщиной», чтобы запугать общество и снизить риск возникновения акций протеста. Об этом рассказал газете ВЗГЛЯД политолог Александр Камкин. Ранее полиция Германии начала крупную операцию против правых экстремистов, которые планировали штурм Бундестага и госпереворот. «Происходящее сегодня в Германии похоже на превентивную акцию против оппозиции. Еще несколько месяцев назад представители немецких правоохранительных структур предупреждали о возможных массовых акциях протеста, во главе которых, по их мнению, должны были стоять правые радикалы», – рассказал старший научный сотрудник ИМЭМО РАН Александр Камкин.«По информации различных источников, среди задержанных и подозреваемых есть даже представители старой немецкой аристократии, чуть ли не отставные генералы бундесвера и действующие офицеры. Соответственно, все это вызывает больше вопросов, чем ответов», – отметил собеседник.«Сейчас основными подозреваемыми в организации данных акций немецкие правоохранители считают несистемных правых радикалов, а также ищут связи между ними и партией «Альтернатива для Германии». Кроме того, активно муссируется «российский след», сообщается о задержании гражданки России, фамилию которой не раскрывают», – добавил он.«Отмечу, что проникновение правых радикалов в бундесвер всячески пресекается правоохранительными органами и военной разведкой. Да, в этих структурах есть правые, но в основном в среде унтер-офицерского состава. Это носит скорее формат «кухонных разговоров» и обмена мемами* в соцсетях, не более», – полагает эксперт.«Самое большее, что сегодня позволяет себе оппозиция, в том числе отставные генералы бундесвера – это критика отдельных аспектов политики немецких властей, но не свержение действующего строя», – подчеркнул Камкин.«Все это похоже на такую «азефовщину», когда правоохранители были очень глубоко вовлечены в подпольные структуры и фактически их контролировали. Но сегодня такое сходство намеренно воссоздается, чтобы использовать его как инструмент воздействия на общество и запугивания, поскольку антиправительственные настроения среди немецких граждан сейчас растут и нельзя исключать, что рано или поздно люди выйдут на улицы. Особенно остро дела обстоят в Восточной Германии», – отметил собеседник.«Поэтому власти пытаются создать такой прецедент и под него ужесточить законодательство о массовых мероприятиях. Вместе с тем пока мы не владеем всей полнотой информации и непонятно, будут ли опубликованы материалы допросов подозреваемых», – рассуждает политолог.«Лично мне кажется наиболее убедительной версия о том, что это провокация, устроенная при участии немецких спецслужб для дискредитации партии «Альтернатива для Германии», несистемной оппозиции в целом и протестных движений, которые будут активизироваться этой зимой», – полагает он.«Кроме того, я бы не исключал, что одна из целей провокации – это зачистка толерантных к России политиков и политических движений с помощью группы каких-то маргиналов. Немецким политикам и мейнстримовым СМИ выгодно выставить определенным пугалом Россию, которая, по их мнению, вмешивается буквально во всё в Германии и вообще в мире», – отметил Камкин.«Говоря о параллелях, сразу на ум приходит поджог рейхстага нацистами в 1933 году. Хоть и сценарий не совсем аналогичен, но суть провокации очень похожа», – напомнил собеседник. Напомним, правоохранительные органы Германии проводят обыски и задержания граждан, заподозренных в подготовке госпереворота и нападения на Бундестаг с захватом депутатов в заложники. Под стражей уже находятся 25 человек, сообщается на сайте генерального прокурора при Верховном суде ФРГ.По данным правоохранительных органов, задержанные могут быть последователями неонацистского движения рейхсбюргеров – сторонников концепции нелегитимности существования ФРГ.По информации генпрокуратуры Германии, арестованные принадлежат к террористической организации, созданной не позднее конца ноября 2021 года, которая поставила перед собой цель свергнуть существующий в Германии государственный строй и заменить его собственной формой государства.Участники организации связывались с представителями России, но не получили поддержки. В ведомстве подчеркнули, что подозреваемые планировали совершить госпереворот в качестве промежуточного шага. Следующим шагом стало бы создание переходного (военного) правительства, которое затем согласовало бы новый государственный порядок в Германии с державами – победительницами во Второй мировой войне, основным контактным лицом при этом является Россия.Уточняется, что обвиняемый Генрих XIII П. Р. уже связался с представителями России в Германии, однако следствие подчеркивает, что нет признаков положительного отклика со стороны Москвы. Известно, что среди задержанных оказалась россиянка Виталия Б. Следствие также отмечает, что члены группировки верят в теории заговора, схожие со взглядами американского движения QAnon.Они якобы убеждены, что в настоящее время Германией управляют члены так называемого тайного государства. Само движение рейхсбюргеров считает, что современная Германия – незаконное государство, созданное оккупационными войсками на месте Германской империи. * СМИ, включенное в реестр иностранных средств массовой информации, выполняющих функции иностранного агента В Германии началась крупная полицейская спецоперация против планировавших госпереворот заговорщиков Полиция Германии ведет крупную операцию против правых экстремистов, запланировавших штурмовать немецкий парламент, сообщает журнал Spiegel. Согласно источникам издания, спецназ проводит работу одновременно в одиннадцати федеральных землях. В данный момент задержаны 25 мужчин и женщин, которые поддерживали членов террористической организации правого толка, пишет РИА «Новости» со ссылкой на Spiegel.Уточняется, что обыски прошли более чем в 130 домах, офисах и подобных помещениях.Известно, что среди задержанных оказалась россиянка Виталия Б.По информации генпрокуратуры Германии, арестованные принадлежат к террористической организации, созданной не позднее конца ноября 2021 года, которая поставила перед собой цель свергнуть существующий в Германии государственный строй и заменить его собственной формой государства.При этом в генпрокуратуре отметили, что «нет оснований считать, что российские официальные лица поддерживали заговорщиков».В конце ноября попытку госпереворота предприняли в африканском государстве Сан-Томе и Принсипи. Начавшаяся около 0.40 по местному времени (3. 40 мск) в пятницу, она была предотвращена к 6.00, всех подозреваемых задержали.Новости СМИ2 ВСУ перебросили подкрепление к АртемовскуМарочко: Киев подтянул дополнительные силы к Артемовску Украинское командование подтянуло дополнительные силы в район города Артемовска (украинское название Бахмут) в Донбассе, заявил офицер народной милиции ЛНР Андрей Марочко со ссылкой на данные разведки. По его словам, в район Артемовска прибыло пополнение ВСУ, часть из военнослужащих сразу направили для восполнения потерь в зону активных боевых действий, часть пока находится в резерве командования, передает РИА «Новости».Ранее президент Украины Владимир Зеленский заявил, что для вооруженных сил Украины Артемовск (Бахмут) и Соледар остаются наиболее сложными участками фронта. Россия выразила обеспокоенность ситуацией с нефтяными танкерами Россия обеспокоена ситуацией у берегов Турции, где скопились российские нефтяные танкеры, заявил замглавы МИД Александр Грушко. Отмечается, что пока проблему пытаются решить на уровне транспортных и страховых компаний, но могут вынести и на политический позже, передает РИА «Новости».Грушко указал, что страхуют компании, а не государство, добавив, если проблема не будет решена, то будет подключен политический уровень.Сейчас срок ожидания для танкеров, перевозящих нефть, составляет шесть суток, сообщает пресс-служба Министерства энергетики Казахстана, передает ТАСС.Отмечается, что для зимнего сезона это нормальное ожидание, в прошлом году срок ожидания составлял около 14 дней.Напомним, с понедельника вступило в силу эмбарго Евросоюза на перевозимую танкерами российскую нефть. У берегов Турции образовался затор из российских танкеров. Новости СМИ2 Меркель назвала Минские соглашения попыткой сделать Украину сильнееМеркель назвала Минские соглашения попыткой «дать Украине время» Подписание Минских соглашений было попыткой «дать Украине время», это позволило стране стать сильнее, заявила бывший канцлер Германии Ангела Меркель в интервью газете «Цайт». По словам Меркель, Украина использована данное ей время, чтобы стать еще сильнее. Она подчеркнула, что Украина 2014–2015 годов – это не современная Украина, передает ТАСС.Экс-канцлер пояснила, что уже тогда всем было ясно, что конфликт заморожен, а проблема не решена. Меркель добавила, что сомневается в том, что на тот момент страны НАТО могли оказать Украине поддержку в таком объеме, в котором они оказывают сейчас.Ранее сенатор Владимир Джабаров заявил газете ВЗГЛЯД, что неискренность и обман со стороны гарантов Минских соглашений на долгие годы определит характер действий России в отношении Запада. Минобороны показало работу бронепоезда в зоне СВО Минобороны опубликовало видео работы специального поезда, созданного для ведения инженерной разведки и восстановления путей в зоне проведения специальной военной операции. Как говорится в сообщении в Telegram-канале Минобороны, вооружение поезда составляют автоматы, снайперские винтовки, крупнокалиберный пулемет, зенитная установка и 23-мм пушка.«В первую очередь в список задач спецпоезда входит техническая разведка, разминирование, восстановление разрушенных дорожных направлений. А мощный комплекс вооружения позволяет личному составу действовать даже в самых сложных условиях», – сообщили в ведомстве.Ранее Министерство обороны опубликовало видео работы состава специального поезда «Волга», созданного специалистами железнодорожных войск Западного военного округа для ведения инженерной разведки и восстановления путей в зоне проведения специальной военной операции. Новости СМИ2 В России подготовили три варианта ответа на «нефтяной потолок цен»Власти России допустили фиксацию максимального дисконта Urals к Brent в качестве ответа на введение потолка цен на нефть Проект указа российского лидера Владимира Путина о применении ответных мер на введение странами G7 и Евросоюза потолка цен на перевозку нефти из России обсуждается его администрацией с правительством, пишут СМИ. Первый вариант подразумевает полный запрет на продажу нефти государствам, которые поддержали это ограничение, причем если формально нефть будет покупать нейтральная страна, но ее конечным получателем станет член G7, то поставка будет заблокирована, пишут «Ведомости».Согласно второму варианту, будет введен полный запрет на экспорт по контрактам вне зависимости от того, какая страна выступает получателем.Третьим вариантом может стать введение индикативной цены – фиксированной стоимости от максимального дисконта российской нефти Urals к эталонному сорту Brent. Так, в случае увеличения дисконта поставка будет запрещена.Уточняется, что пока что ни один из вариантов не согласован, в правительстве ищут другие альтернативы. Согласно информации неназваного источника, вариант с фиксацией дисконта наименее вероятен из всех.Ранее Bloomberg сообщал, что Россия изучает возможность установления фиксированной цены на свою нефть либо введение максимального уровня дисконта к международным маркам.В МИД России заявили, что Запад должен быть готов к любым контрмерам России на введение потолка цен на нефть, которое с 5 декабря вступило в силу. Смотрите ещё больше видео на YouTube-канале ВЗГЛЯД Как создать переводчик, который переводит лучше, чем Google Translate / ХабрПомню, как еще в школе на Basic я писал программу-переводчик. И это было то время, когда ты сам составлял словарь, зашивал перевод каждого слова, а затем разбивал строки на слова и переводил каждое слово в отдельности. В то время я, конечно же, не мог и представить, как сильно продвинутся технологии, и программы-переводчики станут в основе использовать механизмы глубокого обучения с архитектурой трансформера и блоками внимания.В этот раз я решил окунуться немного в прошлое и сделать то, что хорошо сделать тогда у меня не получилось.В современных задачах системы перевода нужны достаточно часто, а специалисту, занимающемуся машинным обучением, возможно чаще, чем в других видах деятельности. Потребность в переводчике стала мне необходима, и я решил прибегнуть к использованию облачных решений, в частности Google Translate.Я программирую на python, и в python есть отличная библиотека translators. Данная библиотека позволяет использовать множество различных сервисов по переводу. Причем абсолютно бесплатно. Однако, все же данное решение не идеально по нескольким причинам:Перевод выполняется достаточно долго.При большом количестве запросов, переводчик начинает пропускать предложения, т.е. оставляет их в непереведенном виде. Причем никаких ошибок при этом не выводится.Качество перевода не самое высокое, как я это проверял, я расскажу в своей статье ниже.Конечно же, не стоит изобретать велосипед, поэтому я стал использовать отличное готовое решение Argos Translate. Это open-source бесплатное решение для машинного перевода. Поддерживается огромное количество языков. Может работать в разных режимах: и как десктоп приложение, и как веб приложение, и как библиотека к python.Автор сам обучает и совершенствует модели для различных языков, однако мне нужна была модель по переводу с английского на русский язык, но данная модель в этой программе не достаточно хороша и никем не поддерживается. Поэтому я решил поддержать проект и взяться за обучение модели перевода с английского на русский язык, чтобы существенно повысить качество перевода имеющейся модели.Автор проекта Argos Translate поставляет свой скрипт обучения, доступный всем желающим. Для обучения своей модели я взял его за основу, однако в процессе несколько его видоизменил. Далее я покажу основные составляющие процесса обучения модели машинного перевода и разобью их на составные части для лучшего понимания.Этап 1: Подготовка данных для обученияДля обучения модели машинного перевода необходимо большое количество параллельных корпусов текстов, к счастью, в сети есть очень большое количество параллельных корпусов текста, за основу я взял датасеты с сайта https://opus.nlpl.eu/В качестве данных для обучения я использовал список корпусов текстов: ada83. en-ru, bible-uedin.en-ru, Books.en-ru, CCMatrix.en-ru, ELRC_2922.en-ru, EUbookshop.en-ru, GlobalVoices.en-ru, GNOME.en-ru, infopankki.en-ru, KDE4.en-ru, MultiUN.en-ru, News-Commentary.en-ru, OpenSubtitles.en-ru, ParaCrawl.en-ru, PHP.en-ru, QED.en-ru, Tanzil.en-ru, Tatoeba.en-ru, TED2013.en-ru, TED2020.en-ru, tico-19.en-ru, TildeMODEL.en-ru, Ubuntu.en-ru, UN.en-ru, WikiMatrix.en-ru, wikimedia.en-ru, WMT-News.en-ruВ общем итоге у меня получилось собрать тренировочный корпус размером более 80 млн пар предложений.Для последующей тренировки все данные нам необходимо собрать в файлы:src-train.txt — все исходные предложения на русском языке,tgt-train.txt — все переводы предложений на английском языке,all.txt — все предложения корпуса на двух языках, данный файл необходим для генерации общего словаря,src-val.txt — 2000 предложений для валидации,tgt-val.txt — 2000 переводов предложений для валидации.Этап 2: Генерация словаря токеновВ качестве основного движка модели используется библиотека нейронного машинного перевода OpenNMT-py с открытым исходным кодом на pytorch.Библиотека для тренировки использует yml конфигурационные файлы, в которых описываются параметры тренировки модели.Я использовал стандартный конфиг из репозитория argos-train: https://github.com/argosopentech/argos-train/blob/master/config.ymlВ моделях перевода argos translate используется общий словарь для обоих языков.Для генерации словаря, используется следующий скрипт, в нем берутся первые 10 млн случайных предложений из корпуса, и генерируется из них словарь размером в 50 тысяч токенов.#!/bin/bash spm_train --input=run/split_data/all.txt --model_prefix=run/sentencepiece --vocab_size=50000 --character_coverage=0.9995 --input_sentence_size=10000000 --shuffle_input_sentence=true --split_digitsВ качестве генерации словаря используется очень популярный токенизатор SentencePiece, который использует в качестве словаря наиболее частотные единицы подслов.Для перевода модели токенизатора SentencePiece в словарь модели используется команда:#!/bin/bash onmt_build_vocab -config config.yml -n_sample -1и часть конфига отвечающая за формирование словаря:#config.yml ## Where the samples will be written save_data: run/opennmt_data ## Where the vocab(s) will be written src_vocab: run/opennmt_data/openmt.vocab tgt_vocab: run/opennmt_data/openmt.vocab # Should match the vocab size for SentencePiece # https://forum.opennmt.net/t/opennmt-py-error-when-training-with-large-amount-of-data/4310/12?u=argosopentech src_vocab_size: 50000 tgt_vocab_size: 50000 share_vocab: True # Corpus opts: data: corpus_1: path_src: run/split_data/src-train.txt path_tgt: run/split_data/tgt-train.txt transforms: [sentencepiece, filtertoolong] valid: path_src: run/split_data/src-val.txt path_tgt: run/split_data/tgt-val.txt transforms: [sentencepiece, filtertoolong] ### Transform related opts: #### https://opennmt. net/OpenNMT-py/FAQ.html#how-do-i-use-the-transformer-model #### Subword src_subword_model: run/sentencepiece.model tgt_subword_model: run/sentencepiece.model src_subword_nbest: 1 src_subword_alpha: 0.0 tgt_subword_nbest: 1 tgt_subword_alpha: 0.0 #### Filter src_seq_length: 150 tgt_seq_length: 150Этап 3: Тренировка моделиВ качестве архитектуры обучаемой модели используется архитектура трансформера, состоящая из кодировщика и декодировщика, каждый размером 6 слоев. 8 голов самовнимания. Размером эмбединга – 512, и размером скрытого связующего состояния между кодировщиком и декодировщиком – 2048.#config.yml # Model encoder_type: transformer decoder_type: transformer position_encoding: true enc_layers: 6 dec_layers: 6 heads: 8 rnn_size: 512 word_vec_size: 512 transformer_ff: 2048 dropout_steps: [0] dropout: [0.1] attention_dropout: [0.1]В качестве оптимизатора используется Adam, в начале обучения в течение первых 8000 шагов используется прогрев модели, с последующим снижением скорости обучения.Для запуска процесса обучения используется команда:#!/bin/bash onmt_train -config config.ymlОбучение моей модели длилось 100 000 шагов и в общем случае занимает от 2 до 5 дней, в зависимости от конфигурации оборудования.Этап 4: Тестирование качества моделиПосле обучения нам необходимо проверить, насколько хорошо переводит наша модель.Для оценки качества модели я использовал отдельный параллельный корпус «Yandex Translate corpus 1m version 1.3» размером в 1 млн пар предложений, в качестве метрики я использовал метрику BLEU Score.Я использовал следующий скрипт для тестирования модели#!/bin/bash #тестирование модели по метрике BLEU #https://opennmt.net/OpenNMT-py/examples/Translation.html?highlight=bleu echo "Step 001 Токенизируем наш корпус тестирования" spm_encode --model=run/sentencepiece.model \ < argos-train/csv/test_crps/src-test.txt \ > argos-train/csv/test_crps/src-test.txt.sp spm_encode --model=run/sentencepiece. model \ < argos-train/csv/test_crps/tgt-test.txt \ > argos-train/csv/test_crps/tgt-test.txt.sp echo "Step 002 Переведем наш корпус с помощью модели" for checkpoint in run/openmt.model_step*.pt; do echo "# Translating with checkpoint $checkpoint" base=$(basename $checkpoint) onmt_translate \ -gpu 0 \ -batch_size 2048 -batch_type tokens \ -beam_size 5 \ -model $checkpoint \ -src argos-train/csv/test_crps/src-test.txt.sp \ -tgt argos-train/csv/test_crps/tgt-test.txt.sp \ -output run/wmt/test.ru.hyp_${base%.*}.sp done echo "Step 003 Декодируем перевод из токенов обратно в текст" for checkpoint in run/openmt.model_step*.pt; do base=$(basename $checkpoint) spm_decode \ -model=run/sentencepiece.model \ -input_format=piece \ < run/wmt/test.ru.hyp_${base%.*}.sp \ > run/wmt/test.ru.hyp_${base%.*} done echo "Step 004 Сравним два корпуса по оценке BLEU Score" for checkpoint in run/openmt. model_step*.pt; do echo "$checkpoint" base=$(basename $checkpoint) sacrebleu argos-train/csv/test_crps/tgt-test.txt < run/wmt/test.ru.hyp_${base%.*} done echo "Step End"По итогам обучения моя модель получила метрику BLEU: 21.6Для сравнения с другим переводчиком, я перевел 1 млн предложений из тестового корпуса Yandex через библиотеку translators, переводчиком Google Translate.Отдельно сравнил качество с помощью команды:#!/bin/bash sacrebleu argos-train/csv/test_crps/tgt-test.txt < argos-train/csv/test_crps/tgt-test_google.txtВ итоге получил метрику BLEU Score полученного перевода бесплатного Google переводчика BLEU: 18.7Что означает, что полученная мною модель переводит с русского на английский лучше, чем бесплатный Google Translate.Этап 5: Упаковываем модель в Argos TranslateДля упаковки модели в формат Argos Translate, необходимо выполнить ряд преобразований.Конвертация модели из checkpoint:#!/bin/bash . /../OpenNMT-py/tools/average_models.py -m run/openmt.model_step_100000.pt run/openmt.model_step_100000.pt -o run/averaged.ptКвантизация модели:#!/bin/bash ct2-opennmt-py-converter --model_path run/averaged.pt --output_dir run/model --quantization int8Конвертация модели в формат argos translate:#!/usr/bin/env python3 from pathlib import Path import json import subprocess import shutil import sys import argostrain from argostrain.dataset import * from argostrain import data from argostrain import opennmtutils from argostrain import settings import stanza from_code = input("From code (ISO 639): ") to_code = input("To code (ISO 639): ") from_name = input("From name: ") to_name = input("To name: ") version = input("Version: ") package_version = version argos_version = "1.5" package_version_code = package_version.replace(".", "_") model_dir = f"translate-{from_code}_{to_code}-{package_version_code}" model_path = Path("run") / model_dir subprocess. run(["mkdir", model_path]) subprocess.run(["cp", "-r", "run/model", model_path]) subprocess.run(["cp", "run/sentencepiece.model", model_path]) # Include a Stanza sentence boundary detection model stanza_model_located = False stanza_lang_code = from_code while not stanza_model_located: try: stanza.download(stanza_lang_code, dir="run/stanza", processors="tokenize") stanza_model_located = True except: print(f"Could not locate stanza model for lang {stanza_lang_code}") print( "Enter the code of a different language to attempt to use its stanza model." ) print( "This will work best for with a similar language to the one you are attempting to translate." ) print( "This will require manually editing the Stanza package in the finished model to change its code" ) stanza_lang_code = input("Stanza language code (ISO 639): ") subprocess.run(["cp", "-r", "run/stanza", model_path]) subprocess. run(["cp", "run/metadata.json", model_path]) subprocess.run(["cp", "run/README.md", model_path]) package_path = ( Path("run") / f"translate-{from_code}_{to_code}-{package_version_code}.argosmodel" ) shutil.make_archive(model_dir, "zip", root_dir="run", base_dir=model_dir) subprocess.run(["mv", model_dir + ".zip", package_path]) # Make .argoscheckpoint zip latest_checkpoint = opennmtutils.get_checkpoints()[-1] print(latest_checkpoint) print(latest_checkpoint.name) print(latest_checkpoint.num) print(f"Package saved to {str(package_path.resolve())}")Далее мы получаем готовую модель файла в виде «translate-en_ru-1_7.argosmodel», которую можно подгрузить и использовать в продукте Argos Translate.В качестве заключенияВ рамках данной статьи я показал, что обучить свою модель машинного перевода, которая переводит лучше, чем бесплатный Google Translate, не так уж и сложно, и под силу практически каждому.Кроме того, я показал, что существуют бесплатные продукты вроде Argos Translate, с помощью которых можно переводить тексты, не прибегая к облачным вычислителям.Так как продукт Argos Translate является бесплатным, то я поделился с сообществом своей обученной моделью в комьюнити продукта. Разработчики Argos Translate приняли мою модель Russian — English и включили в основной репозиторий моделей машинного перевода в качестве основной модели под версией 1.7.Если у вас есть идеи, как еще можно улучшить качество перевода данной модели, пишите их в комментариях, и мы вместе сможем еще сильнее улучшить данную модель!Эксперт по Машинному обучению в IT-компании Lad. 10 лучших расширений перевода для Chrome Переводчики человеческого языка обладают знаниями разных языков, что позволяет им самостоятельно читать документы на иностранном языке. Однако для остальных из нас поиск инструмента для перевода документа или веб-страницы на наш родной язык представляет собой более легкий процесс, чем попытка выучить новый язык. Инструменты для перевода на иностранные языки доступны в различных местах в Интернете. Но самый удобный вариант — установить расширение для перевода Chrome, которое даст вам результаты прямо в веб-браузере Chrome. Некоторые из этих расширений даже помогают вам при изучении нового языка. Прежде чем мы обсудим лучшие расширения для перевода Chrome, давайте углубимся в то, что Chrome может делать только с помощью Google Translate. Что Chrome может перевести самостоятельно с помощью Google Translate? Для базовой работы по переводу веб-браузер Chrome может выполнять эту работу без необходимости использования дополнительных инструментов, если у вас есть расширение Google Translate, доступное для вашей версии Chrome. Когда вы сталкиваетесь с веб-страницей в Chrome, на которой используется иностранный язык, вы можете увидеть всплывающее окно с предложением перевести страницу. Если нет, просто щелкните правой кнопкой мыши в любом месте веб-страницы и щелкните левой кнопкой мыши на «Перевести на английский» во всплывающем меню. Откроется окно Google Translate. (Вы также можете открыть окно Google Translate, щелкнув значок GT в правой части адресной строки в Chrome. ) Вы увидите вкладки как для текущего языка на странице, так и для вашего родного языка (скорее всего, английского) . Нажмите на вкладку для языка, который вы хотите увидеть. Если вы хотите перевести страницу на другой язык, нажмите на три вертикальные точки в окне Google Translate и выберите «Выбрать другой язык». Выберите язык, который вы хотите использовать, в раскрывающемся меню. Ограничения Google Translate Для бесплатного инструмента Google Translate выполняет достойную работу по точному переводу текста. Он, конечно, не идеален, но вполне справляется с переводом простых веб-страниц. Некоторые из ограничений Google Translate включают: Ошибки: Вы не должны рассчитывать на Google Translate для перевода юридического документа или других особо важных предметов. Это просто недостаточно точно, чтобы полагаться на юридически важные элементы вместо переводчика-человека. Нечетные языки: Если вы пытаетесь перевести необычный язык, точность результатов снижается. Несмотря на то, что Google Translate предлагает более 100 языков, многие из них будут иметь ограниченные преимущества, за исключением чрезвычайно простых заданий по переводу. Странные интерпретации: При обнаружении сленга или нетрадиционного языка на веб-страницах Google Translate может с трудом переводить эти элементы должным образом. Пропускает графический текст: Если часть текста на веб-странице отображается как часть изображения или фотографии, Google Translate не будет работать с ним. Теперь давайте посмотрим на 10 других вариантов расширения для перевода Chrome. 1. DeepL Translator Для поклонников веб-сайта DeepL Translator расширение DeepL Translator Chrome пытается имитировать успех этого веб-сайта. Однако это расширение для перевода Chrome не предлагает тех же функций, что и веб-сайт, поскольку его создал сторонний разработчик. (Разработчики веб-сайта DeepL Translator не предлагают расширения напрямую. ) Расширение DeepL Translator обеспечивает высокую скорость перевода, что может быть значительным преимуществом при работе с огромными документами или веб-сайтами с большим количеством текста. Кроме того, DeepL фокусируется на меньшем количестве языков, чем некоторые другие, но, поскольку большинство онлайн-переводчиков все равно борются с необычными языками, предложение меньшего количества языков, чем другие, не может быть существенным недостатком для расширения DeepL Translator. 2. ImTranslator ImTranslator обеспечивает стандартный перевод веб-страниц и документов в Интернете, но также предлагает полезную функцию обратного перевода, с помощью которой вы можете переводить текст, вносить изменения редактирования, а затем переводить обратно, чтобы определить точность ваших правок. Вы можете выбрать перевод всей веб-страницы или использовать всплывающее окно для перевода одного слова или пары предложений после их выделения. Чтобы добиться результатов перевода, расширение ImTranslator фактически пробует несколько различных бесплатных инструментов переводчика, используя эти сравнения для получения наиболее точных результатов. Думайте об этом как о краудсорсинге для цифровых переводчиков. ImTranslator поддерживает несколько десятков языков. 3. Lingvanex Для тех, кому нужна возможность переводить на большее количество языков, чем большинство переводческих расширений для Chrome, Lingvanex предлагает поддержку 127 языков. Это отличный инструмент для помощи людям в изучении нового языка, так как он позволяет быстро перевести одно слово в тексте на иностранном языке, помогая вам запомнить его. Lingvanex также имеет функцию преобразования текста в речь, поэтому вы можете услышать, как произношение слова должно звучать на иностранном языке. Также доступны фонетические транскрипции, помогающие научиться правильному произношению иностранных слов. Для тех, кому нужно перевести всю веб-страницу сразу, Lingvanex также хорошо подходит для этой функции. Если на веб-странице есть изображения со встроенным в них текстом или графический текст, этот инструмент может успешно перевести часть этого текста, что еще больше подчеркивает его универсальность. 4. Mate Translate С расширением Mate Translate для Chrome вы найдете одно из самых популярных расширений для языкового перевода. Он дает пользователям большое количество возможностей. Как и большинство расширений переводчика, Mate Translate работает со всеми веб-страницами и выделенным текстом. Но если вам нравится смотреть иностранное видео Netflix через браузер Chrome, вы можете использовать это расширение для перевода субтитров в окне Netflix. Если вы хотите узнать больше о говорении и чтении на других языках, Mate Translate предоставляет фонетические транскрипции слов. Он даже предлагает функцию аудио, которая читает переведенный текст вслух, помогая вам узнать, как слова звучат с правильным акцентом. 5. Quick Translator Расширение Quick Translator обеспечивает быстрые результаты благодаря тесной интеграции с браузером Chrome. Просто выделите слово или текстовую строку на странице, которую вы хотите перевести. Щелкните правой кнопкой мыши текст, и во всплывающем меню появится параметр «Быстрый переводчик», позволяющий выбрать его. Это расширение для перевода работает особенно хорошо для быстрого получения перевода определенного слова, когда вы читаете веб-страницу. Для студентов, изучающих иностранные языки, Quick Translator подходит в качестве помощника в учебе, потому что он очень прост в использовании и быстро работает для выбора отдельных слов, которые нужно перевести. 6. Readlang Web Reader Расширение Readlang Web Reader хорошо выполняет две функции: оно может переводить отдельные слова для десятков языков и может помочь тем, кто пытается выучить новый язык. Readlang предоставляет ряд инструментов, которые могут помочь в запоминании отдельных слов. Когда вы работаете с текстом на веб-странице с языком, который вы пытаетесь выучить, когда вы нажимаете на слово, чтобы помочь вам с переводом, Readlang отдельно создает «флеш-карту» для этого слова, которую вы можете использовать позже в учебных целях. Readlang поддерживает несколько десятков языков, что меньше, чем у некоторых других расширений перевода Chrome в нашем списке. Он также не переводит всю веб-страницу сразу, уделяя больше внимания тому, чтобы помочь вам перевести отдельные слова, когда вы читаете веб-страницу. 7. Rememberry Rememberry — еще одно расширение для Chrome, которое будет выполнять переводы на веб-сайтах и поможет тем, кто пытается выучить новый язык, учиться более эффективно. Если вы работаете с текстом на иностранном языке на веб-странице и столкнулись со словом, которое доставило вам немало хлопот, вы можете сохранить это слово в Rememberry. Программное обеспечение создаст для вас флэш-карты на основе слов, которые вы сохранили, к которым вы сможете получить доступ позже. Если вы хотите услышать, как звучат определенные иностранные слова, в Rememberry есть функция преобразования текста в речь. 8. Reverso Если вам нужен дополнительный контроль над тем, как расширение Chrome обрабатывает ваши потребности в языковом переводе, вам подойдет Reverso. Используйте меню настроек Reverso, чтобы настроить горячие клавиши и создать предпочитаемый способ получения перевода. Reverso лучше, чем большинство расширений Chrome для перевода, с точки зрения распознавания контекста, в котором появляются слова, создавая более точные переводы менее формально написанного текста. Reverso также обладает множеством универсальных возможностей, позволяя вам переводить PDF-файлы или субтитры Netflix в режиме реального времени во время просмотра фильмов. Кроме того, он работает для тех, кто изучает иностранные языки, поскольку может создавать инструменты и игры, которые помогут вам учиться более эффективно. 9. TransOver Если вы хотите быстро перевести одно слово на веб-странице, отображаемой на иностранном языке, TransOver позволяет навести курсор на слово, в результате чего перевод появится на экране. Для тех, кому нужна помощь в изучении иностранного языка, TransOver позволяет пользователям настраивать временные задержки для функции наведения, чтобы вы могли попытаться понять слово самостоятельно до того, как перевод появится на экране. У вас также есть возможность отключить перевод на определенных веб-страницах, чтобы упростить процесс обучения. Чтобы научиться произносить слова на иностранном языке, TransOver предлагает функцию преобразования текста в речь. Также есть функция обратного перевода, с помощью которой вы можете переводить текст с вашего языка на нужный иностранный язык. 10. XTranslate С XTranslate у вас будет несколько способов перевода веб-страниц или отдельных слов на странице. Вы можете щелкнуть значок перевода на странице, чтобы обработать всю страницу за один раз для получения быстрых результатов. Расширение также имеет горячие клавиши, упрощающие процесс перевода на лету. Одна из функций горячих клавиш откроет отдельное всплывающее текстовое окно в вашем браузере Chrome. Введите любые слова или полное предложение, которое вы хотите перевести, в текстовое поле. XTranslate предоставит вам перевод вместе с быстрыми ссылками на функцию словаря, чтобы вы могли узнать больше о словах на иностранном языке, если хотите. XTranslate хорошо работает с файлами PDF, обеспечивая полный перевод документа. Он поддерживает более 100 различных языков. Перевод языков в Google Таблицах Советы Водить машину Gmail Документы Овердрайв Календарь Листы Места Хром Контакты Слайды Чат Встретиться Формы Хранить Более.