Видео: объединение сегментов OmegaT


27.05.2013, Roman Mironov

Выбивало ли вас из колеи то, что в OmegaT сегменты иногда дробятся? Хотите уметь решать подобные проблемы, но не знаете, как научиться?

Посмотрите это видео, и вы поймете, как объединять сегменты в OmegaT:

Текст видеоролика

Многие пользователи OmegaT признают, что в настоящее время подход к сегментации в программе не совсем понятен. Я того же мнения. Надо сказать, что он все-таки не сложнее квантовой физики. Но самом деле выходит, что для создания работающих правил нужно разбираться в регулярных выражениях — а это может представлять сложность. Однако если необходимо только «отремонтировать» текущий сегмент, то регулярные выражения могут и не понадобиться.

  1. Поэтому давайте начнем с объединения сегментов с помощью «быстрых» правил. Это предложение было неправильно сегментировано по точке после сокращения. В примечании видно, как должен выглядеть этот сегмент. Необходимо склеить два сегмента, разбитые по точке. В окне Segmentation Setup (Параметры сегментации) необходимо выбрать набор правил English (Английский) (поскольку язык оригинала — английский) и добавить «быстрое» правило в этот набор. Но также можно щелкнуть Add (Добавить) и создать новый набор правил под названием «Quick-Fix Rules» (Быстрые правила). В качестве варианта языка вводим «EN-US». Таким образом мы обеспечиваем приоритет правил нового набора перед правилами в наборе English (Английский) и наборе Default (По умолчанию). Ни одно правило в этих наборах не сможет оказаться более приоритетным, чем «быстрые» правила.
  2. Теперь можно добавлять новое правило. В разделе ниже щелкнем Add (Добавить). После появления пустого шаблона правила вводим «Int.» в столбец Pattern Before (Шаблон до) и «пробел 10» в столбец Pattern After (Шаблон после). Обязательно проверьте, что не забыли этот пробел при добавлении правил. Поскольку сейчас требуется объединить сегменты, флажок не ставим. При перезагрузке проекта сегментация исправляется.
  3. Конечно же, то, что мы только что сделали, — способ не самый эффективный, но этого от «быстрых» правил и не требуется. Главное, это просто и это работает. Основной недостаток такого подхода заключается в том, что если в проекте есть множество однотипных проблем с сегментацией, то правила придется делать для всех. К примеру, в этом случае придется добавлять отдельные правила для «Int. 20» и «Int. 30».
  4. Ну а теперь можно переходить на следующий уровень. Проблемы здесь одинаковые, поэтому неплохо бы добавить правило, которое решит их все, а не добавлять правила для каждого конкретного случая. Для начала удалим старое правило, чтобы оно не мешало новому. Новое правило можно поместить в набор Quick-Fix Rules (Быстрые правила) или же в набор English (Английский), если оно может оказаться полезным в последующих проектах. Тогда его нужно сохранить в наборе English (Английский) или даже в наборе Default (По умолчанию). Это не та ситуация, поэтому поместим его в набор Quick-Fix Rules (Быстрые правила). Шаблон, который необходимо заключить в новое правило, должен быть наиболее общим. Каждое сокращенное слово «int.» должно быть объединено с последующим текстом, будь то число, буква или символ. Правило получится таким. «Int.» в поле Pattern Before (Шаблон до) — это просто «Int» с точкой. Обратная косая черта перед точкой ставится, чтобы точка не воспринималась системой как регулярное выражение. OmegaT применит это правило только к «Int», после которого идет точка, но не любой знак. «p{Zs}» в поле Pattern After (Шаблон после) — это просто пробел любого вида; это более совершенное представление пробела, чем использованное в предыдущем примере. И опять флажок не ставим. Другими словами OmegaT получила указание не разделять сегмент, если «Int.» идет перед пробелом, что означает, что это аббревиатура. Сегментация исправлена во всех трех случаях, поскольку новое правило распространяется на все три.
  5. Но минуту, а здесь что? То же самое «int.» все равно разбивает предложение. Это потому, что добавленное правило распространяется только на слова с заглавной «I», а это слово начинается со строчной, поэтому правило не работает. Впрочем, не страшно. Правило можно подкорректировать, чтобы оно распространялось как на прописные, так и на строчные буквы. Это можно сделать, добавив регулярное выражение «(?i)» в поле Pattern Before (Шаблон до). Такое правило обеспечивает сопоставление без учета регистра. Теперь OmegaT применит его к любому вхождению «int.» — и в верхнем, и в нижнем регистре. Сегментация исправлена. Похоже, можно расслабиться.
  6. А вот и нет! Сокращение совпадает с частью другого слова, стоящего в конце предложения! В результате так тщательно подобранное правило объединяет два «невинных» предложения. Нужно дополнительно подрегулировать правило. Проще будет добавить регулярное выражение, обозначающее границу слова. Выглядеть оно будет так: «(?i)bint». Это означает, что, чтобы правило сработало, «int.» должно быть отдельным словом. После «допиливания» правила сегментация исправляется.

На этом на сегодня все. В следующем видео мы узнаем, как разбивать сегменты в OmegaT. Ну а тем временем не стесняйтесь задавать вопросы в комментариях.

Если вы пропустили предыдущее видео по этой теме, щелкните эту ссылку, чтобы узнать об основах сегментации в OmegaT.

Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • RSS

    Подписка по эл. почте

    • Введите ваш адрес эл. почты:

      При поддержке FeedBurner

  • © «Велиор», 2005-2014

    КОНТАКТЫ

    Телефон

    +7 (962) 155-89-07
    +7 (4932) 23-87-23

    info@velior.ru
    velior@list.ru