ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

Advantages of object processing of text in creating electronic textbooks

The article was published in issue no. № 3, 2010
Abstract:Article is devoted technology of the text processing, allowing to simplify and accelerate process of creation of electronic manuals. In article the basic differences of technology from the means of automation of text processing closest to destination and as the example of its use is resulted are considered.
Аннотация:Статья посвящена технологии обработки текста, позволяющей упростить и ускорить процесс создания электронных учебных пособий. Рассмотрены основные отличия технологии от наиболее близких по назначению средств автоматизации обработки текста, приведен пример ее использования.
Authors: (info@jetdraft.com) - , Prokhorov S.A. (sp.prokhorov@gmail.com) - Samara State Aerospace University, Samara, Russia, Ph.D
Keywords: object text processing, distance education, creation of electronic textbooks, training programs
Page views: 9764
Print version
Full issue in PDF (5.84Mb)
Download the cover in PDF (1.43Мб)

Font size:       Font:

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

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

Основной недостаток текстовых редакторов/процессоров – низкая автоматизация процесса обработки текста. На практике пользователю приходится вручную разделять большой документ на части или изменять формат некоторых его составляющих. К примеру, в документе есть определенное количество предложений и для изменения внешнего вида каждого из них человеку необходимо самостоятельно выполнить определенную последовательность операций. Нужное на это вре­мя пропорционально количеству информации в документе [1, 2].

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

−    сложность и трудоемкость написания управляющих команд модификации данных;

−    ориентированность на фиксированное логическое содержание документа (набор команд может быть применен только к файлу с предварительно подготовленной внутренней структурой);

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

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

Реализация данного метода позволила решить следующие задачи:

·     изменение вида отображаемой в электронном документе информации;

·     декомпозиция содержания документа с целью его использования в электронных учебниках и интернет-ресурсах;

·     преобразование списков документов из одного типа в другой;

·     прямой доступ к служебным данным документа;

·     печать фрагментов данных из списка исходных документов.

Из языков программирования, доступных широкому кругу пользователей, наиболее близким аналогом по отношению к представленной технологии является язык программирования фирмы «Microsoft» Visual Basic for Applications (VBA). Он унаследовал стиль и отчасти синтаксис своего предка, языка Бейсик, и сочетает процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Наибольшую популярность язык получил благодаря своему использованию в пакете Microsoft Office.

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

Недостатки VBA:

·     оперирование физическими блоками текста, а не абстрактными указателями;

·     отсутствие операторов логических условий (И, ИЛИ, НЕТ);

·     отсутствие нечеткой логики в блоках группировки текста (то есть любое нестандартное действие приводит к сбою в обработке данных);

·     отсутствие механизмов создания индексных структур;

·     cложность написания исходного кода;

·     привязка к одному типу документа;

·     низкая скорость работы, обработка про- ходит многоступенчатую передачу данных от управляющего приложения к исполняющему и обратно [3].

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

Достоинства языка доступа к документам в сравнении с VBA:

·     оперирование абстрактными блоками, код может использоваться для анализа и изменения документа, содержащего любой тип форматирования;

·     наличие логических операторов условий (И, ИЛИ, НЕТ);

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

·     встроенный механизм создания индексных структур с гибкой настройкой выходных данных;

·     простота и удобство написания кода (в качестве управляющих последовательностей используются правила с ограниченным количеством управляющих условий и интуитивно понятной логикой);

·     отсутствие привязки к документу (система одновременно работает со списками документов в разных форматах).

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

Visual Basic for Application

'Пути ко всем файлам, которые должна обрабатывать программа

Dim scolFilePaths As New Collection

Открытие списка файлов

scolFilePaths.Add ("C:\My Work\doc1.doc")

scolFilePaths.Add ("C:\My Work\doc2.doc")

scolFilePaths.Add ("C:\My Work\docN.doc")

For Each sFilePath In scolFilePaths

   'Открываем каждый файл для выполнения замены

   If Not IsFileReadOnly(CStr(sFilePath)) Then

    Set oCurrDoc = Documents.Open(CStr(sFilePath), AddToRecentFiles:=False)

    nFileCounter = nFileCounter + 1

     "Открытие документа " & nFileCounter & " из " & scolFilePaths.Count, " ", " "

    'Счетчик открытых документов

    iOpenedFilesCntr = iOpenedFilesCntr + 1

   Else

    'Счетчик документов, доступных только для чтения

    iReadOnlyFilesCntr = iReadOnlyFilesCntr + 1

    'Переход к следующему файлу

    GoTo NextFile

   End If

   'Включаем или отключаем отображение кодов полей вместо значений для замены в гиперссылках

   bShowFieldCode = oCurrDoc.Windows(1).View.ShowFieldCodes

   oCurrDoc.Windows(1).View. ShowFieldCodes = chbProcHyperLinks.Value

 

   'Сброс параметров поиска

   Call ResetFRParameters

   'Перебираем все составляющие документа

   For i = 1 To scolFindText.Count

  'Читаем из коллекций строки поиска и замены

    sFindText = scolFindText.Item(i)

    sReplaceText = scolReplaceText(i)

    "Выполнение замены", Mid(sFilePath, _

    InStrRev(sFilePath, "\") + 1), _

    "Найти: " & sFindText & vbTab & "Заменить: " & sReplaceText

    'Перебираем все структурные элементы документа

    For Each oRngStory In oCurrDoc.StoryRanges

     Do

       SrcAndRplInStory oRngStory, sFindText, sReplaceText, chbMatchCase.Value, chbMatchWholeWord.Value

       On Error Resume Next

       'Оператор, необходимый для поиска и замены в надписях, которые находятся

       'во всевозможных колонтитулах страниц и сносках

       Select Case oRngStory.StoryType

        Case 6 To 11

         Call ReplaceInShapes(oRngStory, sFindText, sReplaceText)

         Case Else

          Call ReplaceInShapes(oRngStory, sFindText, sReplaceText)

       End Select

       On Error GoTo 0

       Set oRngStory = oRngStory.NextStoryRange

     Loop Until oRngStory Is Nothing

    Next oRngStory

   Next i

  'Восстанавливаем состояние отображения полей

  oCurrDoc.Windows(1).View.ShowFieldCodes = bShowFieldCode

  'Закрываем файл с сохранением изменений

  oCurrDoc.Close Savechanges:=wdSaveChanges

NextFile:

 Next sFilePath

Примерное время написания и отладки кода – от 1 часа

Язык доступа к документам

'Загрузка файлов

OPEN Mask("D:\My Doc\*.doc")

AS исходные_файлы

'Заменяем текст в файле

GROUP исходные_файлы.Replace ("Старый текст", "Новый текст")

AS заменяемый_текст

'Суммируем указатели

GROUP исходные_файлы.Apply

(заменяемый_текст)

AS обновленные_файлы

'Сохраняем файлы

SAVE обновленные_файлы

AS SELF

Примерное время написания и отладки кода – 5–10 минут

При сравнении управляющего кода для осуществления одной и той же операции очевидна разница в объеме действий пользователя. Для неподготовленного пользователя VBA значительно более сложен в работе.

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

Литература

1.   Беллман Р., Заде Л. Принятие решений в расплывчатых условиях / В сб.: Вопросы анализа и процедуры принятия решений. М.: Мир, 1976.

2.   Ярушкина Н.Г. Основы теории нечетких и гибридных систем. М.: Финансы и статистика, 2004.

3.   Шевякова Д.А., Степанов А.М., Карпов Р.Г. Программирование в среде Visual Basic for Applications. М.: Горячая линия – Телеком, 2004.

4.   Тимченко М.С. Веб-узел программной реализации объектного метода обработки текста. URL: http://www.jet­draft.com/rus/index/ (дата обращения: 23.03.2010).


Permanent link:
http://swsys.ru/index.php?page=article&id=2567&lang=&lang=en&like=1
Print version
Full issue in PDF (5.84Mb)
Download the cover in PDF (1.43Мб)
The article was published in issue no. № 3, 2010

Perhaps, you might be interested in the following articles of similar topics: