Апертиум - Apertium

Apertium
Apertium logo.svg
Apertium-tolk.png
Apertium-tolk, простой настольный пользовательский интерфейс для Apertium, который переводится как пользовательские типы
Стабильный выпуск
3.6.1 / 24 октября 2019 г . ; 23 месяца назад ( 2019-10-24 )
Репозиторий github .com / apertium
Написано в C ++
Операционная система Совместимость с POSIX и Windows NT (ограниченная поддержка)
Доступно в 35 языков, см. Ниже
Тип Машинный перевод на основе правил
Лицензия Стандартная общественная лицензия GNU
Веб-сайт www .apertium .org

Apertium - это бесплатная платформа машинного перевода с открытым исходным кодом, основанная на правилах . Это бесплатное программное обеспечение, выпущенное на условиях Стандартной общественной лицензии GNU .

Обзор

Apertium - это система машинного перевода с поверхностным переносом , которая использует преобразователи конечного состояния для всех своих лексических преобразований и скрытые марковские модели для тегирования частей речи или устранения неоднозначности категорий слов. Теги ограничения грамматики также используются для некоторых языковых пар (например, бретонский - французский ).

Существующие системы машинного перевода , доступные в настоящее время, в основном являются коммерческими или используют проприетарные технологии, что затрудняет их адаптацию к новым видам использования; кроме того, они используют разные технологии в языковых парах, что, например, очень затрудняет их интеграцию в единую многоязычную систему управления контентом .

Apertium использует независимую от языка спецификацию , чтобы упростить участие в Apertium, повысить эффективность разработки и увеличить общий рост проекта.

В настоящее время (декабрь 2020 г.) Apertium выпустил 51 стабильную языковую пару, обеспечивающую быстрый перевод с разумно понятными результатами (ошибки легко исправляются). Являясь проектом с открытым исходным кодом , Apertium предоставляет потенциальным разработчикам инструменты для создания собственной языковой пары и внесения вклада в проект.

История

Apertium возник как одна из машин машинного перевода в проекте OpenTrad , который финансировался правительством Испании и был разработан исследовательской группой Transducens в Universitat d'Alacant . Первоначально он был разработан для перевода между тесно связанными языками, но недавно был расширен для работы с более расходящимися языковыми парами. Чтобы создать новую систему машинного перевода, достаточно разработать лингвистические данные (словари, правила) в четко определенных XML- форматах.

Разработанные для него языковые данные (в сотрудничестве с Universidade de Vigo , Universitat Politècnica de Catalunya и Universitat Pompeu Fabra ) в настоящее время поддерживают (в стабильной версии) арабский , арагонский , астурийский , баскский , белорусский , бретонский , болгарский , каталонский , крымский Татарский , датский , английский , эсперанто , французский , галисийский , хинди , исландский , индонезийский , итальянский , казахский , македонский , малазийский , мальтийский , северносаамский , норвежский ( букмол и нюнорск ), окситанский , польский , португальский , румынский , русский , сардинский , Сербско-хорватский , силезский , словенский , испанский , шведский , татарский , украинский , урду и валлийский языки. Полный список доступен ниже. В разработке Apertium также участвуют несколько компаний, в том числе Prompsit Language Engineering , Imaxin Software и Eleka Ingeniaritza Linguistikoa .

Проект принимал участие в выпусках Google Summer of Code 2009, 2010, 2011, 2012, 2013 и 2014 годов и выпусках Google Code-In 2010, 2011, 2012, 2013, 2014, 2015, 2016 и 2017 годов .

Методология перевода

Конвейер системы машинного перевода Apertium

Это общий пошаговый обзор того, как работает Apertium.

На схеме показаны шаги, которые предпринимает Apertium для перевода текста на исходном языке (текста, который мы хотим перевести) в текст на целевом языке (переведенный текст).

  1. Текст на исходном языке передается в Apertium для перевода.
  2. В deformatter удаляет разметку форматирования (HTML, RTF и т.д.) , которые должны храниться в месте , но не переведенная.
  3. В Морфологическом анализаторе сегментов текста (расширение elisions , маркировка набора фраз и т.д.), и искать сегменты в языковых словарях, а затем возвращаются BaseForm и тегов для всех матчей. В парах, включающих агглютинативную морфологию , включая ряд тюркских языков , используется Хельсинкский преобразователь конечных состояний (HFST). В противном случае используется специфическая для Apertium технология, называемая lttoolbox .
  4. Морфологическое disambiguator ( морфологический анализатор и морфологическое disambiguator вместе образует часть речи Tagger ) решают неоднозначные сегменты (то есть, когда есть более одного матча), выбирая один матч. Apertium работает над установкой большего количества структур ограничений грамматики для своих языковых пар, что позволит наложить более мелкие ограничения, чем это было бы возможно в противном случае. Apertium использует средство синтаксического анализа грамматики ограничений визуального интерактивного обучения синтаксису.
  5. Лексический перенос ищет однозначные базовые слова исходного языка, чтобы найти их эквиваленты на целевом языке (т. Е. Сопоставление исходного языка с целевым языком ). Для лексической передачи Apertium использует формат словаря на основе XML , называемый bidix.
  6. Лексический выбор выбирает между альтернативными переводами, когда слово исходного текста имеет альтернативные значения. Apertium использует особую основанную на XML технологию, apertium-lex-tools, для выполнения лексического выбора .
  7. Структурный перенос (т. Е. Это формат XML , который позволяет писать сложные правила структурного переноса) может состоять из одноэтапного переноса или трехэтапного модуля переноса. Он отмечает грамматические различия между исходным и целевым языками (например, соответствие пола или числа ), создавая для этого последовательность блоков, содержащих маркеры. Затем он переупорядочивает или изменяет фрагменты, чтобы произвести грамматический перевод на целевой язык. Это также делается с помощью lttoolbox .
  8. Морфологический генератор использует тег для доставки правильной целевого языка формы поверхности . Морфологический генератор - это морфологический преобразователь, как и морфологический анализатор. Морфологический преобразователь одновременно анализирует и генерирует формы.
  9. Пост-генератор делает любые необходимые орфографические изменения из - за контакт слов (например , elisions ).
  10. Средство форматирования заменяет разметку форматирования (HTML, RTF и т. Д.), Которая была удалена средством преобразования на первом этапе.
  11. Apertium обеспечивает перевод на целевой язык .

Языковые пары

Список стабильных на данный момент языковых пар. Наведите указатель мыши на коды языков, чтобы увидеть языки, которые они представляют.

af ar an ast eu br bg ca da nl en eo fr gl hin is id it kaz mk ms mt sme nb nn oc pt ro sc hbs slv es sv tat urd cy
африкаанс - Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
арабский Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Арагонский Нет Нет - Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет
Астурийский Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет
Баскский Нет Нет Нет Нет - Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет
Бретонский Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
болгарский Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Каталонский Нет Нет Да (⇄) Нет Нет Нет Нет - Нет Нет Да (⇄) Да (→) Да (⇄) Нет Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет Нет Да (⇄) Да (⇄) Нет Да (→) Нет Нет Да (⇄) Нет Нет Нет Нет
Датский Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Да (⇄) Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Нет Нет
Голландский Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
английский Нет Нет Нет Нет Да (←) Нет Нет Да (⇄) Нет Нет - Да (⇄) Нет Да (⇄) Нет Да (←) Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Да (⇄) Нет Нет Нет Да (←)
эсперанто Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Нет Да (⇄) - Да (←) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет Нет Нет
французкий язык Нет Нет Нет Нет Нет Да (←) Нет Да (⇄) Нет Нет Нет Да (→) - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет
Галицкий Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет
хинди Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет
исландский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет
индонезийский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Итальянский Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет
Казахский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет
македонский Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет
Малазийский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Мальтийский Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Северные саамы Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Норвежский ( букмол ) Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (←) - Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Норвежский ( нюнорск ) Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) - Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
Окситанский Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет
португальский Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет
румынский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Да (←) Нет Нет Нет Нет
Сардинский Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (←) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет Нет Нет Нет Нет
Сербо-хорватский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Нет - Да (⇄) Нет Нет Нет Нет Нет
словенский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) - Нет Нет Нет Нет Нет
испанский Нет Нет Да (⇄) Да (⇄) Да (←) Нет Нет Да (⇄) Нет Нет Да (⇄) Да (→) Да (⇄) Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Да (⇄) Да (←) Нет Нет Нет - Нет Нет Нет Нет
Шведский Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет Нет
Татарский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет Нет
Урду Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (⇄) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет - Нет
валлийский Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Да (→) Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет -

Смотрите также

Примечания

использованная литература

  • Corbí-Bellot, M. et al. (2005) «Механизм машинного перевода с открытым исходным кодом для романтических языков Испании» в Proceedings of the European Association for Machine Translation, 10th Annual Conference, Budapest 2005 , pp. 79–86
  • Armentano-Oller, C. et al. (2006) «Португальский-испанский машинный перевод с открытым исходным кодом» в конспектах лекций по информатике 3960 [Вычислительная обработка португальского языка, Труды 7-го Международного семинара по вычислительной обработке письменного и разговорного португальского языка, PROPOR 2006] , стр. 50– 59.
  • Forcada, ML et al. (2010) «Документация платформы поверхностного машинного перевода с открытым исходным кодом Apertium » в Departament de Llenguatges i Sistemes Informatics, Университет Алаканта .
  • Forcada, ML et al. (2011) « Apertium: бесплатная платформа с открытым исходным кодом для машинного перевода на основе правил ». в " DOI : 10.1007 / s10590-011-9090-0

внешние ссылки

Услуги и программное обеспечение для конечных пользователей

(Все сервисы основаны на движке Apertium)

Сайты онлайн-переводов

Автономные приложения