Научные и технические библиотеки №9 2006 год
Содержание:

Езова С.А. Дискурс о библиотечном пространстве

Сукиасян Э.Р. Универсальная десятичная классификация.
Возникновение, распространение в современном мире

Шилов В.В. Обменные фонды: история с учетом

Арутюнова О.Р. Информационно-библиографическое обслуживание
в вузовской библиотеке в условиях филиальной системы

Стахевич А.М. Перевод обслуживания читателей вузовской библиотеки
на автоматизированную технологию с использованием штрих-кода:
некоторые итоги первого этапа работы

Блюменау Д.И. Конспектирование электронных документов
методом визуального сканирования размеченного текста

ДИСКУССИОННЫЙ КЛУБ

Полтавская Е.И. Размышления на тему: что общего между
библиотековедением, библиографоведением, книговедением… и что такое документ?

Столяров Ю.Н. Зачем документология нужна документоведению
и зачем – книговедению? Маленькая картинка для выяснения
больших вопросов

ЭЛЕМЕНТЫ СОВРЕМЕННОЙ ИНФОРМАЦИОННОЙ
ТЕХНОЛОГИИ

Воройский Ф.С. Защита информационных ресурсов

НОВЫЕ СТАНДАРТЫ

ИНФОРМАЦИОННЫЕ СООБЩЕНИЯ

Свергунова Н.М. Научно-методический семинар «Библиотеки учебных заведений: традиции и новые ориентиры»

НАШИ АВТОРЫ


УДК 025:65.011.56

Блюменау Д.И.

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

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

Информационная составляющая в структуре научно-технического процесса включает в себя четыре компонента (этапа): 1) формулирование темы (проблемы) и обоснование необходимости проведения исследования; 2) поиск источников информации, релевантных теме; 3) аналитико-синтетическую переработку найденных источников; 4) создание серии документов, отражающих результаты разработки (обзоров, отчетов НИОКР, статей, патентных описаний и пр.). В рамках данной статьи подробно рассмотрен лишь третий этап – аналитико-синтетическая переработка, остальные три будут очерчены лишь контурно. Это необходимо, чтобы подчеркнуть взаимозависимость и взаимообусловленность всех операций, образующих информационную составляющую НИОКР.

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

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

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

Различают [1] три разновидности конспектов, которые обусловлены задачей конспектирования, вытекающей из конкретной потребительской ситуации.

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

Ситуация вторая – документ содержит информацию, которая должна быть непосредственно использована в разработке. Это могут быть отдельные данные, формулировки, положения, фрагменты текста и др. Совокупность их и образует собственно конспект, который иногда называют реферативным. Это наиболее часто встречающаяся разновидность конспектов. Такой конспект сопровождается библиографическим описанием и идентификационным номером.

Ситуация третья – автор конспекта творчески относится к анализируемому документу: не только извлекает из него потенциально необходимые сведения, но и сопровождает их различными комментариями, замечаниями, размышлениями и пр. В этом случае мы имеем дело с аналитическим конспектом. В условиях проведения научно-исследовательской работы – это наилучшая разновидность конспекта.

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

Понятие релевантность как некоторое смысловое соответствие между интересом читателя и содержанием документа уже давно вошло в терминологический аппарат библиотечно-информационных работников, однако до сих пор в трактовке этого понятия нередко отсутствует четкость. Анализ релевантности требует рассмотреть ее с точки зрения семиотического подхода, т.е. с точки зрения синтактики, семантики и прагматики. Проще всего это осуществить на примере рассмотрения схемы традиционной информационно-поисковой системы (ИПС), включающей такие идущие навстречу друг другу элементы, как Автор (А), Документ, созданный автором (Д), Поисковый образ документа, введенный в ИПС (ПОД), «Машина» (ИПС). Это с одной стороны. С другой: Потребитель информации (П), Информационная потребность (ИП), Поисковый образ запроса (ПОЗ):

А -> Д ->ПОД -> ИПС <- ПОЗ <- ИП <- П.

Между элементами этой цепочки существуют различные смысловые соответствия и называть их одним термином не всегда допустимо. Так, смысловое соответствие между ПОД и ПОЗ, которые введены в «Машину» – синтаксическая (т.е. формальная, на уровне знаков) релевантность. Она реализуется в критериях смыслового соответствия (критериях выдачи) конкретной ИПС. Смысловое соответствие между содержанием документа и содержанием запроса – семантическая (т.е. объективно существующая) релевантность. Она определяется оператором системы, библиографом, т.е. информационным работником – лицом, непосредственно не использующим информацию в научной деятельности, на основе его собственных представлений о смысловой близости этих текстов. Наконец, смысловое соответствие между содержанием документа и информационной потребностью реципиента (потребителя) – прагматическая релевантность, называемая пертинентностью. На практике о существовании первой релевантности обычно вообще не задумываются, а вторую и третью не различают. А это – нежелательно.

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

Об информативности. Достаточно часто под информативностью понимают «то количество информации, которое извлекает из документа конкретный потребитель» (Г.Г. Воробьев). Примерно такого же мнения придерживаются и многие другие авторы – Т.М. Дридзе, А.В. Соколов, В.П. Леонов и др., ставя тем самым знак равенства между понятиями информация и информативность.

В действительности информация – субъективная реальность, количество которой (информации) можно измерить лишь по степени изменения структуры индивидуального тезауруса. К сожалению, до настоящего времени не установлена конкретная единица, которая бы позволяла эту степень измерять. Применяемая в теории связи и компьютерной технике единица количества информации байт для измерения «степени изменения тезауруса» непригодна, поскольку последнее относится к области семантики.

Информативность же – реальность объективная и характеризуется степенью разнообразия двух и более текстов, имеющих единый денотат (единый предмет описания). Отсюда различные сообщения (тексты) обладают различной информативностью не по отношению к какому-либо индивидуальному тезаурусу, а лишь по отношению друг к другу. Так, допустим, цепочка документов, фиксирующая определенный момент в развитии того или иного научно-технического объекта, может быть отражена не только в патентном описании, но и в кратком журнальном сообщении, статье научно-технического сборника, информационном листке, популярной газетной заметке, руководстве, обзоре и т.д. – везде на различном уровне информативности (или информативного свертывания). С измерением информативности (по сравнению с измерением информации) положение не столь безнадежное – существуют некоторые подходы к ее измерению, допустим, на основе сопоставления денотативных структур, но этот «аршин» тоже небезупречен.

О лексическом и семантическом свертывании. Под свертыванием (развертыванием) понимается изменение физического объема текста (документа) в результате его аналитико-синтетической переработки, сопровождающейся уменьшением (или увеличением) его информативности. В результате свертывания формируются вторичные документы различного функционального назначения, в том числе и наши конспекты. Свертывание может быть как лексическим, так и семантическим.

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

Цель семантического свертывания – уменьшение физического объема текста за счет преобразований в его содержании, т.е. с изменением (уменьшением) его информативности. Если речь идет о семантическом развертывании (например в случае подготовки аналитических конспектов), то, естественно, информативность такого конспекта возрастает. Обеспечивается семантическое свертывание текста прежде всего за счет исключения из него нерелевантных и информативно-избыточных фрагментов, а также путем их перефразирования. Первая задача решается относительно просто, вторая – сложнее, поскольку требует от конспектирующего достаточно большой глубины понимания текста и способности перефразирования с сохранением его важнейших, доминантных положений.

Конспект, как уже указывалось, – одна из разновидностей вторичных документов (ВД), но в отличие от других ВД – аннотаций, рефератов и рецензий – обладает некоторыми особенностями:

а) перечисленные выше ВД ориентированы, как правило, на некоторый, неопределенный по своим границам коллектив читателей и оцениваются  с точки зрения релевантности, в то время как конспект всегда имеет персональное назначение и оценивается с точки зрения пертинентности;

б) в процессе реферирования/аннотирования основной задачей является «беспристрастное» отражение содержания первичного документа в подготавливаемом вторичном документе, в то время как в процессе конспектирования документ прежде всего оценивается с позиции отношения его содержания к решаемой специалистом конкретной проблеме и очень часто сопровождается замечаниями, рассуждениями, заключениями, т.е. в данном случае конспект является результатом личного диалога между автором документа и автором конспекта.

При компьютерном конспектировании также наблюдаются особенности, но теперь уже по отношению к так называемому ручному, традиционному конспектированию:

а) ручное конспектирование предполагает широкое использование перефразирований, поскольку оно ориентировано прежде всего на запись смысла, а не текста (речи); в случае машинного конспектирования необходимые фрагменты текста (МРФ) извлекаются из документа практически без изменения, иногда с небольшими сокращениями. Задача перефразирования возникает, как правило, лишь на этапе подготовки из МРФ текста первичного документа;

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

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

Компьютерное конспектирование научно-технических текстов является частью более широкой и чрезвычайно важной проблемы – проблемы автоматизации (формализации) семантических процессов, алгоритмизации обработки сообщений (текстов).

Семантическими считаются задачи, предполагающие моделирование в той или иной форме процессов понимания – машинный перевод, автоматическое реферирование и аннотирование, индексирование, а также конспектирование. Объектом формализации в таком случае является текст, включающий в себя не только языковые составляющие, но и речевые (речемыслительные). Однако до настоящего времени способы формализации были ориентированы прежде всего на языковой уровень текста и в значительно меньшей степени на речевой, что является недостаточным для моделирования понимания, которое предполагает переход к денотативному уровню текста, т.е. к структуре его содержания. Отсюда именно речемыслительный процесс должен стать объектом формализации, а не языковой.

Но возможна ли формализация речемыслительного процесса, который базируется на творческих, эвристических способностях человеческого мышления? Исследования показывают, что в силу эвристичности, интуитивности речемыслительного процесса, в  котором совершается переход от языкового уровня (уровня слов – значений) к содержанию, его формализация в полном объеме оказывается невозможной. Динамичность содержания и его непрогнозируемое разнообразие не позволяют задавать все его элементы предварительно в виде статической системы. Поэтому нужно признать, что разработка алгоритма перехода к содержанию, рассчитанного на обработку любого текста, порождаемого в обычном процессе коммуникации, является неосуществимой.

Все сказанное о возможностях формализации семантики текста не означает, что должны быть оставлены все попытки решения этой задачи. Эти попытки в данных условиях должны быть направлены не на создание некоторых универсальных средств формализации, рассчитанных на любой текст, а на поиск тех условий, при которых поставленная задача может быть решена, хотя бы и не в полном объеме, т.е. не на автоматическом, а на автоматизированном уровне, когда одна часть операций закрепляется за «машиной», а другая – за человеком.

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

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

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

В принципе методика предусматривает три уровня конспектирования – аннотативное, реферативное, аналитическое. Эти уровни определяются 1) объемом и сложностью обрабатываемого документа, 2) наличием и степенью владения специалистом той или иной версией Word.

Первый уровень конспектирования: документ небольшего объема, его анализ можно с успехом осуществить без использования аппарата цветовой разметки текста; второй уровень (основной в нашем случае): требует для ориентации в тексте документа подключения аппарата цветовой разметки с использованием только ключевых слов; третий уровень: документ достаточно большого размера, сложной структуры и нуждается в дифференцированном подходе к конспектированию – что-то на аннотативном уровне, что-то на реферативном, а некоторые части текста и на аналитическом. В этом случае есть возможность использования не только ключевых слов, но и элементов лексического аппарата экстрагирования.

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

На этапе создания массива первичных документов необходимо четко сформулировать тему (название) подготавливаемого первичного документа (в нашем случае – обзора) и определить цель документа, на какие вопросы он должен ответить (какие вопросы должны  быть освещены, чтобы достичь поставленной цели). Формулируя ответы на эти вопросы, мы получим предварительное оглавление (содержание, структуру) документа. Предварительное – потому, что в ходе изучения литературы оглавление может быть достаточно существенно «деформировано»: одни разделы разукрупнены, другие – вообще изъяты. После формулирования темы и разделов следует разметить их цифровой или буквенно-цифровой индикацией (например, А.1.1…Б.2.3. и т.д.). Это нужно для того, чтобы в процессе поиска и сбора литературы, а затем в ходе выделения из конспектируемых источников пертинентных фрагментов жестко «привязать» их к тем или иным пунктам оглавления. Подобный прием впоследствии значительно облегчает ориентацию в собранном материале.

На основании заглавия, оглавления и названий разделов будущего документа формулируются поисковые образы запросов (или серии поисковых предписаний, уточняющих и раскрывающих их).

Следующая операция – составление перечня поисковых машин и поисковых каталогов (к примеру: Яндекс, Рамблер, Апорт, Google, Altavista, WiseNut, Weblist.ru, Yahoo, Excite, Lycos и др.), а также электронных версий реферативных журналов на лазерных дисках, в которых вы собираетесь осуществлять поиски.

При обращении к источникам первичной информации во время подготовки к НИОКР следует иметь в виду, что возможны два варианта поиска:

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

б) поиск информации, которая заведомо отсутствует в потоке, и получение ее является целью НИОКР. Здесь требуется проведение «тотального» поиска с целью воссоздания полной картины состояния проблемы и всех возможных подходов к ее решению. Возможностей Интернета в силу значительной выборочности комплектования его поисковых машин и каталогов чаще всего не хватает, и потому обращение к электронным версиям реферативных журналов весьма желательно. В том или ином случае признанные релевантными источники отбираются и направляются в специально выделенную для них папку.

Сформировав для анализа массив релевантных документов и расположив его желательно в отдельной папке, cпециалист приступает непосредственно к конспектированию. Эта процедура предполагает наличие некоторых рабочих документов и программы цветовой разметки текста. Применяемая в данной методике программа (прил.) предусматривает выделение (разметку) четырех категорий лексических единиц, составляющих лингвистический аппарат экстрагирования минимальных релевантных фрагментов (МРФ) – маркеров, индикаторов, коннекторов и ключевых слов. Каждая из этих категорий имеет свой «карман», который заполняется заранее (априори) пользователем в зависимости от того, на выполнение какой разновидности экстрагирования (аннотаций, рефератов или минимальных релевантных фрагментов) он настраивает свою программу (макрос). В нашем случае, случае конспектирования, задача использования всего «спектра» лексических единиц экстрагирования значительно упрощается: мы используем в основном лишь ключевые слова и достаточно редко – индикаторы и фрагментивные маркеры; при этом ключевые слова как множество переменное, отражающее содержание конкретного поискового образа запроса (ПОЗ), по которому и осуществляется поиск МРФ, каждый раз (при изменении задачи) заново загружаются в свой «карман» – чаще всего в четвертый. Остальные карманы, потенциально предназначенные для загрузки других разновидностей лексических единиц, в случае использования только ключевых слов должны оставаться незагруженными (пустыми). Использование в случае конспектирования «других» лексических единиц целесообразно лишь для «ювелирного» поиска. Кто этим заинтересуется, может обратиться к [3]. На первых порах можно вполне обойтись без таких «тонкостей».

Иногда в состав поискового образа запроса включают так называемые фрагментивные маркеры, чтобы определить не только тему, но и аспект рассмотрения темы. Это такие слова, как Изготовление, Измерение, Инструменты, Испытание, Конструирование, Методика, Оценка, Расчет, Свойства, Схема и др. Их можно иметь в качестве постоянного списка на одном из файлов и включать в поисковый образ запроса в качестве «простых» ключевых слов.

Итак, в качестве возможного аппарата экстрагирования МРФ (рабочих документов)  можно предложить: Программу цветовой разметки текста (макрос), Словарь маркеров (в полном или усеченном – только фрагментирующие маркеры – вариантах), Словарь индикаторов (акцентирующих и результирующих), Список коннекторов и – главное – Перечень поисковых предписаний (ПОЗ), полученный в результате индексирования ключевыми словами элементов (возможных параграфов, разделов…) сформулированного на предыдущем этапе оглавления будущего документа (ради составления которого и производится конспектирование). Желательно также в качестве рабочего документа иметь небольшую методичку, чтобы в случае значительного перерыва в работе не вспоминать каждый раз «премудрости» этой нехитрой технологии.

Все эти элементы аппарата конспектирования следует разместить на отдельных файлах (папках) и назначить им кнопки, которые желательно расположить на одной из существующих панелей инструментов или специально созданной. (Еще раз напоминаю: Словари маркеров, индикаторов и коннекторов для «обычного» конспектирования можно не применять.) В рассматриваемом случае такие кнопки можно вывести для папки markall, включающую сам макрос Markmacro.bas, список категорий лексических единиц (четыре категории, четыре «кармана) – Marker.txt и шаблон – Marker.dot. Последний можно в ряде случаев не использовать. Желательно иметь кнопки также для папок конспектируемых первичных документов, экстрагированных МРФ и перечня поисковых предписаний, поскольку он может быть достаточно большим. Файл Marker.txt и шаблон располагаются в Startup-каталоге, путь к которому: Проводник – Program FilesMicrosoft OffisOffisStartup.

Сама процедура разметки текста и экстрагирования  МРФ достаточно проста: помещаем последовательно в папку markall или непосредственно в Marker.txt необходимую нам для конкретного случая часть лексического аппарата (в нашем случае – ключевые слова очередного поискового предписания); выводим из папки документов очередную статью; через цепочку команд Сервис – Макрос – Макрос выходим на окно Макрос; в верхнем окне вводим имя Mark и нажимаем «Выполнить» – текст расцвечивается; визуально сканируем текст, задерживая внимание на расцвеченных фрагментах, которые должны соответствовать теме нашего предписания; в случае пертинентности данного фрагмента выделяем его и командой Ctrl +F3 посылаем в «Копилку»; продолжаем анализ текста и повторяем операции по экстрагированию МРФ в «Копилку»; закончив конспектирование текста, вызываем на экран монитора «Документ 1» и командой Ctrl +Shift +F3 выводим на него образовавшийся текст; к этому тексту добавляем идентифицирующий номер, библиографическое описание проконспектированного документа и личные дополнения, замечания и примечания. Последнее необходимо, если целью нашей работы является аналитический документ (к примеру аналитический обзор). Возвращаемся к очередному документу, хранящемуся в папке… На практике не всегда бывает так просто – многое зависит от характера документа (прежде всего от типа речи – описательный, повествовательный или текст-рассуждение). Иногда приходится менять состав ключевых слов в поисковом предписании.

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

Совершенно не исключено, что полученной в результате обработки массива документов информации недостаточно с точки зрения первоначального замысла. Тогда работу частично придется повторить: откорректировать оглавление (и соответственно поисковые предписания), провести дополнительные поиски документов и их обработку, как это описано выше. Некоторый опыт подготовки машинным способом аналогичных документов, в частности квазихрестоматий, обобщен в работе [4]. Такие документы могут сопровождаться различными указателями типа именного, предметного и пр. Технология их компьютерного изготовления относительно проста, но требует обязательного выделения элементов указателя (слов) на этапе анализа конспектируемых документов.

Надеюсь, что изложенная в статье теория и методика компьютерного конспектирования послужит, пусть незначительным, шагом на пути к решению глобальной задачи – разработке и созданию механизма сплошной навигации в информационных потоках с целью подготовки широкого спектра различных документов – квазиобзоров, квазихрестоматий, квазиконспектов, квазисправочников…

Список использованных источников

1.    Блюменау Д.И. Информационный анализ/синтез для формирования вторичного потока документов. – СПб.: «Профессия», 2002. – 240 с.

2.    Горькова В.И. Реферат в системе научной коммуникации/ В.И. Горькова, Э.А. Борохов – М.: Изд-во ВИНИТИ, 1987. – 232 с. – (Итоги науки и техники. Сер. Информатика. Т.1).

3.    Колпакова Н.В. Формирование электронных ресурсов академической сети// Петербург. библ. шк. – 2002. – № 2. – С. 70–76.

4.    Блюменау Д.И., Аннис Габриела (Германия). Квазихрестоматия – из опыта создания персональных учебных пособий на основе компьютерной технологии // НТИ. – Сер. 1. – 1997. – № 11. – С. 1–8.

 

Приложение

Программа цветовой разметки текста

1. Программа размечает текст, выделяя четыре категории слов – каждую своим цветом.

2. Программа реализована в виде макрокоманды Word на языке VBA и может обрабатывать только текст, представленный в виде документа Word.

3. Список категорий слов должен быть представлен в виде текстового файла в кодировке Windows (CP-1251).

4. В этом файле сперва идёт первая категория, начинающаяся со слова с предшествующим знаком плюс; далее идут слова, составляющие эту категорию, каждое слово на новой строке, причём после корня (точнее после опознаваемой части) должен быть знак минус, окончание слова не участвует в сравнении маркеров со словами документа.

Вторая категория слов оформляется аналогично первой и отличается от первой содержанием.

Третья категория содержит не части слов, как первая и вторая, а целые слова. Четвёртая содержит пары слов.

5. Принцип сравнения слов документа со словами из списка первой и второй категории состоит в совпадении начала слов документа с той частью слов из списка, которая предшествует знаку минус в списке. Для третьей  категории сравниваются целые слова, а для четвёртой – пары слов.

6. Слова в файле списка располагаются каждое на новой строке с любой позиции. Позиции можно использовать для логического выделения или объединения слов, например по понятиям.

7. Файл называется Maker.txt и должен располагаться в Startup-каталоге вместе с шаблоном Marker.dot;

C:\Program Files\Microsoft Office\Office\Startup\

8. Макрокоманда Mark выполняется по команде с клавиатуры ALT+M(латинское).

 

Option Explicit

Public marker(1000, 4) As String 'маркерыпокатегориям

Public hmark(4) As String 'категории

Public nhmark(4) As Long 'длинымассивовкатегорий

Public nnhmark As Long 'числокатегорий

Public jm As Long 'номер выбранной категории

 Sub InpCateg()

' Макрос записан 24.03.01 Matob

Dim iw, ltw, jw, nm, newmark

Dim tw As String

Close #1 'на случай повторного открытия

Open "c:\program files\microsoft office\office\startup\marker.txt" For Input Shared As #1

jw = 0

nm = 0

Do While Not EOF(1) ' Циклдоконцафайла.

    Line Input #1, tw

    tw = Trim(tw)

    ltw = Len(tw)

    If ltw > 1 Then

      If InStr(tw, "+") = 1 Then 'признаккатегории

         jw = jw + 1

         hmark(jw) = UCase(Mid(tw, 2, 10))

         nm = 0

      End If

    End If

    newmark = 0

    If ltw > 1 Then

       If jw < 3 Then

          If InStr(tw, "-") > 2 Then

              tw = Mid(tw, 1, InStr(tw, "-") - 1)

              newmark = 1

          End If

        Else

          newmark = 1

        End If

        If newmark = 1 Then

            nm = nm + 1

            marker(nm, jw) = LCase(tw)

            nhmark(jw) = nm

        End If

    End If

    Loop

 

Close #1    ' Закрываетфайл.

End Sub

Sub mark()

' Макрос создан 25.03.01 Matob

Dim wn, i, j, k, marked, pmark

Dim colorj(4)

Dim iw

Dim ww, ww2

Dim nm

 

Call InpCateg

colorj(1) = wdRed

colorj(2) = wdBlue

colorj(3) = wdGreen

colorj(4) = wdYellow

wn = ActiveDocument.Words.Count 'числословвдокументе

Selection.HomeKey Unit:=wdStory 'кначалудокумента

    For iw = 1 To wn

     Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

     ww = LCase(Trim(Selection))

 

        If Len(ww) > 1 Then

           k = InStr(ww, Chr(7)) 'табуляция при выходе из ячейки табл.

           If k = 0 Then

           marked = 0

           For j = 1 To 3

           nm = nhmark(j)

                For i = 1 To nm

                 If j < 3 Then

                    pmark = InStr(ww, marker(i, j))

                 Else

                    pmark = StrComp(ww, marker(i, j))

                    If pmark = 0 Then

                    pmark = 1

                    Else

                    pmark = 0

                    End If

                 End If

                 If pmark > 0 Then

                   Selection.Font.ColorIndex = colorj(j)

                   marked = 1

                   Exit For

                 End If

                Next i

                 If marked > 0 Then Exit For

           Next j

            End If

        EndIf

     'Если первое слово не помечено

     If marked = 0 Then 'то пробуем два вместе

        Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

        ww2 = LCase(Trim(Selection))

        'а вдруг внутри несколько пробелов, сократим их до одного

        i = InStr(1, ww2, " ")

        ww2 = Mid(ww2, 1, i) + Trim(Mid(ww2, i + 1))

        If Len(ww2) > 1 Then

           marked = 0

           j = 4

           nm = nhmark(j)

           For i = 1 To nm

               pmark = InStr(ww2, marker(i, j))

               If pmark > 0 Then

                   Selection.Font.ColorIndex = colorj(j)

                   marked = 1

                   Exit For

               End If

            Next i

        End If

     End If

     Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend

      If k = 0 Then

        Selection.MoveRight Unit:=wdWord, Count:=1 'продвигаемсякслед. слову

      Else

         Selection.MoveRight Unit:=wdCharacter, Count:=1 'продвигаемсякслед. символу

      End If

    Next iw

 

End Sub

 

  
На главную