Рано или поздно созданный вами XML-документ кто-то захочет перевести на другой язык. В действительности XML-документы переводить гораздо легче нежели другие электронные документы, т. к. они разделяют форму и содержание и соответствуют строгому стандарту и установленному синтаксису.
Существуют различные подходы к оптимизации процесса перевода.
Языковая технология в последние 40 лет развивалась довольно разнообразно. Ранние надежды на дешёвый автоматический перевод вскоре привели к фрагментации и по сути незначительной роли данной технологии, используемой ныне для понимания смысла некоторых текстов на иностранном языке. За этот период языковая технология значительно продвинулась вперёд, и все мы ежедневно вкушаем её плоды, когда используем проверку грамматики, орфографии и навороченные поисковые системы. Тем не менее от практического машинного перевода произвольного текста нас всё ещё отделяет долгий путь, хотя были и некоторые подвижки, если текст очень строго контролировался и был из очень узкой области.
В условиях часто меняющейся документации, отражающей улучшения и нововведения в жизненном цикле продукта, лучшим ответом на вопрос об уменьшении издержек на перевод до настоящего времени являлось использование переводческой памяти. В сравнении с машинным переводом такой подход к языковой технологии относительно примитивен, однако приносит ощутимую выгоду.
Суть переводческой памяти состоит в группировании ранее переведённого текста на целевом языке с исходным языком. Делается это либо вручную, либо автоматически с ипользованием контролируемой среды для процесса перевода. Группировка обычно делается на уровне предложения, что даёт наилучший уровень практической детализации. Сгруппированные исходный и целевой текст хранятся в базе. При следующем обновлении документа осуществляется поиск в базе с целью нахождения любого неизменившегося текста. Там, где такие фрагменты обнаружены, текст на исходном языке может быть заменён на целевой. Такой метод хоть и низкотехнологичен, даёт преимущества, делая перевод более последовательным и уменьшая издержки.
Главным недостатком подхода является тот факт, что переводимая часть текста на данном языке может зависеть от контекста. При извлечении текста из базы переводческой памяти, он не захватывает контекстной информации, с которой он существовал в исходном документе. Из-за того, что никакой информации относительно текста на целевом языке нет, переводчику всё же приходится перечитывать и, если требуется, править подобранный текст. Пусть по сравнению со сплошным переводом процесс вычитки является менее дорогим, он требует времени и денег.
Подход к переводу XML-документов до настоящего времени состоял в конвертации переводимого текста и атрибутов во внешний, обыкновенно частный формат, в котором в данных ищутся совпадения переводческой памяти. По завершении процесса перевода заново переведённые предложения записываются в обычные нестандартизированные базы переводческой памяти. XML в системах такого класса рассматривается только как один из форматов.
Особого упоминания стоят некоторые важные стандарты, основанные на XML, касающиеся технологии перевода:
Спецификация OASIS’а XLIFF («XML-формат файлов обмена локализациями»), определяющая XML-модель для обмена переводимого текста из любого частного формата. Подробнее об XLIFF чуть ниже.
LISA (Ассоциация стандартов локализационной отрасли) объединяет множество основанных на XML программ под патронажем своего рабочего комитета OSCAR («Открытого стандарта для контейнеров/документов, позволяющих многократно их использовать»), помимо прочих включающего TMX. TMX позволяет обменивать переводческую память, используя XML.
Все эти замечательные стандарты направлены на обмен информацией, используя XML, а не на собственно перевод XML-документов
xml:tmxml:tm — радикально новый подход к проблеме перевода XML-документов. Это основанный на пространствах имён XML синтаксис, использующий возможности XML для внедрения дополнительной информации в сам XML-документ. xml:tm даёт дополнительные преимущества, которые являются следствием самого использования технологии.
В основе xml:tm лежит концепция «текстовой памяти». Текстовая память состоит из двух компонентов:
Авторская память
Переводческая память
Пространство имён XML используется для привязки текстовой памяти к документу. Данный процесс называется сегментацией. Текстовая память работает на уровне предложения — текстовой единицы. Каждой отдельной текстовой единице xml:tm назначается уникальный идентификатор. Этот уникальный идентификатор неизменен на протяжении всего периода существования документа. По мере прохождения документом своего жизенного цикла уникальные идентификаторы сохраняются и по мере надобности добавляются новые. Этот аспект текстовой памяти называется авторской памятью. Он может использоваться для построения систем авторской памяти, которые в свою очередь могут применяться, чтобы упростить документ и сделать его более логичным.
Следующая диаграмма показывает, как пространство имён tm привязывается к существующему XML-документу:
Рис. 1. Диаграмма привязки xml:tm
На рисунке “te” означает текстовый элемент (XML-элемент, содержащий текст), а “tu” означает текстовую единицу (одно предложение или одиночный фрагмент текста).
Ниже приведён пример фрагмента документа, использующего xml:tm. Элементы xml:tm подсвечены красным, при этом показано, как xml:tm привязывается к существующему XML-документу.
<?xml version="1.0" encoding="UTF-8"?>
<office:document-content xmlns:text="http://openoffice.org/2000/text"
xmlns:tm="urn:xmlintl-tm-tags"
xmlns:xlink="http:// www.w3.org/1999/xlink">
<tm:tm>
…
<text:p text:style-name="Text body">
<tm:te id="e1" tuval="2">
<tm:tu id="u1.1">xml:tm is a revolutionary technology for dealing with
the problems of translation memory for XML documents by using XML
techniques to embed memory directly into the XML documents
themselves.</tm:tu>
<tm:tu id="u1.2">It makes extensive use of XML namespace.</tm:tu>
</tm:te>
</text:p>
<text:p text:style-name="Text body">
<tm:te id="e2">
<tm:tu id="u2.1">The “tm” stands for “text memory”.</tm:tu>
<tm:tu id="u2.2">There are two aspects to text memory:</tm:tu>
</tm:te>
</text:p>
<text:ordered-list text:continue-numbering="false" text:style-name="L1">
<text:list-item>
<text:p text:style-name="P3">
<tm:te id="e3">
<tm:tu id="u3.1">Author memory</tm:tu>
</tm:te>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name="P3">
<tm:te id="e4">
<tm:tu id="u4.1">Translation memory</tm:tu>
</tm:te>
</text:p>
</text:list-item>
И скомпонованный документ:
Рис. 2. Скомпонованный документ
Когда документ в пространстве имён xml:tm готов к переводу, само пространство имён указывает текст, который необходимо перевести. Пространство tm может быть использовано для создания XLIFF-документа на перевод.
XLIFF — стандарт OASIS’а, расшифровывается как «XML-формат обмена локализациями». Это ещё один XML-формат, оптимизированный для перевода. Используя XLIFF, можно защитить синтаксис исходного документа от случайной порчи в процессе перевода. Кроме того можно записать иную соответствующую информацию, например переводческую память или предпочтительную терминологию.
Далее следует пример XLIFF-документа, основанного на предыдущем примере:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xliff PUBLIC "-//XML-INTL XLIFF-XML 1.0//EN" "file:xliff.dtd">
<xliff version="1.0">
<file datatype="xml" source-language="en-USA" target-language="ru">
<header>
<count-group name="Totals">
<count count-type="TextUnits" unit="transUnits">40</count>
<count count-type="TotalWordCount" unit="words">416</count>
</count-group>
</header>
<body>
<trans-unit id="t1">
<source>xml:tm</source>
<target ts="matched">xml:tm</target>
</trans-unit>
<trans-unit id="t2">
<source>xml:tm is a revolutionary technique for dealing with the
problems of translation memory for XML documents by using XML
techniques and embedding memory directly into the XML documents
themselves.</source>
<target>xml:tm is a revolutionary technique for dealing with the
problems of translation memory for XML documents by using XML
techniques and embedding memory directly into the XML documents
themselves.</target>
</trans-unit>
<trans-unit id="t3">
<source>It makes extensive use of XML namespace.</source>
<target>It makes extensive use of XML namespace.</target>
</trans-unit>
<trans-unit id="t4">
<source>The “tm” stands for “text memory”.</source>
<target>The “tm” stands for “text memory”.</target>
</trans-unit>
<trans-unit id="t5">
<source>There are two aspects to text memory:</source>
<target>There are two aspects to text memory:</target>
</trans-unit>
<trans-unit id="t6">
<source>Author memory</source>
<target>Author memory</target>
</trans-unit>
<trans-unit id="t7">
<source>Translation memory</source>
<target>Translation memory</target>
</trans-unit>
…
Текст, подсвеченный розовым, обозначает места, в которых переведённый текст заменит текст на исходном языке, как показано ниже:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xliff PUBLIC "-//XML-INTL XLIFF-XML 1.0//EN" "xliff.dtd">
<xliff version="1.0">
<file datatype="xml" source-language="en-USA" target-language="ru">
<header>
<count-group name="Totals">
<count count-type="TextUnits" unit="transUnits">40</count>
<count count-type="TotalWordCount" unit="words">416</count>
</count-group>
</header>
<body>
<trans-unit id="t1">
<source>xml:tm</source>
<target>xml:tm</target>
</trans-unit>
<trans-unit id="t2">
<source>xml:tm is a revolutionary technique for dealing with the
problems of translation memory for XML documents by using XML
techniques and embedding memory directly into the XML documents
themselves.</source>
<target>xml:tm — революционная методика решения проблем переводческой
памяти для XML-документов, использующая технологию XML и встраивание
памяти непосредственно в XML-документы.</target>
</trans-unit>
<trans-unit id="t3">
<source>It makes extensive use of XML namespace.</source>
<target>Она широко использует пространства имён XML.</target>
</trans-unit>
<trans-unit id="t4">
<source>The “tm” stands for “text memory”.</source>
<target>“tm” означает «текстовая память».</target>
</trans-unit>
<trans-unit id="t5">
<source>There are two aspects to text memory:</source>
<target>Существует два аспекта текстовой памяти:</target>
</trans-unit>
<trans-unit id="t6">
<source>Author memory</source>
<target>Авторская память</target>
</trans-unit>
<trans-unit id="t7">
<source>Translation memory</source>
<target>Переводческая память</target>
</trans-unit>
…
По завершении перевода текст на целевом языке может быть объединён с исходным документом для создания новой версии документа на целевом языке. В итоге получается идеально упорядоченный исходный документ и документ на целевом языке.
Ниже приводится пример переведённого документа xml:tm:
<?xml version="1.0" encoding="UTF-8"?>
<office:document-content xmlns:text="http://openoffice.org/2000/text"
xmlns:tm="urn:xmlintl-tm-tags"
xmlns:xlink="http://www.w3.org/1999/xlink">
<tm:tm>
…
<text:p text:style-name="Text body">
<tm:te id="e1" tuval="2">
<tm:tu id="u1.1">xml:tm — революционная методика решения проблем
переводческой памяти для XML-документов, использующая технологию XML и
встраивание памяти непосредственно в XML-документы.</tm:tu>
<tm:tu id="u1.2">Она широко использует пространства имён XML.</tm:tu>
</tm:te>
</text:p>
<text:p text:style-name="Text body">
<tm:te id="e2">
<tm:tu id="u2.1">“tm” означает «текстовая память».</tm:tu>
<tm:tu id="u2.2">Существует два аспекта текстовой памяти:</tm:tu>
</tm:te>
</text:p>
<text:ordered-list text:continue-numbering="false" text:style-name="L1">
<text:list-item>
<text:p text:style-name="P3">
<tm:te id="e3">
<tm:tu id="u3.1">Авторская память</tm:tu>
</tm:te>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name="P3">
<tm:te id="e4">
<tm:tu id="u4.1">Переводческая память</tm:tu>
</tm:te>
</text:p>
</text:list-item>
Вот пример скомпонованного переведённого текста:
Рис. 3. Скомпонованный переведённый документ
Исходный и целевой текст связаны на уровне предложения уникальными идентфикаторами xml:tm. При редактировании документа изменённым и новым текстовым единицам назначаются новые идентификаторы. При извлечении текста на перевод из обновлённого исходного документа текстовые единицы, которые не были изменены, могут быть автоматически замещены текстом на целевом языке. Получающийся при этом XLIFF-файл может выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xliff PUBLIC "-//XML-INTL XLIFF-XML 1.0//EN" "xliff.dtd">
<xliff version="1.0">
<file datatype="xml" source-language="en-USA" target-language="ru">
<header>
<count-group name="Totals">
<count count-type="TextUnits" unit="transUnits">40</count>
<count count-type="TotalWordCount" unit="words">416</count>
</count-group>
</header>
<body>
<trans-unit id="t1">
<source>xml:tm</source>
<target ts="matched">xml:tm</target>
</trans-unit>
<trans-unit id="t2">
<source>xml:tm is a revolutionary technique for dealing with the
problems of translation memory for XML documents by using XML
techniques and embedding memory directly into the XML documents
themselves.</source>
<target ts="matched">xml:tm — революционная методика решения проблем
переводческой памяти для XML-документов, использующая технологию XML и
встраивание памяти непосредственно в XML-документы.</target>
</trans-unit>
<trans-unit id="t3">
<source>It makes extensive use of XML namespace.</source>
<target ts="matched">Она широко использует пространства имён XML.</target>
</trans-unit>
<trans-unit id="t4">
<source>The “tm” stands for “text memory”.</source>
<target ts="matched">“tm” означает «текстовая память».</target>
</trans-unit>
<trans-unit id="t5">
<source>There are two aspects to text memory:</source>
<target ts="matched">Существует два аспекта текстовой памяти:</target>
</trans-unit>
<trans-unit id="t6">
<source>Author memory</source>
<target ts="matched">Авторская память</target>
</trans-unit>
<trans-unit id="t7">
<source>Translation memory</source>
<target ts="matched">Переводческая память</target>
</trans-unit>
…
Совпадение, описанное в предыдущем разделе, называется идеальным совпадением. Так как память xml:tm встроена в XML-документ, у неё имеется вся контекстная информация, необходимая для точного идентифицирования текстовых единиц, которые не поменялись со времён предыдущей редакции документа. В отличие от регулируемых совпадений идеальные совпадения не требуют вмешательства переводчика, уменьшая тем самым стоимость перевода.
Следующая диаграмма показывается, как работает идельное совпадение:
Рис. 4. Диаграмма механизма идеального совпадения
xml:tm
xml:tm даёт гораздо более сфокусированные типы совпадений чем традиционные системы переводческой памяти. Существуют следующие типы совпадений.
Идеальные совпадения.
Авторская память даёт точные подробности о любых изменениях в документе. Там, где текстовые единицы для ранее переведённого документа не были изменены, можно сказать, что мы имеем идеальное совпадение. Понятие идеального совпадения является ключевым. С традиционными системами переводческой памяти переводчику всё равно приходится проверять каждое совпадение, т. к. нет способа проверить уместность совпадения. Проверка обычно оплачивается по ставке 60% от стоимости стандартного перевода. С идеальным совпадением необходимость проверки отпадает, что положительно отражается на стоимости перевода.
Регулируемые совпадения в документе.
xml:tm кроме того может использоваться для регулируемых совпадений в документе, которые более будут соответствовать заданному документу чем обычные регулируемые совпадения переводческой памяти.
Регулируемые совпадения.
При переводе документа xml:tm процесс перевода обеспечивает идеально совмещённые текстовые единицы на исходном и целевом языке. Они последовательно и автоматически могут использоваться для создания дополнительной переводческой памяти.
Нечёткие совпадения в документе.
При редактировании авторской памяти можно пометить текстовые единицы, которые изменились незначительно. Если существует соответствующий перевод для предыдущей версии исходной текстовой единицы, переводчику могут быть предложены предыдущие исходная и целевая версия в качестве разновидности нечёткого совпадения.
Нечёткие сопадения.
Текстовые единицы, содержащиеся в базе данных регулируемой памяти также могут быть применены для создания нечётких совпадений с похожим ранее переведённым текстом. На практике нечёткие совпадения могут мало чем помочь переводчику за исключением случаев, когда текстовые единицы достаточно длинны, а разница между исходным и существующим предложением очень мала.
Непереводимый текст.
В технических документах зачастую можно видеть большое число текстовых единиц, составленных лишь из цифровых, буквенно-цифровых, пунктуационных единиц и единиц измерения. При помощи xml:tm такие единицы можно определить при написании текста и пометить как непереводимые, уменьшая тем самым количество слов для перевода. У текстовых единиц, состоящих только из цифр и единиц измерения, разделители десятков и тысяч можно автоматически конвертировать в соответствии с требованиями целевого языка.
Ниже приведён пример непереводимого текста в xml:tm:
…
<text:list-header>
<text:p text:style-name="P9">
<tm:te id="e41">
<tm:tu id="u41.1">Некий новый текст с примерами, не требующими перевода:</tm:tu>
</tm:te>
</text:p>
</text:list-header>
</text:ordered-list>
<text:p text:style-name="Hanging indent">
<tm:te id="e42">
<tm:tu id="u42.1" type="measure">10 mm</tm:tu>
</tm:te>
</text:p>
<text:p text:style-name="Hanging indent">
<tm:te id="e43">
<tm:tu id="u43.1" type="measure">10.50 m</tm:tu>
</tm:te>
</text:p>
<text:p text:style-name="Hanging indent">
<tm:te id="e44">
<tm:tu id="u44.1"type="numeric">10,000</tm:tu>
</tm:te>
</text:p>
<text:p text:style-name="P13">
<tm:te id="e45">
<tm:tu id="u45.1" type="numeric">9.956</tm:tu>
</tm:te>
</text:p>
<text:p text:style-name="P13">
<tm:te id="e46">
<tm:tu id="u46.1" type="alphanum">ABC104/EF</tm:tu>
</tm:te>
</text:p>
…
И пример скомпонованного текста:
Рис. 5. Скомпонованный непереводимый текст
Выходные данные процесса извлечения текста применяются клиентом для автоматического подсчёта слов и совпадений. Это даёт возможность контролировать подсчёт слов ему, а не поставщику. Такое различие существенно, оно позволяет жёстче контролировать издержки.
Переводимые файлы xml:tm могут создаваться в формате XLIFF. После этого формат XLIFF может использоваться для создания динамических web-страниц для перевода. Переводчик может получить доступ к этим страницам через обозреватель или проводить весь процесс перевода через интернет. Это означает многочисленные потенциальные выгоды. Могут быть решены проблемы, связанные с наладкой фильтров и задержками, присущими отправке данных на перевод, такие как ненамеренная порча кодировки или синтаксиса документа или же простые проблемы трудопроизводства. Сегодня с использованием технологии XML возможно как уменьшить издержки и увеличить контроль за ними, так и сократить время на перевод и повысить его надёжность.
Схема традиционного перевода:
Рис. 6. Схема традиционного перевода
В схеме перевода с помощью xml:tm вся обработка происходит в среде клиента:
Рис. 7. Схема перевода с помощью xml:tm
Пример онлайновой переводческой среды находится по адресу http://www.xml-intl.com/demo/trans.html
xml:tm
Ниже приведён список основных преимуществ подхода xml:tm к созданию и переводу текстов:
Возможность строить последовательные системы авторской разработки.
Автоматическое создание статистики написания текста.
Автоматическое совмещение исходного и целевого текста.
Совмещённые тексты могут быть использованы для заполнения таблиц баз данных авторской памяти для регулируемых совпадений.
Идеальное совпадение перевода для неизменных текстовых единиц.
Регулируемые совпадения и совпадения изменённых текстовых единиц в документе.
Автоматическое создание статистики подсчёта слов.
Автоматическое создание идеальных, регулируемых, ранее изменённых или нечётких совпадений.
Автоматическое создание XLIFF-файлов.
Защита структуры исходного документа.
Вохможность создания онлайн-доступа для переводчиков.
Возможность незаметного использования для переходных переводов.
xml:tm — основанная на пространствах имён технология, созданная и поддерживаемая компанией Xml-Intl и опирающаяся на XML и XLIFF, что является плюсом для сообщества XML. Подробности определений xml:tm (определение типа данных XML и XML-схема) находятся на сайте Xml-Intl. Помимо этого Xml-Intl поставляет реализацию xml:tm с использованием Java и Oracle, включающую лингвистически направленные совпадения, как регулируемые базой данных, так и нечёткие.
Планируется дополнить пространство имён текстовой памяти грамматическим пространством имён, чтобы обеспечить возможность внедрения грамматической информации в XML-документы и обмена ею между приложениями.
xml:tm более всего подходит для реализации на уровне предприятия для фирм с большими ежегодными потребностями в переводе и большими системами управления документами. В процессе реализации xml:tm интегрируется в систему управления документами клиента.
Подход xml:tm уменьшает стоимость перевода следующими средствами:
Переводческая память хранится клиентом в документах.
Идеальное совпадение уменьшает стоимость перевода, устраняя необходимость проверки таких совпадений переводчиками.
Совпадение переводческой памяти сфокусировано гораздо лучше чем в случае с традиционными системами переводческой памяти, что даёт лучшие результаты.
Возможность промежуточной обработки переводческой памяти через переходный язык.
Всё переводческая память, извлечение и слияние происходят автоматически, нет необходимости ручного вмешательства.
Перевод может делаться прямо через сайт клиента.
Подсчёт слов контролируется клиентом.
Исходные XML-документы защищены от случайных повреждений.
Система полностью интегрирована в модель XML, что позволяет максимально использовать возможности XML для решения проблем написания и перевода текстов.