Всем привет! Я Елена Шустерман, ведущий технический писатель в РТЛабс.

Это вторая часть статьи «Давайте сократим сокращения». Расскажу ещё немного про редактор MS Word и поиске с подстановочными знаками — об использовании фильтра с подстановочными знаками для усложненной задачи.

Какую задачу решаем

На Госуслугах есть помощник — цифровой ассистент Робот Макс. К нему можно обращаться с разными вопросами, что удобно для пользователей. В документации портала Госуслуг встречаются разные варианты описания обращения к Роботу Максу: «написать запрос цифровому ассистенту роботу максу» или «спросить у цифрового ассистента Робот Макс». В серьёзных документах государственных сервисов надо писать правильные и единые сокращения и термины, для Макса выбрали «ЦА Робот Макс». Теперь задача: как собрать всех Максов из текстов и назвать одинаково?

Использование выражений с подстановочными знаками

Формулирую задачу: найти слово или словосочетание в любом падеже и в любом числе и заменить на его сокращение.

Инструмент: фильтр с подстановочными знаками.

В фильтре использую специальные символы для построения выражения с подстановочными знаками. В строке поиска выражением является все то, что заключено в круглые скобки (в этом случае тоже являются специальными знаками). Выражение будет состоять из конкретных символов и также содержать подстановочные знаки или специальные символы.

Операция

Что пишем в фильтре

Действие

Начало слова

< 

Выражение <(роб) позволяет найти слова робот и робуста, но не слово «коробка»

Неизменяемая часть слова

()

Неизменяемую часть слова в круглых скобках  фильтр ищет как точное соответствие

Один из указанных символов

[ ]

Выражение робот[ао]м позволяет найти слова роботом и роботам

Любой символ из указанного диапазона

[-]

Выражение робот[а-у] позволяет найти слова роботароботу 
и роботе. Диапазон должен быть указан в порядке возрастания

Предыдущий символ или выражение, повторенные от «n» до «m» раз

{n;m}

Предыдущий символ или выражение, повторённые от «n» до «m» раз

Алгоритм построения построения маски поиска

Мой алгоритм построения такого фильтра на примере словосочетания «Учетная запись»:

Шаг

Что делаем

Зачем делаем

Что ставим в строку поиска

для 1-го слова словосочетания

для 2-го слова словосочетания

1

Первую букву словосочетания вынести в квадратные скобки

Так как в тексте словосочетание может стоять в начале предложения или списка и начинаться либо с строчной буквы, либо с прописной, указать в квадратных скобках и строчный, и прописной вариант буквы

[Уу]

 

2

Выделить неизменяемую часть слова — из него убирать 1 последнюю букву

Эту выделенную часть слова вносим в круглые скобки,  по не�� фильтр будет искать точное соответствие

(четн)

(запи)

3

В квадратных скобках указать через дефис «-» строчные буквы кириллицы [а-я]

Таким образом перечислены все строчные буквы кириллицы

[а-я]

[а-я]

4

В фигурных скобках через точку с запятой «;» указать минимальное и максимальное возможное количество букв в слове после выделенной части на шаге 2 — {1;4}

Минимальное количество 1 — для этого мы на шаге 2 убрали 1 последнюю букву из неизменяемой части
Максимальное количество считаем из возможных вариантов склонения слова

{1;3}

{1;4}

5

Пробел

Если формируем строку фильтра для словосочетания

 

 

6

Повторить шаги 1-4 для слова в словосочетании

 

Если формируем строку фильтра для словосочетания

 

 

Получается такая строка поиска

[Уу](четн)[а-я]{1;3} (запи)[а-я]{1;4}

Проверить можно на тексте ниже. В редакторе MS Word фильтр выбирает все варианты.

Учетная запись, учетной записи пользователя, учетную запись, учетной записью пользователя, учетной записи администратора,

Учетные записи пользователя, учетных записей пользователя, учетным записям пользователя, учетными записями пользователя, в учетных записях администратора

Учетные записи пользователей, учетные записи пользователей,

Учетных записей пользователя, учетной записи пользователей

Учетная запись пользователей

Усложним, добавим ещё одно слово в словосочетание «Учетная запись пользователя» и поставим задачу выбирать выражения с буквой Е и Ё.

Шаг

Что делаем

Зачем делаем

Что ставим в строку поиска

для 1-го слова словосо-четания

для 2-го слова словосо-четания

для 3-го слова словосо-четания

1

Первую букву словосочетания вынести в квадратные скобки

Так как в тексте словосочетание может стоять в начале предложения или списка и начинаться либо со строчной буквы, либо с прописной – указать в квадратных скобках и строчный, и прописной вариант буквы

[Уу]

 

2

Выделить неизменяемую часть слова — из него убрать 1 последнюю букву

Эту выделенную часть слова вносим в круглые скобки,  по ней фильтр будет искать точное соответствие

(четн)

(запи)

(пользоват)

2*

В выделенной части слова в квадратных скобках указать буквы [её]

Таким образом перечислили оба варианта написания слова через «Е» и через «Ё»

(ч[её]тн)

3

В квадратных скобках указать через дефис «-» строчные буквы кириллицы [а-я]

Таким образом перечислены все строчные буквы кириллицы

[а-я]

[а-я]

[а-я]

4

В фигурных скобках через точку с запятой «;» указать минимальное и максимальное возможное количество букв в слове после выделенной части на шаге 2 — {1;4}

 

Минимальное количество 1 — для этого мы на шаге 2 убрали 1 последнюю букву из неизменяемой части
Максимальное количество считаем из возможных вариантов склонения слова

{1;3}

{1;4}

{1;4}

5

Пробел

Если формируем строку фильтра для словосочетания

 

 

6

Повторить шаги 1—4 для слова в словосочетании

 

Если формируем строку фильтра для словосочетания

 

 

[Уу](ч[её]тн)[а-я]{1;3} (запи)[а-я]{1;4} (пользоват)[а-я]{1;4}

Учетная запись пользователя, учетной записи пользователя, учетную запись пользователя, учетной записью пользователя, учетной записи пользователя,

Учетная запись администратора, учетной записи администратора, учетную запись администратора, учетной записью администратора, учетной записи администратора,

Учетные записи пользователя, учетных записей пользователя, учетным записям пользователя, учетными записями пользователя, учетных записях пользователя

Учетные записи пользователей, учетные записи пользователей,

Учетных записей пользователя, учетной записи пользователей

Учетная запись пользователей, учетной записи пользователей,

Учётные записи пользователя, учётных записей пользователя, учётным записям администратора, учётными записями пользователя, учётных записях пользователя

Для варианта с одним словом перечисляю алгоритм в 4 шага и предлагаю самостоятельно составить маску для расширенного поиска:

  1. Первую букву словосочетания вынести в квадратные скобки, указать в квадратных скобках и строчный, и прописной вариант буквы.

  2. Выделить неизменяемую часть слова и из него убрать 1 последнюю букву — оставшуюся часть внести в круглые скобки.

  3. В квадратных скобках указать через дефис «-» строчные буквы кириллицы [а-я].

  4. В фигурных скобках через точку с запятой «;» указать минимальное и максимальное возможное количество букв в слове после выделенной части на шаге 2.

Используя последовательно шаги описанного алгоритма построения маски фильтра можно строить выражения для поиска слов и словосочетаний из нескольких слов в тексте MS Word.

В тексте фильтр одновременно выделит все формы словосочетания в любом падеже и числе.

Такие маски поиска достаточно однажды составить для словосочетаний и указать их в своей базе знаний в списке терминов и сокращений. Например, в моём рабочем справочнике это выглядит так:

Сокращение / Термин

Расшифровка / Определение

Фильтр для поиска

Суперсервис

Комплекс услуг, сгруппированных по основным жизненным ситуациям и предоставляемых в том числе в автоматическом режиме

[Сс](уперсерви)[а-я]{1;4}

СЦ

Ситуационный центр

[Сс](итуацион)[а-я]{1;4} (цент)[а-я]{1;4}

УЗ

Учётная запись

[Уу](ч[её]тн)[а-я]{1;3} (запи)[а-я]{1;4}

Однажды составленную для словосочетания маску поиска сохранить в справочнике базы знаний. При работе с документом, для поиска сразу всех вхождений нужного слова или словосочетания использовать функцию MS Word расширенный поиск с подстановочными знаками:

  • в окне поиска «Найти и заменить» нажать «Больше>>»

  • установить галочку «Подстановочные знаки»

  • в поле «Найти» вписать формулу для поиска

  • в поле «Заменить» вписать соответствующее сокращение

Результат выделения приведён на примере вымышленного текста для демонстрации поиска сразу всех вариантов написания словосочетания «Ситуационный центр»:

Результат замены одновременно всех вхождений значительно экономит время вычитки текста при поиске вхождений терминов.

Вывод

Расширенный поиск в MS Word — мощный инструмент, с помощью которого можно строить удобные поиски. Стоит изучить подробно его возможности и находить варианты применения.