Работа с текстом на компьютере

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 28.09.2018
Размер файла 533,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Работа с текстом на компьютере

1. О языках программирования

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

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

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

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

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

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

История современных языков программирования насчитывает всего лишь пять десятилетий, если считать от момента создания языка Планкалкюль немецким инженером К. Цузе в 1946 г. С тех пор появились сотни языков программирования, а с вариантами, возможно, тысячи. Конечно, не все они употребляются на практике, и если бы их развитие шло другим путем, их могло бы быть и меньше. Но их многообразие оправдано, так как нельзя создать язык, пригодный для всех случаев. Язык должен быть пригоден для решения данной задачи на данном компьютере и удобен для программиста.

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

Это повело к созданию языков ассемблера, в которых двоичные последовательности были заменены символами и словами. Первым таким языком был ассемблер компьютера "Эдсак", созданный в 1949 г. английским математиком М. Уилксом. Разумеется, ассемблеры проще и мнемоничнее машинных кодов, в них можно создавать инструкции для определенных действий. Однако каждая команда должна определяться отдельно и за ее прохождением в машине нужно следить, Кроме того, ассемблер жестко связан с типом компьютера, для которого он создан.

Ограниченность ассемблеров была преодолена в языках более высокого уровня. Первым распространенным языком высокого уровня явился Фортран, разработанный в 1954-1957 гг. Дж. Бекусом в фирме IBM и до сих пор применяемый для научных расчетов. Поскольку его применение занимало много времени "тихоходных" в то время машин, для него был создан компилятор, переводивший его программы в машинный код. Это положило начало особым видам программ - т р а н с л я т о р а м, которые для каждого типа компьютеров переводят программы, написанные на языке высокого уровня, в их машинный код.

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

Все исследования в области программирования с 1957 г. стимулировались стремлением усовершенствовать Фортран, который подвергался неоднократным переделкам. Стало появляться большое число языков, что беспокоило программистов, которые создали Международный комитет для выработки единого языка программирования (КОДАСИЛ). Результатом работы комитета явились два языка, до сих пор широко распространенные у пользователей, эксплуатирующих большие машины. Один из них, К о б о л был разработан для выполнении однородных операций над большими массивами чисел. Он применяется в сфере бизнеса и эффективен при простых арифметических вычислениях. Две трети конторских программ на Западе все еще написаны на Коболе. Но как универсальный язык, к которому по тем временам все стремились, он был неудовлетворителен. Вторым языком стала первая версия А л г о л а (1956 г.), который хотя и не стал желанным универсальным языком, но в последующих версиях сохраняет значение многоцелевого средства.

Тогда же Дж. Маккарти из Массачусетского технологического института создал язык Л и с п, в котором программы и данные представляются в виде списков. Его простота и сила определяются тем, что в нем применяется только один вид команд - вызов функции, а ее значением может быть другая функция. С тех пор он стал популярным в исследованиях по искусственному интеллекту и послужил моделью для многих других языков. Для персональных компьютеров чаще всего используется Б е й с и к, разработанный в 1965 г. Дж. Кемени и Т. Курцем из Дартмутского колледжа в США. Он предназначался для изучения вводного курса программирования, но затем стал популярным среди программистовнепрофессионалов. Каждая строка программы на этом языке обозначается номером, а управление прохождением программы в основном осуществляется путем указания этих номеров.

Близок к нему и язык П а с к а л ь, также первоначально созданный для обучения студентов в 1970 г. Н. Виртом, преподавателем Федерального технологического института в Цюрихе. В отличие от Бейсика в нем необходимо объявлять каждую переменную и указывать ее тип, а процедуры и функции обозначать не номерами строк, а именами функций, что облегчает чтение программы. Решая какуюлибо задачу, специалист не может оперировать двоичными кодами, регистрами и адресами машинной памяти. Он мыслит формулами своей науки, например,

"Площадь = длина X ширина",

"Прибыль = доход - затраты".

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

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

"Алгоритм = логика + управление".

Наиболее распространенный язык логического программирования П р о л о г был создан в 1972 г. А. Колмари из Марсельского университета. Программа на Прологе состоит из описаний, задающих объекты и отношения между ними. Например, формула

"Площадь = длина X ширина"

описывается отношением "Произведение, длина, ширина, площадь". Описание это статическое и никаких вычислений оно не задает. Но компьютер производит их сам по запросу, и по любым в данном случае двум величинам может вычислить третью, т. е. по площади и ширине - длину. Независимо от зарубежных работ в СССР в 70е годы В. Б. Борщевым и М. В. Хомяковым (ВИНИТИ) также разрабатывалась версия логического программирования.

Многие современные компьютерные системы используют язык С и, созданный в 1972 г. Д. Риччи в лабораториях "Белл Телефон" корпорации АТТ в Мюррейхилл (шт. НьюДжерси). Первоначально он разрабатывался для программировании новой операционной системы Ю н и к с. Операционная система предназначена для приема, хранения и выдачи информации, а также для взаимодействия аппаратных средств компьютера с прикладными программами. Си стал популярным как язык так называемого среднего уровня. В нем удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к машине, что традиционно обеспечивалось ассемблером, т. е. языком низкого уровня.

Другая важная тенденция в развитии программирования связана с объектноориентированными языками. В них процессор машины условно делится на "объекты", которые могут программироваться индивидуально, а затем соединяться друг с другом при помощи сообщений. В числе подобных языков: С и м у л а 67 (О. Даль и К. Нигард из Норвежского ВЦ в Осло), С м о л л т о к (1970 г., А. Кей из фирмы Ксерокс, ПалоАльта), Э у р и с к о (1979 г., Д. Ленат из Стэнфордского университета).

2. Прикладные программы подготовки текстов

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

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

Для нас наиболее важными являются те пакеты, которые применяются для подготовки текстов. Они получили название текстовых редакторов, но часто называются также текстовыми процессорами, системами обработки (подготовки) текстов. Текстовому редактору всего два с небольшим десятилетия. Его создателем считается М. Шрейер, кинорежиссер из НьюЙорка, который в 1975 г. реконструировал компьютер "Альтаир" и составил программу "Электрический карандаш", для подготовки руководств к своим программам. В 1978 г. ньюйоркские программисты С. Рубинштейн и Дж. Барнэби создали текстовый редактор "УордСтар", который определил стандарт таких программ для персональных компьютеров.

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

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

Рис. 13. Процедуры исправления текста корректурными знаками и в текстовом редакторе компьютера (пример из черновой рукописи А. С. Пушкина).

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

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

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

По окончании редактирования текст может быть отформатирован, т. е. выровнен по правому и левому краям, напечатан целиком или частями с отступом на любое число позиций. Для просмотра текста на экране его можно сдвигать вверх или вниз построчно или постранично. Обычно на экране размещается до 25 строк (одна из них служебная) по 64 или 80 знаков в строке. Но имеются и такие редакторы, которые позволяют "верстать" широкую полосу в две колонки по 60 знаков с пробелом, сдвигать текст на экране вправо/влево. Большинство программ осуществляют функцию поиска отдельных слов и словосочетаний по всему тексту с их заменой на другие слова и словосочетания.

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

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

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

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

Существуют сотни всевозможных программ с редакторами текстов, пакетов прикладных программ подготовки текстов с редакторами, форматизаторами, автокорректорами. Многие из упомянутых языков программирования (Бейсик, Паскаль, Си) имеют редакторы, пригодные для ввода не только программ на этих языках, но и текстов на естественном языке. Программная среда, часто надстраиваемая над операционной системой и облегчающая использование ее средств (в персональных компьютерах ИБМ это обычно "Нортон коммандер"), тоже, как правило, имеет текстовый редактор. Пользователи ДОС совместимых машин предпочитали популярные полторадва десятилетия назад пакеты, среди которых заслуживают упоминания: из американских - "Word5", "WordStar", "WordPerfect", "ChiWriter", а из отечественных - "Лексикон" (Москва, ВЦ РАН, 1985 г.).

Каждая из этих программ имели свои особенности и сферы применения. "Word" фирмы "Microsoft" располагал таким богатством шрифтов и средств верстки, что при наличии лазерного принтера мог обеспечить настольную издательскую систему возможностями, превышающими полиграфические. "ChiWriter" был незаменим при наборе математических текстов, так как позволял легко писать формулы, под и надстрочные индексы.

Для русскоязычных текстов получил широкое распространение "Лексикон" (автор Е. Н. Веселов) - многооконный текстовый процессор с русским знакогенератором (которым можно было пользоваться на компьютерах и принтерах западного производства без их переделки). Его версия "ЛексиконОртодок" (авторы Е. Н. Веселев и А. Б. Борковский) осуществлял перенос русских слов, располагал словарем русского языка на 100 тыс. слов (на базе известного словаря академика А. А. Зализняка). Другой русский спеллчеккер "Орфо" при помощи словаря в 120 тыс. слов не только проверял правописание, но и выявлял ошибки согласований в предложениях, находил опечатки в знаках препинания, легко "обучался" новым словам.

Все это теперь история. Головокружительный прогресс наблюдается не только в развитии вычислительной техники и ее периферии, но и в программном обеспечении. В России и во всей Европе практическим стандартом и системных и прикладных программ стала продукция фирмы “Microsoft”, которая обновляется ежегодно. Это приводит к тому, что в обращении одновременно находятся сразу многие версии программ. Для системных программ - это Windows95, 98, Me, 2000, XP. Из прикладных программ большинство пользователей остановилось на Office97, хотя Office2000 и XP предоставляют значительно большие возможности, оставаясь совместимыми с программой 1997 г.

Статьи, монографии, деловые документы редко состоят из одного только текста. В них содержатся расчеты, таблицы, графики, диаграммы, указатели. Для выполнения всех этих элементов деловых бумаг недостаточно описанных возможностей текстового редактора, как бы ни были они велики. Поэтому к системе подготовки текста примыкают еще три программы: "электронная таблица", "диалоговая графика" и "база данных", которые вместе с текстовым редактором как бы образуют упряжку четырех "рабочих лошадей" для человека, использующего компьютер при подготовке разного рода документов и публикаций. В фирме “Microsoft” такой пакет и составляет Office.

Первая электронная таблица "Визикальк" была разработана Д. Бриклиным и Р.Фрэнкстоном в 1978 г. При составлении отчета, например, или сметы часто приходится пересчитывать длинные колонки взаимозависимых чисел, что делает эту работу весьма утомительной. Электронная таблица представляет собой прямоугольную матрицу, состоящую из ячеек, в каждой из которых может быть помещено значение, зависящее от значений других ячеек (например, их сумма или разность). При изменении значения одной ячейки, в остальных значения пересчитываются автоматически в зависимости от ранее заданных формул. Таким образом, любая бухгалтерская, кадровая ведомость или инженерная таблица может всегда находиться в готовом виде, независимо от частоты введения в нее данных.

Таблицы всегда мало иллюстративны. Чтобы проследить динамику тех или иных изменений, можно изобразить их наглядно в виде графика или гистограммы, а статическое распределение лучше всего видно на диаграмме. Диалоговая графика позволяет перевести данные электронной таблицы в одну из этих изобразительных форм, причем они автоматически изменяются при изменении данных таблицы. Первый такой промышленный пакет программ был разработан для персональных компьютеров ИБМ М. Кэпором в 1982 г. под названием "Лотус 123". Эти программы позволяют также выполнять на компьютере любые рисунки: блоксхемы, чертежи, произвольные иллюстрации с заштриховкой или без нее, рамки, виньетки и другие украшения.

Наконец, еще одной широко распространенной программой, завершающей этот ряд, является "база данных". Она принадлежит к числу так называемых систем управления базами данных (СУБД) и позволяет создавать в машине структурированное хранилище большой емкости для информации. которую можно разыскивать по разным элементам. Создатели этого программного средства американцы У. Рэтлифф, Дж. Тейт и Х. Лашли назвали его "диБейсII, хотя никакой "первой" версии не существовало. Это был просто "ход" в рекламной кампании, развернутой в 1981 г. и увенчавшейся миллионным успехом. Фирма "Тейт" распространяет новые версии "диБейс", а программы данного типа повсеместно используются в персональных компьютерах для создания разного рода справочных и фактографических систем.

Рассказ об этой "большой четверке" самых употребительных прикладных программ нельзя закончить, не упомянув о том, что теперь они, как правило, объединяются в одну интегрированную систему. На Западе известны среди таких систем "ФреймУорк", "НолиджИн", "ЛотусДжаз", "Парадокс", у нас подобную интегрированную систему "Мастер" создал Е. Н. Веселов в 1989 г. для компьютеров с дисковой операционной системой (ДОС). Она объединяла текстовый редактор "Лексикон" с тремя другими описанными компонентами и распространялась советскоамериканским предприятием "Диалог" при ВЦ АН СССР. Она имела версию, работавшую под Windows, но не могла конкурировать с пакетом “Microsoft”. В настоящий момент наиболее распространенным интегрированным пакетом прикладных программ, как уже сказано, является «Офис» фирмы «Майкрософт». Русифицированные версии “Office”, включают текстовый редактор “Word ”, электронную таблицу “Excel ”, базу данных “Access” и редактор для презентации слайдов “PowerPoint”.

Быстрый прогресс программного обеспечения подготовки текстов объясняется рядом причин. Некоторые из них мы обсуждали в прошлой лекции. Делопроизводством, составлением, редактированием и изданием текстов в мире заняты сотни миллионов людей. В США 80 х годов больше половины всего занятого населения было связано с обработкой текстов. Поэтому повышение производительности труда в этой сфере, которую справедливо называют информационной, имеет большое значение. И любая мелочь, не предусмотренная стандартами, оборачивается огромными потерями рабочего времени.

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

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

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

Но и на этом мытарства русского письма (как его надо правильно называть ) не закончились. При переходе от Office97 к Office2000 была изменена разрядность основных шрифтов (TimesNewRoman, Arial, CourierNew, Thames), и русские буквы снова сменили свои кодовые номера, что создает затруднения при переходе от более поздних версий Office к более ранним.

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

На языке программистов такой "дружественный" интерфейс между машиной и пользователем называется "ВИЗИВИГ" (аббревиатура английского выражения "Что вы видите, то вы получите" - Whatyouseeiswhatyouget - WYSIWYG). Перефразируя это понашему, можно сказать, что электронные средства подготовки текстов позволяют "резать и клеить" тексты и рисовать на экране, одновременно отражая это в оперативной памяти компьютера.

3. "Понимание" текста на естественном языке

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

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

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

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

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

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

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

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

Выделяют пять типов такой неоднозначности: лексическую, структурную, "глубинную", семантическую и прагматическую.

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

Структурная неоднозначность - это, прежде всего, возможность разного синтаксического членения предложения. Например, фразу "Наблюдения над языком маленьких детей" можно понять двояко: ктото наблюдает за языком детей или дети ведут наблюдения над языком, в зависимости от того, относится ли слово "детей" к слову "язык" или к слову "наблюдения".

Неоднозначность на уровне глубинной структуры содержится во фразе "Этот текст улучшить нельзя": либо потому, что он совершенен, либо потому, что безнадежно плох (примеры Ю. Д. Апресяна). Сравнивая две фразы "Каша готова к обеду" и "Цыплята готовы к обеду", мы усматриваем двусмысленность второй из них, поскольку знаем, что цыплят можно и кормить и есть.

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

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

Для иллюстрации лингвистического и логического анализа, необходимого при машинном «понимании» языка, воспользуемся моделью американского филолога Т. Винограда (Стэнфордский университет),на идеях которого основывается наше изложение. Реализация этой модели (рис. 14 ) требует сложных компьютерных программ баз данных и баз знаний, содержащих различные словари и правила. Предположим, что в машину введена фраза: Технологии будут развиваться по законам, которые мы поняли очень давно. Если она введена с голоса, то для нее должен быть выполнен фонетический анализ, если же вводится письменный текст (с клавиатуры или сканера), то программа начинается с морфологического анализа. Целью первого является распознавание и идентификация фонем, целью второго - установление основных форм слов и их флексий. На третьем этапе проводится лексический анализ, в результате которого образуется последовательность слов, соотнесенных с частями речи и их морфологическими характеристиками (число, падеж и т. п.). На четвертом этапе осуществляется синтаксический анализ фразы - грамматический разбор предложения, - который дает синтаксическую ее структуру (на рисунке она показана в виде дерева). Однако эта поверхностная структура не всегда однозначна, как мы уже убедились на примерах. Поэтому требуется еще анализ глубинной структуры (на рисунке не показанный).

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

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

Существуют такиеx, y, z, t0, t1, t2,

чтоxесть технология,

y есть закон,

zесть произносящий фразу, который понял y в момент t2 ,

t0есть момент произнесения,

t1 наступит после момента произнесения t0 ,

xразвивается поyв момент t1 ,

t2 был задолго до t0 .

В ходе прагматического анализа определяется, в частности, что именно известно о переменных. Например, x - связанная квантором переменная. Она утверждает существование чегото, но не указывает на определенный объект. Другими словами, технологии в данном случае это технологии вообще, а не какиелибо конкретные технологии. Точно так же переменная y есть неопределенный объект, задаваемый контекстом. Переменная z тоже остается не полностью определенной, поскольку местоимение мы может означать авторов высказывания, авторов и читателей, профессионалов данной области, вообще людей данного поколения. Целью машинного понимания языка является возможность диалога с машиной, в ходе которого компьютер мог бы давать логически осмысленные ответы на вопросы пользователя или же преобразовывать команды в определенные действия, учитывающие реальность. Эту задачу решает последний этап анализа, обозначенный на рис. 14 как «Рассуждения».

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

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

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

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

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

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

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

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

Список литературы

1. Абросимова, М.А. Информационные технологии в государственном и муниципальном управлении: Учебное пособие / М.А. Абросимова. М.: КноРус, 2013. 248 c.

2. Акперов, И.Г. Информационные технологии в менеджменте: Учебник / И.Г. Акперов, А.В. Сметанин, И.А. Коноплева. М.: НИЦ ИНФРАМ, 2013. 400 c.

3. Атьков, О.Ю. Персональная телемедицина. Телемедицинские и информационные технологии реабилитации и управления здоровьем / О.Ю. Атьков, Ю.Ю. Кудряшов. М.: Практика, 2015. 248 c.

4. Афонин, П.Н. Информационные таможенные технологии: Учебник / П.Н. Афонин. СПб.: Троицкий мост, 2012. 352 c.

5. Балдин, К.В. Информационные технологии в менеджменте: Учеб. для студ. учреждений высш. проф. образования / К.В. Балдин. М.: ИЦ Академия, 2012. 288 c.

6. Барский, А.В. Параллельные информационные технологии: Учебное пособие / А.В. Барский. М.: Бином, 2013. 503 c.

7. Бартенев, В.А. Современные и перспективные информационные ГНССтехнологии в задачах высокоточной навигации / В.А. Бартенев, М.Н. Красильщиков. М.: Физматлит, 2014. 192 c.

8. Вдовин, В.М. Информационные технологии в налогообложении: Учебное пособие / В.М. Вдовин, Л.Е. Суркова, А.В. Смирнова. М.: Дашков и К, 2012. 208 c.

9. Вдовин, В.М. Информационные технологии в налогообложении: Практикум / В.М. Вдовин, Л.Е. Суркова. М.: Дашков и К, 2012. 248 c.

10. Вдовин, В.М. Информационные технологии в финансовобанковской сфере: Практикум / В.М. Вдовин. М.: Дашков и К, 2012. 248 c.

11. Вдовин, В.М. Информационные технологии в налогообложении: Практикум / В.М. Вдовин, Л.Е. Суркова. М.: Дашков и К, 2014. 248 c.

12. Вдовин, В.М. Информационные технологии в финансовобанковской сфере: Учебное пособие / В.М. Вдовин, Л.Е. Суркова. М.: Дашков и К, 2016. 304 c.

13. Вдовин, В.М. Информационные технологии в финансовобанковской сфере: Учебное пособие / В.М. Вдовин, Л.Е. Суркова. М.: Дашков и К, 2013. 304 c.

14. Вдовин, В.М. Информационные технологии в финансовобанковской сфере: Практикум / В.М. Вдовин, Л.Е. Суркова. М.: Дашков и К, 2012. 248 c.

15. Вдовин, В.М. Информационные технологии в финансовобанковской сфере. Учебное пособие / В.М. Вдовин, Л.Е. Суркова. М.: Дашков и К, 2012. 304 c.

Размещено на Allbest.ru

...

Подобные документы

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

    реферат [26,0 K], добавлен 15.12.2010

  • Основные положения и особенности работы в текстовом редакторе Microsoft Word, набор текста и правила оформления таблиц. Порядок вычислений в табличном редакторе Microsoft Excel. Основы программирования на языке Паскаль, примеры составления программ.

    контрольная работа [26,7 K], добавлен 07.03.2010

  • Работа с фигурным текстом. Форматирование и редактирование текста. Редактирование узлов фигурного текста. Привязка текста к фигурам. Выравнивание текста на фигуре. Перспектива, оболочки и выдавливание. Работа с простым текстом.

    реферат [12,7 K], добавлен 21.12.2003

  • Алгоритмы процесса поиска и устранения неисправностей персонального компьютера, оргтехники и локально–вычислительной сети. Характеристика аппаратных, аппаратно-программных и программных неисправностей, способы их диагностики. Диагностические сигналы BIOS.

    методичка [33,6 K], добавлен 14.01.2016

  • Основные компоненты создания текста. Использование текстовых эффектов, редактирование изображений в растровом редакторе Adobe Photoshop. Работа с простым текстом. Создание объемного и сверкающего текстов, теней, огненной, ледяной и золотой надписей.

    лабораторная работа [648,4 K], добавлен 18.10.2012

  • Описание текстового редактора MS Word, его структура и элементы, функциональные особенности и возможности. Создание списков в текстовом редакторе, вставка объектов в документ, цветовое оформление. Принципы организации рабочего места, его оборудование.

    курсовая работа [2,2 M], добавлен 18.01.2014

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

    презентация [850,4 K], добавлен 28.04.2012

  • Изучение внутренней и внешней архитектуры персонального компьютера. Логическая организация и структура аппаратных и программных ресурсов вычислительной системы. Описание различных компонентов ПК. Принципы их взаимодействия, функции и характеристики.

    контрольная работа [33,0 K], добавлен 15.06.2014

  • Общие сведения о текстовом редакторе Microsoft Word. Основные операции редактора по работе с документами. Запуск программы, средства редактирования. Ввод и исправление текста, использование буфера обмена, форматирование абзацев, работа со шрифтами.

    контрольная работа [25,5 K], добавлен 12.03.2011

  • Общие сведения о таймерах, история их возникновения и применение. Развитие и совершенствование языков программирования. Разработка приложения "Таймер" для выключения и отмены отключения компьютера, показа времени начала работы программы и ее автозагрузки.

    курсовая работа [182,9 K], добавлен 30.01.2015

  • Разработка сообщения с элементами оформления в текстовом редакторе MS Word. Нумерация страниц, эпиграф, разделы с заголовками, умение оформлять символы текста, рисунок с настройкой обтекания текстом. Многоуровневый список, таблица, сноски и гиперссылка.

    контрольная работа [27,3 K], добавлен 19.12.2009

  • Схема работы и требования к программам шифрования и дешифрования. Алгоритмы и тексты программы шифрования и программы дешифрования, выполненные на языке программирования C/C++. Содержание файла с исходным текстом, с шифротекстом, с дешифрованным текстом.

    курсовая работа [24,7 K], добавлен 20.10.2014

  • Производительность вычислительной системы. Важным показателем производительности компьютера-степень его быстродействия. Быстродействие серийно выпускаемых микропроцессоров. Применение суперкомпьютеров. Развитие аппаратных и программных средств.

    доклад [19,3 K], добавлен 22.09.2008

  • Работа с текстом в программе Inkscape. Предложение с иероглифами, редактирование и применение атрибутов текста, выделение символов в строке. Редактирование текста и проверка орфографии, подбор цвета и шрифта в тексте, логотипы и их значение в программе.

    отчет по практике [2,8 M], добавлен 29.05.2012

  • Рассмотрение пакета программ Microsoft Office 2010. Работа в текстовом редакторе, подготовка текста научной статьи, работа с документами слияния. Создание презентации с помощью Power Point. Работа в системе Microsoft Office Excel, оформление таблиц.

    контрольная работа [3,6 M], добавлен 14.12.2011

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

    лабораторная работа [27,8 K], добавлен 17.09.2010

  • Общие сведения о текстовом редакторе Microsoft Word. Форматирование текста, настройка параметров абзаца, ввод символов. Средство создания списков, копирование и перемещение участков текста, работа со стилями, таблицами, вставка графических объектов.

    реферат [60,5 K], добавлен 15.09.2009

  • Понятия структурного программирования и алгоритма решения задачи. Краткая история развития языков программирования от машинных до языков ассемблера и языков высокого уровня. Процедурное программирование на C#. Методы и программы для моделирования.

    учебное пособие [1,7 M], добавлен 26.10.2010

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

    лабораторная работа [23,5 K], добавлен 17.09.2010

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

    дипломная работа [2,8 M], добавлен 21.07.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.