Концептно-орієнтована модель пам'яті перекладів h2>
А. Г. Глазунов p>
В
статті перераховані і стисло описані основні типи технологій перекладу. Викладено
принципи організації систем пам'яті перекладів, і охарактеризована сфера їх
застосовності. Запропоновано нову модель пам'яті перекладів, що припускає
залучення технології машинного перекладу. Коротко описаний універсальний мережевий
мова UNL, і обгрунтовано доцільність його використання для реалізації
запропонованої моделі. p>
Введення b> p>
відволікли
на секунду від всіх тонкощів існуючих нині способів перекласти текст з
однієї мови на іншу, можна з упевненістю стверджувати, що є лише три типи
перекладу: людський, машинний і людино-машинний. Перший тип, поза будь-якими
сумнівів, є найбільш трудомістким, однак, на перший погляд, він здається
найбільш надійним, оскільки хто, якщо не людина, здатний адекватно передати
зміст, укладений в тексті? Тим не менше, більш уважний погляд на проблему
дозволяє виявити, що людський переклад по-справжньому цінний або, якщо
хочете, безцінний тільки в художній літературі і, почасти, в публіцистиці,
де важливими факторами є різноманітність і творчий підхід. У той же час,
наукові та інші тексти вимагають строгих формулювань і точного проходження
термінології, що, погодьтеся, часом представляє для людини проблему.
Ідеальним засобом для технічного перекладу міг би виявитися комп'ютер, але в
найближчі роки чисто машинний переклад навряд чи знайде серйозне практичне
застосування через складність, різноманіття і недостатньою
"формалiзуються," природних мов. Виходом з положення є
комбінований, людино-машинний переклад, що виконується при домінуючої ролі
людини, але з залученням можливостей обчислювальної техніки. p>
Покладаючись
на справедливість вищесказаного, концентруємо свою увагу на задачі
оптимального комбінування процесів людського та комп'ютерного перекладів
технічного тексту. Щоб з перших же строк не відхилятися від горезвісного
принципу точності термінології, для початку введемо ряд визначень, заздалегідь
зазначивши, що всі вони даються виключно в контексті поставленої задачі.
p>
Основні визначення h2>
Концепт -
що не залежить від конкретної мови поняття, що відповідає реальній або
абстрактної сутності, властивості, дії, або іншому елементу, що відбиває
зв'язок між іншими поняттями. p>
Термін -
слово або словосполучення на заданому мовою, що позначає в цій мові
конкретний концепт. p>
Термінологія -
безліч позначають один і той же концепт термінів з різних мов. p>
Сегмент -
безперервний фрагмент тексту, що складається з термінів однієї мови, що позначають
пов'язану по деякому критерію групу концептів. p>
Варіант
сегмента-сегмент, схожий на вихідний по деякому критерію. p>
Вихідний
мова-мова, з якого здійснюється переказ. p>
Цільовий
мова-мова, на який здійснюється переказ. p>
Постачальники
пара-впорядкована пара сегментів, оголошених перекладачем еквівалентними по
глузду, перший з яких містить терміни мовою оригіналу, а другий-на
цільовому.
p>
Вісім типів технології перекладу h2>
В
сучасних професійних середовищах перекладу можливості обчислювальної техніки
використовуються на різних етапах і рівнях. Всього можна виділити вісім способів
застосування комп'ютера при перекладі (таблиця 1). p>
Таблиця
1 p>
p>
Рівень термінів p>
Рівень сегментів p>
До перекладу p>
Виділення термінів p>
Аналіз термінології p>
Сегментація тексту p>
Під час перекладу p>
Автоматичний пошук термінології p>
Пошук мовних пар в пам'яті перекладів p>
Машинний переклад p>
Після перекладу p>
Перевірка відповідності термінології p>
Перевірка цілісності сегментів, формат та граматики p>
Виділення термінів та аналіз
термінології b> p>
На
цьому етапі проводиться дослідження тексту з метою з'ясування, які слова або
словосполучення можуть бути взяті як термінів. Після того, як визначено
термін мовою оригіналу, здійснюється аналіз термінології на предмет того,
який термін на цільовому мовою слід вибрати для позначення потрібного концепту.
Наприклад, якщо у вихідному тексті зустрілося словосполучення "операційна
система "то програма повинна проаналізувати його як можливий
терміна, навіть якщо в системі вже визначено терміни "операційний" і
"система".
p>
Автоматичний пошук термінології h2>
Даний
процес може бути порівняний з машинним перекладом на рівні окремих термінів.
Суть його полягає в тому, що в процесі роботи над текстом перекладач має
можливість бачити варіанти перекладу для кожного терміна, і швидко вставляти
потрібний переклад в текст на цільовому мовою, не ризикуючи допустити опечатку.
p>
Перевірка відповідності термінології h2>
Після
того, як переклад виконаний, комп'ютер здійснює перевірку того, що всі
входження кожного з термінів були перекладені однаково. Наприклад, якщо термін
"операційна система" був замінений при своєму першому входженні на
"operatingsystem", а при другому входження на
"operationalsystem", то має бути видано відповідне
попередження про порушення єдності термінології.
p>
Сегментація тексту h2>
Розбиття
тексту на сегменти є важливим підготовчим етапом для повної або
часткової автоматизації перекладу. Сегменти повинні по можливості утримувати
фрагменти тексту, граматично незалежні один від одного. Іншими словами,
повинна бути забезпечена можливість коректного перекладу кожного сегмента
незалежно від інших. Зазвичай розбиття на сегменти виконується за знаками
пунктуації.
p>
Пошук мовних пар в пам'яті перекладів h2>
Автоматична
пам'ять перекладів, або просто пам'ять перекладів (TranslationMemory),
має на увазі, в першу чергу, перегляд раніше перекладених текстів. Вона
порівнює перекладається в поточний момент текст з тим, що зберігається в базі,
"згадує" сегменти, які змінилися незначно, і пропонує
використовувати їх переклад повторно. Зрозуміло, критерії подібності сегментів можуть
бути різні, і вони грають дуже важливу роль у розширенні можливостей пам'яті
переказів.
p>
Машинний переклад h2>
Даний
спосіб переказу полягає в алгоритмічної обробки вихідного тексту, в
ході якої відбувається розбір сегментів, виділяються окремі терміни та
відносини між ними, після чого здійснюється заміна всіх термінів на
відповідні терміни цільової мови в потрібній формі і взаєморозташуванням.
Машинний переклад (MachineTranslation) застосовується тільки в дуже вузькому контексті і
вимагає значного постредагування перекладеного тексту.
p>
Перевірка цілісності сегментів, формат та граматики h2>
Дані
дії виконуються після закінчення перекладу і мають на меті перевірити, чи все
Чи сегменти залишилися на своїх місцях, чи збереглася форматуються інформація,
і коректний результуючий текст з точки зору граматики цільової мови. p>
Серед
перерахованих технологій найбільший інтерес становлять термінологічні
словники та пам'ять перекладів, оскільки саме від їх ефективності залежить
швидкість та якість перекладу. Технологія побудови термінологічних словників
досить добре опрацьована і заснована на принципах, аналогічних тим, що
застосовуються у звичайних двомовних словниках. Розбиття тексту на терміни зазвичай
здійснюється за прогалинам з додатковим залученням деякого
морфологічного аналізу. p>
Складніше
йде справа з організацією та перекладами. Поряд з тривіальним завданням
пошуку мовної пари, що включає сегмент, ідентичний заданому, пам'ять
переказів повинна забезпечувати можливість пошуку сегментів, схожих на даний
по деякому критерію. Таким чином, центральною проблемою класичної
пам'яті переказів є побудова аналізатора таких "нечітких
збігів "(fuzzymatches), характеристики якого і визначають
переваги і недоліки кожної конкретної системи професійного перекладу.
p>
Аспекти використання пам'яті перекладів h2>
Сфера застосування b> p>
Як
випливає з вищевикладеного, основою функціонування будь-якої системи пам'яті
переказів є раніше перекладені тексти. Безліч цих текстів постійно
поповнюється новими перекладами, внаслідок чого, відсоток автоматично
перекладаються сегментів, поступово зростає. Це означає, що для найбільш
ефективного використання пам'яті перекладів, всі тексти повинні містити
достатня кількість схожих фраз. Такий стан речей має місце в
документації на різного роду продукти. Це обумовлено двома факторами.
По-перше, документацію прийнято складати максимально простою мовою,
лаконічно і в строгих термінах. По-друге, з появою нових версій і
модифікацій що постачається споживачам продукту зміст документації
змінюється лише незначною мірою. Пам'ять перекладів, у подібних випадках,
позбавляє перекладача від необхідності по кілька разів переводити ідентичні
фрагменти тексту, що входять в різні документи. p>
В
той же час, використання пам'яті перекладів вимагає від перекладача спеціальної
підготовки, а також наявності відповідного апаратного та програмного
забезпечення. Іншим негативним фактором є те, що для забезпечення
очікуваного ефекту всі переклади мають бути зроблені в одному і тому ж середовищі,
або в середовищах, сумісних за форматом представлення даних. Нарешті, корисний
ефект пам'яті переказів виявляється з помітною відстрочкою в часі, вимагаючи
спочатку додаткових капіталовкладень. p>
Резюмуючи
вищесказане, можна виділити три умови застосування розглянутої
технології: p>
великий
обсяг перекладу; p>
однотипність
перекладних текстів; p>
готовність
до відстроченого повернення капіталовкладень. p>
Основні принципи роботи p>
Пам'ять
переказів являє собою базу даних, що зберігає мовні пари, і
певний механізм пошуку. Незважаючи на те, що різні професійні
середовища перекладу, такі як "Translator'sWorkbench" фірми Trados,
"Transit" фірми Star, "DejaVu" фірми Atril, мають,
мабуть, різну реалізацію цього механізму ( "мабуть",
оскільки алгоритми не надається розголосу), загальна ідея стає зрозумілою після
вивчення прикладів. Тому з прикладів і почнемо. p>
Нехай
у вихідному тексті зустрічаються наступні фрази: p>
"Температура
регулюється поворотом ручки. "" Температура регулюється поворотом
ручки за годинниковою стрілкою. "" Напір води регулюється поворотом ручки
за годинниковою стрілкою. " p>
Якщо
сегментація виконується за пропозиціями, то кожна з наведених фраз потрапить
в окремий сегмент. Нехай перший сегмент був переведений людиною наступним
так: p>
"The
temperature can be adjusted by turning the knob. " p>
Постачальники
пара, що складається з вихідного і перекладеного сегментів, заноситься в пам'ять
переказів. Коли перекладач доходить до другої фрази прикладу, система визначає
подібність і виводить на екран наступну інформацію: таблиця 2. p>
Таблиця
2 p>
Поточний сегмент p>
Температура регулюється поворотом ручки за годинниковою
стрілкою p>
Знайдений сегмент p>
Температура регулюється поворотом ручки p>
Переклад p>
The temperature can be adjusted by turning the knob p>
Ступінь схожості p>
~ 70% p>
Тепер
перекладач має можливість частково скористатися вже зробленим перекладом,
врахувавши відмінності: p>
"The
temperature can be adjusted by turning the knob clockwise. " p>
Після
того, як сегмент, який відповідає другому фразою приклад позначається як
перекладений, в пам'яті переказів з'являється ще одна мовна пара. Тим самим,
коли справа доходить по третьому фрази, система вже має можливість показати
перекладачеві два схожі варіанти: таблиця 3. p>
Таблиця
3 p>
Поточний сегмент p>
Напір води регулюється поворотом ручки за годинниковою стрілкою p>
Знайдена мовна пара 1 p>
Температура регулюється поворотом ручки за годинниковою стрілкою p>
The temperature can be adjusted by turning the knob
clockwise p>
Ступінь схожості p>
~ 65% p>
Поточний сегмент p>
Напір води регулюється поворотом ручки за годинниковою стрілкою p>
Знайдена мовна пара 2 p>
Температура регулюється поворотом ручки p>
The temperature can be adjusted by turning the knob p>
Ступінь схожості p>
~ 40% p>
Скориставшись,
наприклад, перший із запропонованих варіантів, перекладач швидко розправляється з
що залишилася частиною фрази: p>
"The
water head can be adjusted by turning the knob clockwise. " p>
Ефективність
роботи пам'яті переказів багато в чому визначається тим, наскільки вдало вирішені
наступні завдання: p>
сегментація;
p>
обробка
спеціальних символів і форматує інформації. p>
Очевидно,
що зі збільшенням розміру сегментів буде зменшуватися кількість повних збігів
(і збільшуватися число часткових), що сильно підвищить ресурсомісткість процедур
пошуку і вимагатиме від перекладача значних зусиль у вивчення
наданих йому як варіанти перекладу мовних пар. З іншого
боку, зменшення розміру сегментів зробить їх малопридатними для повторного
використання, оскільки сильно зросте вплив контексту на переклад.
Оптимальною одиницею сегментації найчастіше виявляється фрагмент пропозиції,
обмежений розділовими знаками. Щоб уникнути помилкової сегментації по точках
усередині абревіатур та інших подібних випадків використовують регулярні вираження і
списки винятків. p>
Друга
проблема обумовлена тим, що в тексті крім букв часто присутні інші
символи, як то: маркери впроваджених у документ об'єктів, закладки, перехресні
посилання, перемикачі властивостей шрифту. Всі ці чужорідні елементи в ряді випадків
можуть вплинути на переклад. Наприклад, виділене курсивом слово може при перекладі
бути взято в лапки і потрапити в результуючий текст у незмінному вигляді. Для
управління поведінкою аналізатора в таких ситуаціях у багатьох програмних
продуктах передбачені спеціальні установки, в тому числі, засновані на
застосування регулярних виразів.
p>
Шляхи
розширення можливостей p>
Оскільки
функцією пам'яті переказів є пошук у базі даних перекладених фрагментів
заданого сегмента, то межею її можливостей є, очевидно, вибірка,
максимально покриває вихідний сегмент і не містить ніякої надлишкової
(зайвої) інформації. p>
Спробуємо
виділити можливі варіанти підвищення якості та перекладами,
скориставшись наведеним раніше прикладом. Виберемо і розглянемо два мовні
пари: таблиця 4. p>
Таблиця
4 p>
Мовна пара 1 p>
Температура регулюється поворотом ручки за годинниковою
стрілкою p>
The temperature can be adjusted by turning the knob
clockwise p>
Мовна пара 2 p>
Напір води регулюється поворотом ручки за годинниковою стрілкою p>
The water head can be adjusted by turning the knob
clockwise p>
Подібність
сегментів мовою оригіналу дозволяє зробити припущення, що їх переклади,
тобто сегменти на цільовому мовою також повинні бути схожі. Коль скоро це так,
що виникає резонне бажання виділити з двох наведених мовних пар загальну
частина і представити її у вигляді нової мовної пари. Виконавши нескладну операцію
перетину рядків, отримуємо такий результат: таблиця 5. p>
Таблиця
5 p>
Мовна пара 3 p>
Регулюється поворотом ручки за годинниковою стрілкою p>
can be adjusted by turning the knob clockwise p>
Тепер
для будь-якого сегменту, що включає фрагмент "регулюється поворотом ручки
за годинниковою стрілкою ", може бути обрана мовна пара номер 3, що містить
тільки необхідний переклад для фрагмента. p>
Однак,
не завжди все так добре. Трохи більш уважний погляд на цей приклад відразу
ж змусить нас визнати, що створення таких "укорочених" мовних
пар еквівалентно зменшення розміру сегменту, а ми пам'ятаємо, чим це загрожує.
Маленький фрагмент тексту, особливо, якщо він не обмежений ніякими знаками
пунктуації, навряд чи може бути правильно переведений без урахування контексту.
Отже, при виділенні загальних частин у двох використовуються вже мовних
парах необхідно керуватися тими ж принципами, що і при початковій
сегментації вихідного тексту. p>
До
того ж, не варто забувати, що перетин сегментів на вихідному мовою не
обов'язково ізоморфно перетину сегментів на цільовоїм мовою. Це пов'язано з
відмінностями правил граматики в різних мовах, порядку слів, відповідності слів
поняттями. Тому осмислене значення цільового сегмента мовної пари,
утвореної перетином, можна чекати тільки за: p>
значному
розмірі обох сегментів новоствореної мовної пари; p>
евристичний
певному ізоморфізму перетину сегментів на вихідному і цільовому мовою
(наприклад, якщо перетин здійснено за знаками пунктуації); p>
морфологічному
і синтаксичному аналізі результату перетину з залученням технології
машинного перекладу. p>
Ще
однією важливою задачею при реалізації механізму описаних маніпуляцій з
мовними парами є створення певного формалізму, що дозволяє
однозначно визначити, які саме пари повинні піддаватися обробці, як
саме повинен формуватися результат, як повинен здійснюватися пошук сегмента
і які критерії порівняння сегментів при пошуку. Цим ми зараз і займемося.
p>
Багаторівнева
модель пам'яті перекладів p>
Представлення даних p>
Структура
реально використовуються нині реалізацій пам'яті перекладу є однорівневої і
має на увазі наявність впорядкованого списку мовних пар. З введенням механізму
виділення в парах загальних частин подібна організація даних виявиться незручною.
Справді, для будь-яких двох пересічних мовних пар в базі буде
створюватися додатковий елемент, зміст якого буде повністю
дублюватися в обох мовних парах. Від надмірності вдасться позбутися, якщо
видалити винесену спільну частину з обох пар, а на її місце поставити посилання на
знову створену мовну пару (рис. 1). p>
p>
Рис.
1 p>
Повторюючи
дану процедуру кожного разу, коли виявляється чергове перехід, ми, в
кінцевому рахунку, отримаємо спрямований граф, вузлами якого є мовні
пари, а дугами-відносини включення. p>
Ще
однією оптимізацією є поділ вихідного та цільового сегментів кожній
мовної пари. Це має сенс, оскільки не так вже й рідкісні випадки, коли один і
та ж вихідна фраза перекладається на цільової мова по-різному, що породжує дві
мовні пари з однаковим першим елементом. Крім цього, перетину вихідних
і цільових сегментів не завжди ізоморфні, і їх результати не обов'язково
утворюють мовну пару. p>
Тому
розділимо мовні пари, і отримаємо два орієнтованих графа, "синхронізованих"
один щодо одного (рис. 2). При цьому відносини, що зв'язують вершини
різних графів, можуть бути різної місцевості, але обов'язково мають
властивістю симетричності. p>
p>
Рис.
2 p>
Розвиваючи
ідею далі, згадаємо, що в нашому розпорядженні вже є апарат,
що дозволяє формалізувати представлену схему. Це-об'єктно-орієнтований
підхід. Справді, кожному сегменту в базі може бути підтверджено окремий
клас, відношення включення за своїми властивостями ідентично стосовно спадкування,
а горизонтальні зв'язки, що формують мовні пари можуть бути задані механізмом
асоціювання, або введенням в клас методу Translate ( "перевести").
p>
Тим
не менше, запропонована модель поки що не описує внутрішню структуру
сегментів, яку необхідно аналізувати при створенні нової мовної пари на
основі перетину існуючих. Для вирішення цього завдання розіб'ємо всі сегменти
на окремі слова (по прогалинам). Тепер кожен сегмент може бути представлений
класом, що є похідним від усіх тих слів, що утворюють текст сегмента. При
цьому зовсім необов'язково мати переклад для кожного слова, оскільки це
буде відображено лише відсутністю відповідної зв'язку між вузлами графів, а
метод Translate буде повертати "нульове" значення. p>
Пам'ятаючи
про те, що до складу середовища перекладу крім пам'яті переказів входить також
термінологічний словник, розподіл сегментів можна здійснювати не за словами, а
за термінами. Наявність термінологічного словника дає й ще одну можливість.
Для кожного входження терміна в сегмент можна визначити його початкову форму,
тобто ту, в якій він входить до бази словника. Ця початкова форма послужить
як би абстрактним базовим класом для кожного входження терміна, а конкретне
входження міститиме визначення значень заданих в базовому класі
атрибутів: рід, число, відмінок і т. п. p>
Остання
нововведення підштовхує нас до думки про те, термінологічний словник можна
злити воєдино з пам'яттю перекладів, уявивши, тим самим, всі ресурси
перекладача у вигляді універсальної моделі (рис. 3). p>
p>
Рис.
3
p>
Пошук
і додавання p>
До
тих пір, поки пам'ять перекладів була лінійною, сегменти неподільними, а порівняння
строгим, рішення задачі пошуку зводилося до введення відносини суворого
лексикографічного порядку над безліччю сегментів мовою оригіналу. Іншими
словами, визначався оператор "менше", на основі якого можна було
здійснити звичайний двійковий пошук, і перевірку на рівність. З введенням
оператора "нечіткого збігу", який дозволяв оцінити ступінь
подібності для будь-яких двох сегментів, вирішення проблеми пошуку різко ускладнилося і,
без додаткових хитрощів з різного роду індексацією, стало еквівалентно
задачі повного перебору. Запропонована багаторівнева модель пам'яті перекладів,
власне, і надає деякий механізм неявної індексації: кожне
що входить в сегмент слово, по суті, ідентифікує деякий підмножина
орієнтованого графа пам'яті переказів, що складається з вузлів, які можна
досягти, почавши обхід від вузла, що відповідає обраному слову. p>
Використовуючи
особливості обраної структури пам'яті перекладів, завдання пошуку сегментів,
схожих на заданий, можна вирішити шляхом виконання наступних дій (рис. 4):
p>
розбити
заданий сегмент на слова; p>
знайти
в пам'яті переказів всі вузли, які відповідають цим словами; p>
спускаючись
по графу відносин спадкування, поміщати в список знайдених сегментів все
зустрічаються вузли. p>
p>
Рис.
4 p>
Резонним
є питання про те, в якому порядку слід надавати знайдені
сегменти перекладачеві: адже наведена процедура пошуку вибере з пам'яті всі
сегменти, що перетинаються з заданим принаймні по одному слову. Які
правила фільтрації і сортування знайдених сегментів? p>
Відповідь
на це питання лежить за межами обраного формалізму, однак у цьому немає
нічого страшного. Справа в тому, що результат пошуку являє собою
класичний варіант однорівневої пам'яті перекладів, аналіз якого може бути
проведена методами, формалізованими в рамках існуючих середовищ перекладу. Для
забезпечення ефективності пошуку доцільно здійснювати оцінку
"придатності" сегментів по мірі їх знаходження. Наприклад, якщо
певний сегмент повністю співпадає з еталоном, то всі його нащадки в графі
можуть бути автоматично виключені з пошуку. p>
Тепер
поговоримо про завдання додавання нового сегмента в пам'ять перекладів. Очевидним
умовою коректності процедури долучення є забезпечення успішного
пошуку. Стало бути, що додається сегмент повинен мати в числі своїх предків (не
обов'язково прямих) всі складові його слова. Слідуючи цілям оптимальності,
можна зробити висновок, що серед предків повинні бути присутніми також вузли графа,
що містять фрагменти даного сегмента. Іншими словами, якщо в пам'яті перекладів
присутні сегменти "AB" і "CD", то сегмент
"ABCD" повинен стати спадкоємцем цих двох сегментів. Аналогічно, якщо
в пам'яті присутній сегмент "ABCD", то додається сегмент
"AB" повинен стати його предком. У загальному випадку при додаванні сегмента
в граф пам'яті переказів можуть існувати альтернативні варіанти
успадкування. У такій ситуації схема додати помітно ускладниться. У будь-якому
випадку, проблема побудови оптимальної ієрархії класів вирішується в рамках
об'єктно-орієнтованого підходу, тому ми не будемо загострювати тут на неї
увагу.
p>
Обчислення перетину мовних пар h2>
Оскільки
виділення загальної частини двох сегментів-важливий етап запропонованої технології
перекладу, вивчимо це питання більш детально. При цьому, пам'ятаючи про те, що сегмент
в пам'яті перекладу виступає, найчастіше, не окремо, а як елемент мовної
пари, будемо розглядати саме перетин пар. p>
Для
початку дамо визначення перетину сегментів. Отже, перетин сегментів A і
B-це безліч сегментів Ci, таких що: p>
кожен
з Ci міститься і в A, і в B; p>
ніякі
два Ci не містять однакових фрагментів; p>
НЕ
існує такого сегменту D, що і A і B містять D, і D містить один з
сегментів Ci. p>
Наведене
визначення не передбачає виділення з сегментів A і B всіх загальних
фрагментів. Це зроблено для того, щоб можна було використовувати алгоритми
різної складності реалізації перетину. p>
Тепер
перейдемо до перетину мовних пар. Як вже було згадано вище, дуже важливо
визначити, чи є перетин ізоморфні, іншими словами, чи можна вважати
результати перетину вихідних і цільових сегментів мовної парою. Два приклади
ілюструють це (рис. 5). У першому випадку пару сегментів "достатньо
висока "і" ishighenough "має сенс помістити в пам'ять
переказів, оскільки вона дійсно являє собою варіант перекладу,
який може бути повторно використаний перекладачем. У другому випадку-це
цілком очевидно-сегменту "досить" не слід зіставляти
сегмент "ishighenough", оскільки дана мовна пара буде
некоректною. p>
p>
Рис.
5 p>
Для
перевірки ізоморфізму перетинів можна використовувати підхід, заснований на
технології машинного перекладу. Його суть у зіставленні термінів, що утворюють
вихідний і цільовий сегменти. Для цього необхідно провести граматичний
розбір сегментів з метою виділення термінів і синтаксичних зв'язків між ними.
Після цього можна скористатися термінологічним словником для визначення
того, якому терміну в цільовому сегменті відповідає заданий термін в
вихідному сегменті. Іншими словами, ізоморфізм можна визначити за наступною
критерієм (рис. 6): p>
перетин
є ізоморфні, якщо всім термінам його вихідного сегмента, зіставлені
терміни її цільового сегмента, та синтаксичні зв'язки між ними ідентичні тим,
які присутні в сегментах, з яких було отримано перетин. p>
p>
Рис.
6 p>
В
загальному випадку, для оцінки ізоморфізму можна перевіряти не тільки окремі
терміни (суть кореневі вузли графа пам'яті переказів), а й батьківські сегменти
всіх рівнів. Це підвищить надійність оцінки, знизивши ризик неправильного
визначення синтаксичних зв'язків. p>
Слід
звернути увагу на той факт, що в запропонованій моделі машинний переклад
використовується тільки для граматичного аналізу тексту, що утворює сегмент.
Слабким місцем систем машинного перекладу є вибір перекладу для термінів
сегмента, і саме це завдання вирішується більш надійним способом-за допомогою
пам'яті переказів.
p>
Від
мовних пар до мовних зірок p>
Нерідко
є ситуація, коли переклад доводиться здійснювати не тільки з мови A на
мова B, але і, навпаки, з мови на мову B A. Одна і та ж пам'ять перекладів
буде однаково корисна в обох випадках, оскільки містить максимально
синхронізовані графи сегментів мовою A і мовою B. Проте варто нам
ускладнити завдання і припустити необхідність перекладу між декількома
мовами, як корисність єдиної пам'яті переказів помітно падає. Дійсно,
якщо переклад здійснювався з мови на мови A B і C, то в пам'яті не буде
зберігатися відповідності між сегментами на мовах B і C. Як же забезпечити
таку можливість? p>
Розумним
рішенням могло б стати використання деякого проміжного мови X, на
який здійснювався б переклад, а потім, другим етапом, виконувався б переклад
з мови X на цільової мова. У такому разі всі мовні пари в пам'яті
перекладів складалися б із сегмента мови X і сегмента одного з цільових (або
вихідних) мов. Тут є, однак, підводні камені. По-перше, як ми вже
переконалися, перетин мовних пар не завжди буває ізоморфні, отже,
не всі мовні пари в пам'яті переказів будуть містити переклад на мову X.
Очевидно, такі пари будуть марні. По-друге, при перекладі завжди є
небезпека втрати сенсу: подвійний переклад значно збільшує цю небезпеку.
p>
Яким
ж повинен бути цей гіпотетичний проміжна мова X, щоб їм було
доцільно скористатися? Його властивості випливають із двох названих проблем.
По-перше, ця мова має забезпечувати ізоморфні перетин для будь-якого
іншої мови. Порушення ізоморфізму (принаймні, у споріднених мовах)
обумовлено значною мірою розходженням синтаксичних правил, що приводить
до різного порядку членів пропозиції, а також до різниці форм одного і того ж
слова. Звідси випливає, що мова X повинен бути інваріантний до порядку слів і
як-то враховувати їх форми у вихідному мовою. По-друге, він повинен бути в
стані передати зміст фрази будь-якою мовою, отже-включати в себе
специфічні поняття всіх існуючих людських мов. p>
Якщо
такий універсальний мову буде знайдено, то пам'ять перекладів можна буде
організувати не на основі мовних пар, а на основі мовних зірок, де в
центрі знаходиться сегмент на мові X, на променях-варіанти перекладів його на інші
мови. При значному обсязі перекладу між великою кількістю мов
додаткові витрати на подвоєну роботу перекладача з лишком окупляться гнучким
механізмом пам'яті перекладів, значно спрощує багатомовний переклад. p>
Залишилось
тільки знайти мову X. І така мова існує! Це універсальний мережевий мова
UNL (UniversalNetworkingLanguage), запропонований Інститутом Розвитку Навчання
(InstituteofAdvancedStudies-IAS) при Університеті Об'єднаних Націй
(UnitedNationsUniversity-UNU). Їм ми і скористаємося для подальшого розвитку
моделі та перекладами.
p>
Мова
UNL і концептно-орієнтована парадигма p>
Короткий опис мови UNL p>
Мова
UNL представляє висловлювання у вигляді безлічі так званих універсальних
слів, пов'язаних певного типу бінарних відносинами. Універсальне слово
представляє собою позначення деякого поняття і задається ім'ям
відповідного поняття (звичайно англійською мовою), групою допоміжних
атрибутів (число, час, нахил і т. п.) і деякими обмеженнями
семантики, представленими за допомогою інших універсальних слів і відносин. Ось
приклади універсальних слів: p>
"людина"
- Man (icl> person) p>
"люди" - man (icl> person). @ plural p>
"капелюх" - hat (icl> thing) p>
Бінарні
відносини задають тип взаємозв'язку між поняттями. Наприклад, у словосполученні
"людина йде" використовується відношення "agt" (agent),
позначає зв'язок між суб'єктом дії і самим дією. У словосполученні
"нести прапор" використовується відношення "obj" (object),
що позначає спрямованість дії на об'єкт. У синтаксисі UNL ці приклади
запишуться так: p>
"человекідет"
- Agt (walk (icl> do), man (icl> person)) p>
"нестіфлаг" - obj (carry (icl> do),
flag (icl> thing)) p>
Будь-яке
безліч таких пар може бути об'єднано в одне складене універсальне слово
за допомогою спеціальних позначок. Наприклад, словосполучення "людина, що несе
прапор "представиться наступним чином: p>
agt: 01 (carry (icl> do): 02,
man (icl> person)) p>
obj: 01 (carry (icl> do): 02,
flag (icl> thing)) p>
Щоб
відобразити той факт, що кілька входжень одного й того самого універсального
слова позначають один об'єкт, всі входження маркуються однієї і тієї ж міткою,
як це зроблено у випадку слова "carry". p>
Складений
слово, так само як і просте універсальне слово, може бути елементом бінарного
відносини. Фраза "я бачу людину, що несе прапор" запишеться так: p>
agt: 01 (carry (icl> do): 02,
man (icl> person)) p>
obj: 01 (carry (icl> do): 02,
flag (icl> thing)) p>
agt (see (icl> do): 03,
I) p>
obj (see (icl> do): 03,
: 01) p>
Як
видно з прикладів, кожне слово, просте й складене, у мові позначає
визначене поняття, або "концепт". Отже, UNL оперує не
словами, а саме концептами. З іншого боку, пропозиція на мові UNL
являє собою невпорядковане безліч пов'язаних бінарними відносинами
концептів. Звідси випливає, що при перекладі наUNL виключено порушення
ізоморфізму, викликане різним порядком слів.
p>
Проблема
ізоморфізму перетину мовних пар p>
Отже,
ми визначили, що подання на мові UNL дозволяє повністю зберегти
сенс (оскільки лексичними одиницями є однозначні позначення
понять) і забезпечує незалежність ізоморфізму перетину мовних пар від
порядку слів у пропозиціях. Тим не менше, залишилася і посилилася проблема
порушення ізоморфізму, спричиненого розходженням форм одного і того ж слова в
різних пропозиціях. Дійсно, концепт в мові UNL, не змінює своєї форми,
з будь-яким іншим концептом він не був пов'язаний. У той же час, одне і те ж слово
на природній людській мові може змінюватися. p>
Аналізуючи
цю проблему, замислимося: а чи дійсно нам потрібно обчислювати перетин
вихідних сегментів? Чи не можна, обчисливши перетин цільових сегментів (тобто
UNL-пропозицій), сформувати для нього переклад назад на вихідний мову
автоматично? Позитивна відповідь на ці питання можна дати, якщо знову
скористатися технологією машинного перекладу. Дійсно, для всіх
концептів є їх переклад на вихідний мову, отже, слабке місце
машинного перекладу-вибір лексики-вдасться уникнути. Все, що буде вимагатися
від комп'ютера-це виділити у вихідному сегменті ті слова та синтаксичні зв'язку,
які увійшли до складу перетину UNL-пропозицій, та сформувати новий
словосполучення, потрібним чином змінивши форми слів (мал. 7). p>
p>
Рис.
7 p>
Коль
скоро ми довірили системі машинного перекладу синтаксичний і морфологічний
розбір вихідного сегмента, коли оцінювали ізоморфізм перетину мовних пар
без залучення UNL, довіримо їй зробити те ж саме для організації пошуку сегмента
в пам'яті переказів. Справді, чому б не перетворити вихідний сегмент у
UNL-пропозицію і не здійснити пошук в графі сегментів, що зберігають текст
мовою UNL? Поступово подібним чином, ми повністю позбудемося необхідності
здійснювати операції пошуку і додавання над графом сегментів, що зберігають текст
природною мовою. Всі операції будуть проводитися над графом
UNL-пропозицій. Тепер замість декількох графів (по одному на кожну із них)
пам'ять перекладів буде використовувати один єдиний граф, кожен вузол
якого буде представляти собою мовну зірку з UNL-пропозицією в центрі і
варіантами перекладу на променях. p>
Весь
процес роботи перекладача з пропонованої системою описується схемою,
що на рис. 8. p>
p>
Рис.
8 p>
Важливим
фактором є те, що робота класичної та перекладами описується
такою ж схемою. Це означає, що реалізація запропонованої моделі може бути
легко вбудована в існуючі системи.
p>
Концептно-орієнтована
сутність та перекладами p>
В
результаті всіх нововведень ми побудували модель пам'яті перекладів, в основі
якої лежить орієнтований граф відносин спадкування, у вузлах якого
знаходяться поняття (концепти) ра