ЭТАП-4 с интерфейсом командной строки

Назначение и основные функции

Утилита etapbare предоставляет доступ к лингвистическому процессору ЭТАП, осуществляющему:

  • автоматический перевод с русского языка на английский и с английского на русский,
  • автоматический перевод с русского или английского языка на UNL и обратно,
  • синтаксический анализ,
  • семантический анализ.

Утилита использует интерфейс командной строки и удобна для пакетной обработки данных. ЭТАП обрабатывает файлы в кодировке UTF-8 с маркером последовательности байтов BOM.

Основные режимы работы ЭТАПа в etapbare таковы:

  • перевод текста с с русского языка на английский и с английского языка на русский,
  • unl-конверсия и unl-деконверсия, т.е., соответственно, перевод с естественного языка (русского или английского) на UNL (universal networking language) и перевод с UNL на естественный язык (русский или английский),
  • получение синтаксической структуры текстов на русском или английском языке,
  • получение семантической структуры текстов на русском языке.

Самый простой способ запуска - с помощью командных файлов (.cmd, .bat).

Допустимые языки обработки и их коды:

  • ru - русский язык
  • en - английский язык
  • unl - UNL
  • sem - язык семантического представления

Основных форматов входных и выходных данных два – текстовый и TGT (tagged text). TGT это разработанный для ЭТАПа XML-формат, и помимо текста предложения он содержит различные данные о его структуре. С TGT-файлами в режиме командной строки работает etapbare, в графическом режиме – программа Stred (structure editor).

Словари, правила, онтология и иная информация, используемая ЭТАПом при работе, собрана в логическую единицу, называемую базой знаний. Меняя содержимое словарей и правил, можно влиять на результат работы ЭТАПа. Единовременно лингвистический процессор использует одну базу знаний, однако всего в системе их может быть зарегистрировано больше одной. У каждой базы знаний есть имя, которое указывается при запуске ЭТАПа. В базовом пакете установки база знаний одна, она имеет имя <LOCAL> и используется ЭТАПом по умолчанию.

Аргументы командной строки:

etapbare <command> [-inp <path1> [-out <path2>] [-err <path3>]] [-inplang <lang1>] [-outlang <lang2>] [-opt <optpath>] [-kbname <kbname>] [-kbcfg <kb.cfg>] [-loadkb true/false] [-maxtime <time>]

Комбинации аргументов зависят от <command>, они описаны ниже. Данное формальное описание аргументов командной строки задает только порядок их следования.
Аргументы:


  • -inp <path1> - задается путь к входному документу path1. Path1 может быть задан шаблоном с символом *, тогда он задает массив соответствующих ему входных документов.
  • -out <path2> - задается путь к выходному документу path2, если он не указан - перезаписывается входной документ.
  • -err <path3> - задается путь к документу с описанием ошибочно обработанных предложений path3. Если он не указан - ошибочно обработанные предложения не выводятся.
  • -inplang <lang1> - указывается код языка входного документа lang1. Аргумент не является обязательным. Действия etapbare при его отсутствии зависят от формата входного и выходного документов.
  • -outlang <lang2> - указывается код языка выходного документа lang2. При unl-деконверсии может отсутствовать.
  • -opt <optpath> - указывается путь к документу с описанием опций перевода <optpath>. Если путь не указан, используются опции по умолчанию. Увидеть и изменить список опций по умолчанию можно в утилите winetap (кнопка Advanced). Если настроить значения опций для какой-либо задачи и сохранить изменения, то внутри папки с ЭТАПом в подпапке data\auxiliar появится ini-файл, который может использоваться как аргумент etapbare и другими утилитами. Сохраняя эти файлы под разными именами, можно получить файл настроек для каждой необходимой задачи.
  • -kbname <kbname> - указывается имя используемой базы знаний. Если база знаний не указана, то используется база знаний по умолчанию.
  • -maxtime

Команда (<command>) вида <input format>2<output format> предписывает утилите выполнить обработку входных документов. Стандартный вид команды: <input format>2<output format>, где <input format> - формат входного документа, <output format> - формат выходного документа.
В настоящий момент поддерживается три вида формата:

  • txt (текст на естественном языке, возможные варианты языков ru, en),
  • tgt (xml-документ с синтаксически размеченным текстом, размеченные фразы могут содержать перевод на ru, en, unl, sem, в данный момент только на один язык) и
  • unl (в текстовом виде),

и их комбинации:

  • txt2txt (перевод текстов с одного языка на другой),
  • txt2tgt (получение синтаксической или семантической структуры текста),
  • tgt2txt (получение перевода текста на ЕЯ, не совпадающего с языком оригинала),
  • txt2unl (получение UNL-документа),
  • unl2txt (деконверсия UNL-документа на выходной ЕЯ, возможные варианты языков ru, en),
  • tgt2tgt (внесение изменений в синтаксическую разметку).



Примеры использования утилиты etapbare:
1) Выполнить перевод английского текста en.txt на русский, используя настройки комплекса по умолчанию. Результат перевода записать в файл ru.txt.


  • etapbare txt2txt -inp .\source\en.txt -out .\result\to_ru.txt -inplang en -outlang ru

2) Выполнить перевод английского текста en.txt на UNL, используя настройки комплекса по умолчанию. Результат перевода записать в файл unl.txt.

  • etapbare txt2unl -inp .\source\en.txt -out .\result\unl.txt -inplang en

3) Выполнить перевод английского текста en_unl.txt на UNL, используя базу знаний test_kb.cfg и опции, указанные в opt_etap.dat. Результат перевода записать в файл to_unl.txt.

  • etapbare txt2unl -inp .\source\en_unl.txt -out .\result\to_unl.txt -inplang en -outlang unl -loadkb false -kbcfg test_kb.cfg -err .\err\err_en_unl.txt -opt .\opt_etap.dat

4) Выполнить синтаксический анализ английского текста en.txt, используя настройки комплекса по умолчанию. Результат анализа записать в файл en.tgt.

  • etapbare txt2tgt -inp .\source\en.txt -out .\result\en.tgt -inplang en

5) Выполнить семантический анализ русского текста ru.txt, используя настройки комплекса по умолчанию. Результат анализа записать в файл ru_sem.tgt. При этом будет сохранена полученная на промежуточном этапе анализа синтаксическая структура предложений.

  • etapbare txt2tgt -inp .\source\ru.txt -out .\result\ru_sem.tgt -inplang en -outlang sem

6) Выполнить перевод всех английских текстов в папке source, имена файлов с которыми начинаются на en, на русский, используя настройки комплекса по умолчанию. Результат перевода записать в файл to_ru.txt.

  • etapbare txt2txt -inp .\source\en*.txt -out .\result\to_ru.txt -inplang en -outlang ru

7) Выполнить семантический анализ всех русских текстов в tgt-файлах, расположенных в заданной папке, используя настройки комплекса по умолчанию. Результат анализа записать в файл all_ru_sem.tgt.

  • etapbare txt2tgt -inp .\source\russian\*.tgt -out .\result\all_ru_sem.tgt -inplang ru -outlang sem