|
|||||||
Какие OpenSource инструменты можно использовать для создания самодельной локальной системы перевода текста?
Время создания: 01.06.2023 10:27
Текстовые метки: нейронная, сеть, язык, перевод, translate, open source, инструменты, русский, английский
Раздел: Компьютер - Программирование - Нейронные сети
Запись: xintrea/mytetra_syncro/master/base/1685604427wtuj58ybav/text.html на raw.github.com
|
|||||||
|
|||||||
Есть такой проект - CTranslate, который является частью проекта OpenNMT. Эти проекты написаны на языках C++ и Python, и предназначенны для эффективного использования (с использованием оптимизаций для CPU и GPU) натренированных моделей в системах машинного перевода. Лицензия MIT. Перевод с английского на немецкий (en-de), с использованием данных инструментов, выглядит так: import ctranslate2 import sentencepiece as spm translator = ctranslate2.Translator("ende_ctranslate2/", device="cpu") sp = spm.SentencePieceProcessor("sentencepiece.model") input_text = "Hello world!" input_tokens = sp.encode(input_text, out_type=str) results = translator.translate_batch([input_tokens]) output_tokens = results[0].hypotheses[0] output_text = sp.decode(output_tokens) print(output_text) Текст на исходном языке разбивается на токены (encode), а затем последовательность этих токенов преобразуется в текст на другом языке (decode). Соответственно, для энкодинга требуется одна нейросетевая модель (sentencepiece.model), а для декодинга другая модель (ende_ctranslate2). Токенизатор, занимающийся энкодингом, является библиотекой Python и называется sentencepiece. Надо разобраться, где его найти, возможно здесь: https://opennmt.net/ Транслятор, занимающийся декодингом, находится здесь: https://opennmt.net/CTranslate2 Большое количество предтренированных моделей можно найти в проекте Opus-MT: https://github.com/Helsinki-NLP/Opus-MT-train/tree/master/models Там же есть модели для перевода между русским и английским в направлениях и en-ru, и ru-en. Некоторые подробности можно почитать в следующем обсуждении: https://www.linux.org.ru/news/opensource/17244223?cid=17244721 В принципе, этих инструментов достаточно, чтобы сделать локальный, независимый от наличия сети Интернет, переводчик. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|