Компьютерные технологии в лингвистике
Компьютерные технологии в лингвистике
УКАЗАНИЯ
ПО ВЫПОЛНЕНИЮ ДОМАШНЕГО ЗАДАНИЯ
Предварительные замечания
Как известно, в семиотике и лингвистике под знаком (англ. sign) понимается двусторонняя сущность, состоящая из означающего (плана выражения) и означаемого (плана содержания). Одной из разновидностей знака является знак-символ (англ.symbol): символические знаки, в отличие от иконических и индексальных, характеризуются отсутствием сходства или смежности между означаемым и означающим.
В русскоязычной традиции, сложившейся в компьютерных науках, термины «знак» и «символ» используются в иных значениях, а именно как взаимозаменяемые соответствия англ. character.Текст представляется в памяти компьютера в виде последовательности символов (= знаков): букв, цифр, знаков препинания, пробелов, а также так называемых специальных (= управляющих, непечатаемых) символов, которые, как следует из их названия, не отображаются на экране и не выводятся на печать, однако используются для управления форматированием и расположением текста. К непечатаемым символом относятся, например, знаки абзаца («красной строки»). Чтобы увидеть непечатаемые символы в Microsoft Word следует нажать кнопку «¶» на панели инструментов.
Для того, чтобы определить, какое количество символов содержится в тексте, в Microsoft Word 2003 нужно выбрать в меню «Сервис» пункт «Статистика», а в Microsoft Word 2007 — на ленте «Рецензирование» в поле «Правописание» нажать кнопку «Статистика».
§1. Простой поиск
Многие лингвистические задачи связаны с поиском в тексте некоторых элементов: слов, словосочетаний, предложений и проч. В Microsoft Word встроена функция автоматического поиска, вызвать которую можно следующими способами:
- в Microsoft Word 2003 — выбрав в меню «Правка» пункт «Найти», либо нажав
одновременно клавишиCtrl иF; - в Microsoft Word 2007 — нажав кнопку «Найти» на панели инструментов, либо
нажав одновременно клавишиCtrl иF.
В результате появляется диалоговое окно «Найти и заменить».
Элемент, который следует найти в тексте, называется шаблоном поиска(англ.search pattern). Шаблон поиска следует вводить в поле «Найти». После нажатия кнопки "Найтидалее»Microsoft Word начинает просматривать текст, ища в нём совпадения(matches) с шаблоном. Совпадения выделяются в тексте инверсией. Продолжая нажимать кнопку «Найти далее», можно последовательно просмотреть все совпадения в тексте. Если совпадений больше нет, то будет выдано сообщение «Просмотр документа закончен».
Вместо последовательного просмотра совпадений можно выделить их все сразу.
Для этого в Microsoft Word 2003 нужно установить галочку «Выделить все элементы, найденные в» и убедиться, что в выпадающем списке выбрана позиция «Основной документ». При этом кнопка «Найти далее» превратится в «Найти все». После нажатия этой кнопки будут выделены все имеющиеся в тексте совпадения с шаблоном поиска, а в диалоговом окне после слов «Найдено элементов:» будет указано их общее количество.
В Microsoft Word 2007 для достижения того же эффекта следует нажать кнопку «Выделение при чтении» и из всплывающего меню выбрать пункт «Выделить все». Количество найденных совпадений будет указано в диалоговом окне («Приложение Word выделило... элементов»).
С найденными таким образом совпадениями можно осуществлять любые блочные операции: например, выделить их шрифтом прямо в тексте (в меню «Формат» пункт «Шрифт») или перенести их списком в отдельный файл (в меню «Правка» выбрать пункт «Копировать», затем создать новый документ и выбрать в меню «Правка» пункт «Вставить»).
Что именно считается совпадением, определяют параметры поиска. Для настройки этих параметров нужно нажать кнопку «Больше» и установить галочки в зависимости от задачи.
Если установлена галочка «Учитывать регистр», то будут находиться элементы, точно (буква в букву) совпадающие с шаблоном. В случае, если эта галочка не установлена, совпадением будет также считаться элемент, отличающийся от шаблона регистром (англ. case), то есть употреблением заглавных и строчных букв. Например, если задать шаблон поискаRob,но не устанавливать галочку «Учитывать регистр», то помимо собственноRobбудут также найдены слова типаrob, RoB,rOB и т. п. (если, конечно, они присутствуют в тексте).
Если галочка «Только слово целиком» не установлена, то кроме целых слов, совпадающих с шаблоном, будут находиться и части слов, например, для шаблона man будут найдены man, wоmап и mankind. Если же установить галочку «Только слово целиком», то совпадениями будут считаться только отдельные слова.
Галочка «Все словоформы» работает для английского языка и позволяет находить формы единственного и множественного числа имён существительных, все синтетически образуемые степени сравнения прилагательных и формы глаголов.
Назначение галочки «Подстановочные знаки» будет рассмотрено далее.
§2. Поиск с подстановочными знаками
Помимо лингвистических задач, связанных с поиском в тексте конкретных слов, могут быть и такие, в которых искомое слово заранее не известно. Например, может потребоваться найти в тексте:
- все слова определённой длины (например трёхбуквенные);
- все слова с определённым префиксом или суффиксом;
- все конструкции, обособленные с двух сторон запятыми и т. п.
Для решения таких задач можно воспользоваться специальным режимом поиска, предоставляющим расширенные возможности, — поиском с подстановочными знаками(англ.wildcards букв, 'дикие карты'). Для включения режима нужно, нажав кнопку «Больше» в окне «Поиск и замена», установить галочку «Подстановочные знаки».
В речи картёжников «дикими картами» называются карты, которые по предварительной договорённости игроков или в соответствии с правилами игры могут заменять любую другую карту. Например, в большинстве карточных игр «дикой картой» является джокер. У подстановочных знаков такая же функция: они могут заменить в шаблоне поиска любой символ или любую группу символов.
Действие подстановочного знака ?наиболее похоже на джокер в карточной игре: ? вшаблоне совпадает при поиске с любым символом текста. Например, шаблонг?д совпадёт с гад, гид, и год.
Подстановочный знак * заменяет собой любую последовательность символов. Например, если ввести шаблон г*д, то будут найдены совпадения год и город.
Часто бывает нужно «привязать» шаблон поиска к началу или концу слова. Начало слова отмечается подстановочным знаком <, а конец — знаком >. Так, шаблон поиска горо совпадёт с фрагментами слов город и гороскоп, но не огород. Если же ввести в качестве шаблона ор>, то будут найдены слова ор и yпор, а слово оратория найдено не будет.
Можно сконструировать подстановочный знак, который будет совпадать при поиске не с любым символом текста (как ?), а только с одним из указанных. Для этого список символов, с которым может совпасть подстановочный знак, нужно заключить в квадратные скобки. Например, шаблон кр[ае]н совпадёт со словам и кран, и крен.
Внутри квадратных скобок можно задавать через дефис диапазоны символов (по алфавиту): шаблон [в-н]оль позволит найти слова голь, ноль и моль, но не боль и нe роль. Алфавитный порядок, используемый при задании диапазона, соответствует порядку следования символов в кодовой таблице, для просмотра которой вMicrosoft Word 2003 можно выбрать в меню «Вставка» пункт «Символ...», а вMicrosoft Word 2007 — нажав на кнопку «Символ» на ленте «Вставка» и выбрав из выпадающего списка пункт «Другие символы...». В кодовой таблице, в частности, заглавные буквы предшествуют строчным, латинские — кириллическим, а русская буква ё на входит в диапазон символов а-я. Таким образом, подстановочный знак, соответствующий строчной русской букве, будет иметь вид[а-яё].
Если в перечень символов в квадратных скобках необходимо включить дефис, его нужно указывать первым или последним, например, перечень знаков арифметических операций
[-+*/]. Если дефис будет располагаться между двумя другими символами внутри квадратных скобок, то эти символы будут интерпретированы как диапазон.
Вместо того, чтобы перечислять в квадратных символы, которые могут совпадать с подстановочным знаком, можно, наоборот, перечислить те символы, которые не должны с
ним совпадать, поставив сразу после открывающей квадратной скобки !. Такой подстановочный знак будет совпадать с любыми символами, кроме перечисленных. Например, шаблон ко[!е-р]а совпадёт со словами кода и коса, но не кожа или кора.
Вся конструкция в квадратных скобках воспринимается Microsoft Word как единый подстановочный знак, и при поиске он будет совпадать только с одним символом текста.
Если возникает необходимость повторить некий знак (обычный или подстановочный) в шаблоне поиска несколько раз, то можно написать его один раз, и следом за ним в фигурных скобках указать количество повторений. Например, шаблон [а-я][а-я][а-я] идентичен шаблону[а-я]{3}. Если количество повторений не определено, то вместо фигурных скобок нужно поставить знак @. Так, шаблон[а-я]@ совпадет с любыми последовательностями строчных русских букв.
Если необходимо «лишить» подстановочный знак его специального значения и сделать его обычным символом, то перед ним следует поставить обратный слеш \. Например, для поиска слова, за которым следует вопросительный знак, можно использовать поисковый шаблон <*>!?.
Поиск с подстановочными знаками всегда чувствителен к регистру (заглавные и строчные буквы различаются).
Замена
Помимо функции поиска в Microsoft Word имеется функция замены, при использовании которой найденные совпадения с шаблоном автоматически заменяются заданным замещающим текстом(англ.replacement text). На вкладке «Заменить» диалогового окна «Найти и заменить» присутствуют два поля: «Найти» и «Заменить на». В поле «Найти», как и прежде, следует вводить шаблон поиска, а в поле «Заменить на» — замещающий текст.
Для поиска первого совпадения с шаблоном следует нажать кнопку «Найти далее». Найденное совпадение будет выделено в тексте. Далее можно нажать кнопку «Заменить», чтобы заменить это совпадение замещающим текстом, или кнопку «Найти далее», чтобы оставить это совпадение без изменения и перейти к следующему совпадению в тексте. Кроме того, имеется кнопка «Заменить все», нажатие на которую приведёт к замене всех оставшихся совпадений.
Подстановочные знаки, рассмотренные в §2, можно использовать в поле «Найти», но не в поле «Заменить на».
Если в поле «Найти» введён шаблон с подстановочными знаками, может возникнуть необходимость некоторые части найденного совпадения сохранить при замене, то есть включить в замещающий текст. Для этого нужно часть шаблона поиска, соответствующую сохраняемой части совпадения, заключить в круглые скобки, а в поле «Заменить на» использовать специальную конструкцию \п, гдеп — номер пары круглых скобок из поля «Найти». Пары круглых скобок нумеруются слева направо, начиная с 1. На место данной специальной конструкции при замене будет вставлена сохраняемая часть найденного совпадения.
Например, поисковый шаблон <([а-я/@)-([а-я]@)>и замещающийтекст\2-\l приведут к замене слова генерал-лейтенант словом лейтенант-генерал.
Поисковый шаблон: <([а-я/@) - ([а-я]@)>
Номера круглых скобок: 1 2
Совпадение: генерал лейтенант
Замещающий текст: 2 1
Итоговый замещающий текст: лейтенант генерал
Решение.
- Лингвистический анализ. Аналитический способ образования степеней сравнения наречий заключается в использовании служебных слов more (для сравнительной степени) иmost (для превосходной степени). Пример образования степеней сравнения:beautifully ~ more beautifully ~most beautifully. Формальным признаком английского наречия является суффикс-1у.
- Составление шаблона. Решение задачи сводится к составлению шаблона для поиска словаmore, вслед за которым через пробел идёт слово, оканчивающееся на-1у. Это может быть шаблон вида:<[Mm]ore [a-z]@ly>.
Ответ. 33.
Задача 10. Найти в тексте все сентенциональные наречия на -ly в инициальной позиции (в начале предложения) и оформить их списком в отдельном файле.
Решение.
1. Лингвистический анализ. В английской грамматике сентенциональные наречия (англ.sentence adverbs) — это наречия, относящиеся ко всему предложению в целом. Например:Luckily, it didnot rain 'К счастью, дождь не пошёл'. На русский язык сентенциональные наречия переводятся вводными словами, описательными оборотами и
проч. Сентенциональные наречия, как правило, находятся в начале предложения и всегда обособляются запятой. Формальным признаком английского наречия является суффикс -1у.
2. Составление шаблона. Для решения задачи нужно найти слова, находящиеся в начале предложения, оканчивающиеся на -1у, после которых идёт запятая. Начало предложения характеризуется двумя особенностями. Во-первых, первое слово в предложении начинается с заглавной 6уквы. Во-вторых, перед этим словом(через пробел или знак абзаца) находится один иззнаков препинания, завершающих предыдущее предложение: точка, восклицательный знак или вопросительный знак.
Шаблон для поиска будет иметь следующий вид: [.\?\!][^13[A-Z][a-z]@ly>.
Решение.
1. Лингвистический анализ. Сначала нужно выбрать формальный признак, на основании которого можно определить пол человека по его полному имени, состоящему из фамилии, собственно имени и отчества. Рассмотрим возможные варианты.
а) Фамилия. Известно, что большинство русских мужских фамилий заканчивается на –ин -ын или -ов/-ев, а женских — на -ина/-ына или–oea/-ева. Однако этот признак не универсален: так, многие несклоняемые фамилии, не относящиеся к исконно русским, одинаковы как для мужчин, так и для женщин (ср.Мацканюк, Дудник).
б) Имя. Большинство русских мужских имён заканчивается на согласный, а женских – на гласный. Этот признак также не универсален (ср. Илья, Любовь).
в) Отчество. Отчества в русском языке образуются по регулярному правилу, а именно путем присоединения к имени отца суффиксов -ич/ -вич для мужчин и-на/-вна для женщин. Таким образом, мужское отчество всегда будет заканчиваться на -ч, а женское — на -а. Этот формальный признак наиболее надежен для разграничения мужских полных имён.
2. Составление шаблона. Шаблон должен совпадать с тремя словами, последнее из которых заканчивается на-а. Следует учесть, что фамилия может быть двойной (то есть содержать дефисы и заглавные буквы в середине слова).
Итоговый шаблон поиска может иметь вид: <[А-ЯЁа-яё-]@> <[А-ЯЁа-яё]@> <[А-ЯЁа-яё]@а>.
Компьютерные технологии в лингвистике
УКАЗАНИЯ
ПО ВЫПОЛНЕНИЮ ДОМАШНЕГО ЗАДАНИЯ
Предварительные замечания
Как известно, в семиотике и лингвистике под знаком (англ. sign) понимается двусторонняя сущность, состоящая из означающего (плана выражения) и означаемого (плана содержания). Одной из разновидностей знака является знак-символ (англ.symbol): символические знаки, в отличие от иконических и индексальных, характеризуются отсутствием сходства или смежности между означаемым и означающим.
В русскоязычной традиции, сложившейся в компьютерных науках, термины «знак» и «символ» используются в иных значениях, а именно как взаимозаменяемые соответствия англ. character.Текст представляется в памяти компьютера в виде последовательности символов (= знаков): букв, цифр, знаков препинания, пробелов, а также так называемых специальных (= управляющих, непечатаемых) символов, которые, как следует из их названия, не отображаются на экране и не выводятся на печать, однако используются для управления форматированием и расположением текста. К непечатаемым символом относятся, например, знаки абзаца («красной строки»). Чтобы увидеть непечатаемые символы в Microsoft Word следует нажать кнопку «¶» на панели инструментов.
Для того, чтобы определить, какое количество символов содержится в тексте, в Microsoft Word 2003 нужно выбрать в меню «Сервис» пункт «Статистика», а в Microsoft Word 2007 — на ленте «Рецензирование» в поле «Правописание» нажать кнопку «Статистика».
§1. Простой поиск
Многие лингвистические задачи связаны с поиском в тексте некоторых элементов: слов, словосочетаний, предложений и проч. В Microsoft Word встроена функция автоматического поиска, вызвать которую можно следующими способами:
- в Microsoft Word 2003 — выбрав в меню «Правка» пункт «Найти», либо нажав
одновременно клавишиCtrl иF; - в Microsoft Word 2007 — нажав кнопку «Найти» на панели инструментов, либо
нажав одновременно клавишиCtrl иF.
В результате появляется диалоговое окно «Найти и заменить».
Элемент, который следует найти в тексте, называется шаблоном поиска(англ.search pattern). Шаблон поиска следует вводить в поле «Найти». После нажатия кнопки "Найтидалее»Microsoft Word начинает просматривать текст, ища в нём совпадения(matches) с шаблоном. Совпадения выделяются в тексте инверсией. Продолжая нажимать кнопку «Найти далее», можно последовательно просмотреть все совпадения в тексте. Если совпадений больше нет, то будет выдано сообщение «Просмотр документа закончен».
Вместо последовательного просмотра совпадений можно выделить их все сразу.
Для этого в Microsoft Word 2003 нужно установить галочку «Выделить все элементы, найденные в» и убедиться, что в выпадающем списке выбрана позиция «Основной документ». При этом кнопка «Найти далее» превратится в «Найти все». После нажатия этой кнопки будут выделены все имеющиеся в тексте совпадения с шаблоном поиска, а в диалоговом окне после слов «Найдено элементов:» будет указано их общее количество.
В Microsoft Word 2007 для достижения того же эффекта следует нажать кнопку «Выделение при чтении» и из всплывающего меню выбрать пункт «Выделить все». Количество найденных совпадений будет указано в диалоговом окне («Приложение Word выделило... элементов»).
С найденными таким образом совпадениями можно осуществлять любые блочные операции: например, выделить их шрифтом прямо в тексте (в меню «Формат» пункт «Шрифт») или перенести их списком в отдельный файл (в меню «Правка» выбрать пункт «Копировать», затем создать новый документ и выбрать в меню «Правка» пункт «Вставить»).
Что именно считается совпадением, определяют параметры поиска. Для настройки этих параметров нужно нажать кнопку «Больше» и установить галочки в зависимости от задачи.
Если установлена галочка «Учитывать регистр», то будут находиться элементы, точно (буква в букву) совпадающие с шаблоном. В случае, если эта галочка не установлена, совпадением будет также считаться элемент, отличающийся от шаблона регистром (англ. case), то есть употреблением заглавных и строчных букв. Например, если задать шаблон поискаRob,но не устанавливать галочку «Учитывать регистр», то помимо собственноRobбудут также найдены слова типаrob, RoB,rOB и т. п. (если, конечно, они присутствуют в тексте).
Если галочка «Только слово целиком» не установлена, то кроме целых слов, совпадающих с шаблоном, будут находиться и части слов, например, для шаблона man будут найдены man, wоmап и mankind. Если же установить галочку «Только слово целиком», то совпадениями будут считаться только отдельные слова.
Галочка «Все словоформы» работает для английского языка и позволяет находить формы единственного и множественного числа имён существительных, все синтетически образуемые степени сравнения прилагательных и формы глаголов.
Назначение галочки «Подстановочные знаки» будет рассмотрено далее.
§2. Поиск с подстановочными знаками
Помимо лингвистических задач, связанных с поиском в тексте конкретных слов, могут быть и такие, в которых искомое слово заранее не известно. Например, может потребоваться найти в тексте:
- все слова определённой длины (например трёхбуквенные);
- все слова с определённым префиксом или суффиксом;
- все конструкции, обособленные с двух сторон запятыми и т. п.
Для решения таких задач можно воспользоваться специальным режимом поиска, предоставляющим расширенные возможности, — поиском с подстановочными знаками(англ.wildcards букв, 'дикие карты'). Для включения режима нужно, нажав кнопку «Больше» в окне «Поиск и замена», установить галочку «Подстановочные знаки».
В речи картёжников «дикими картами» называются карты, которые по предварительной договорённости игроков или в соответствии с правилами игры могут заменять любую другую карту. Например, в большинстве карточных игр «дикой картой» является джокер. У подстановочных знаков такая же функция: они могут заменить в шаблоне поиска любой символ или любую группу символов.
Действие подстановочного знака ?наиболее похоже на джокер в карточной игре: ? вшаблоне совпадает при поиске с любым символом текста. Например, шаблонг?д совпадёт с гад, гид, и год.
Подстановочный знак * заменяет собой любую последовательность символов. Например, если ввести шаблон г*д, то будут найдены совпадения год и город.
Часто бывает нужно «привязать» шаблон поиска к началу или концу слова. Начало слова отмечается подстановочным знаком <, а конец — знаком >. Так, шаблон поиска горо совпадёт с фрагментами слов город и гороскоп, но не огород. Если же ввести в качестве шаблона ор>, то будут найдены слова ор и yпор, а слово оратория найдено не будет.
Можно сконструировать подстановочный знак, который будет совпадать при поиске не с любым символом текста (как ?), а только с одним из указанных. Для этого список символов, с которым может совпасть подстановочный знак, нужно заключить в квадратные скобки. Например, шаблон кр[ае]н совпадёт со словам и кран, и крен.
Внутри квадратных скобок можно задавать через дефис диапазоны символов (по алфавиту): шаблон [в-н]оль позволит найти слова голь, ноль и моль, но не боль и нe роль. Алфавитный порядок, используемый при задании диапазона, соответствует порядку следования символов в кодовой таблице, для просмотра которой вMicrosoft Word 2003 можно выбрать в меню «Вставка» пункт «Символ...», а вMicrosoft Word 2007 — нажав на кнопку «Символ» на ленте «Вставка» и выбрав из выпадающего списка пункт «Другие символы...». В кодовой таблице, в частности, заглавные буквы предшествуют строчным, латинские — кириллическим, а русская буква ё на входит в диапазон символов а-я. Таким образом, подстановочный знак, соответствующий строчной русской букве, будет иметь вид[а-яё].
Если в перечень символов в квадратных скобках необходимо включить дефис, его нужно указывать первым или последним, например, перечень знаков арифметических операций
[-+*/]. Если дефис будет располагаться между двумя другими символами внутри квадратных скобок, то эти символы будут интерпретированы как диапазон.
Вместо того, чтобы перечислять в квадратных символы, которые могут совпадать с подстановочным знаком, можно, наоборот, перечислить те символы, которые не должны с
ним совпадать, поставив сразу после открывающей квадратной скобки !. Такой подстановочный знак будет совпадать с любыми символами, кроме перечисленных. Например, шаблон ко[!е-р]а совпадёт со словами кода и коса, но не кожа или кора.
Вся конструкция в квадратных скобках воспринимается Microsoft Word как единый подстановочный знак, и при поиске он будет совпадать только с одним символом текста.
Если возникает необходимость повторить некий знак (обычный или подстановочный) в шаблоне поиска несколько раз, то можно написать его один раз, и следом за ним в фигурных скобках указать количество повторений. Например, шаблон [а-я][а-я][а-я] идентичен шаблону[а-я]{3}. Если количество повторений не определено, то вместо фигурных скобок нужно поставить знак @. Так, шаблон[а-я]@ совпадет с любыми последовательностями строчных русских букв.
Если необходимо «лишить» подстановочный знак его специального значения и сделать его обычным символом, то перед ним следует поставить обратный слеш \. Например, для поиска слова, за которым следует вопросительный знак, можно использовать поисковый шаблон <*>!?.
Поиск с подстановочными знаками всегда чувствителен к регистру (заглавные и строчные буквы различаются).
Замена
Помимо функции поиска в Microsoft Word имеется функция замены, при использовании которой найденные совпадения с шаблоном автоматически заменяются заданным замещающим текстом(англ.replacement text). На вкладке «Заменить» диалогового окна «Найти и заменить» присутствуют два поля: «Найти» и «Заменить на». В поле «Найти», как и прежде, следует вводить шаблон поиска, а в поле «Заменить на» — замещающий текст.
Для поиска первого совпадения с шаблоном следует нажать кнопку «Найти далее». Найденное совпадение будет выделено в тексте. Далее можно нажать кнопку «Заменить», чтобы заменить это совпадение замещающим текстом, или кнопку «Найти далее», чтобы оставить это совпадение без изменения и перейти к следующему совпадению в тексте. Кроме того, имеется кнопка «Заменить все», нажатие на которую приведёт к замене всех оставшихся совпадений.
Подстановочные знаки, рассмотренные в §2, можно использовать в поле «Найти», но не в поле «Заменить на».
Если в поле «Найти» введён шаблон с подстановочными знаками, может возникнуть необходимость некоторые части найденного совпадения сохранить при замене, то есть включить в замещающий текст. Для этого нужно часть шаблона поиска, соответствующую сохраняемой части совпадения, заключить в круглые скобки, а в поле «Заменить на» использовать специальную конструкцию \п, гдеп — номер пары круглых скобок из поля «Найти». Пары круглых скобок нумеруются слева направо, начиная с 1. На место данной специальной конструкции при замене будет вставлена сохраняемая часть найденного совпадения.
Например, поисковый шаблон <([а-я/@)-([а-я]@)>и замещающийтекст\2-\l приведут к замене слова генерал-лейтенант словом лейтенант-генерал.
Поисковый шаблон: <([а-я/@) - ([а-я]@)>
Номера круглых скобок: 1 2
Совпадение: генерал лейтенант
Замещающий текст: 2 1
Итоговый замещающий текст: лейтенант генерал