Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Работа с текстом на компьютереСодержание книги
Поиск на нашем сайте
О языках программирования Когда мы по-русски говорим "компьютер", то представляем себе некоторое устройство, которое нужно запрограммировать, чтобы оно заработало. Американцы, которые, естественно, думают на своем английском, представляют себе компьютер сразу состоящим из двух частей – "твердой" ("хардуэр") и "мягкой" ("софтуэр"), что на русский язык казенно переводится как аппаратные и программные средства вычислительной машины. Это различие в понимании отражает и некоторую реальную ситуацию: у нас первая составляющая компьютера стоит во много раз дороже второй. У них наоборот. Умственный труд они ценят много дороже промышленного, что обычно для развитых стран. В наши дни особое внимание уделяют составлению текстовых описаний к новым программам, поскольку освоение этих программ требует большого труда и занимает много времени. Возникла насущная проблема составления таких описаний к программам, которые были бы понятны обычному или даже начинающему пользователю. Она достигла столь большой остроты, что появилась специальная профессия "технических писателей", так как программисты не могут понять, что именно затрудняет пользователей при освоении их программ. Не будучи специалистом, трудно говорить о вычислительных машинах, но еще труднее об их программировании. Дело в том, что сама сущность программирования, кажущаяся такой простой на элементарном уровне машинных кодов, оказывается крайне сложной для формулирования. Может быть, поэтому авторы, популяризирующие искусство (или науку, как полагают некоторые) программирования, так любят прибегать к аналогиям, которыми сами почти всегда остаются недовольны. Сравнение компьютера с автомобилем, а программирования – с управлением механистично и мало что объясняет, компьютера с телевизором, а программы – с передачей, которую он принимает, тоже отражает лишь внешнюю сторону дела. Пожалуй, ближе всего к существу отношений компьютера с его программой сравнение их с музыкальным инструментом и нотами. Действительно, комбинацией нескольких нотных знаков можно записать любое музыкальное произведение, а пределов для творчества композиторов и исполнителей не существует. Так и программа, написанная на одном из специальных языков, в котором используется ограниченный набор символов, служит для решения многих творческих задач, от простых вычислений до игры в шахматы. Но и здесь сходство сводится к идеальности и многообразию содержания информации и материальности и ограниченности средств ее фиксации и воспроизведения. Любая, самая сложная программа формальна и определяется алгоритмом решения задачи. Вместе с тем, возможность или границы формализации человеческого мышления, которое стремятся моделировать при помощи компьютера, пока еще не поддаются определению. В преодолении этого противоречия, в нахождении путей его разрешения скрыт важный фактор дальнейшего развития данной проблемной области. По всей вероятности, задача такого уровня должна решаться не одними программистами и информатиками, но всем научным сообществом. Это один из серьезных стимулов достижения всеобщей компьютерной грамотности. А. Кэй, из статьи которого взяты некоторые сведения о языках программирования, писал об этом в следующих выражениях: "Грамотность применительно к компьютерам – это проникновение в суть процессов программирования, причем достаточно глубокое, чтобы было легко и приятно производить вычисления и решать различные задачи на ЭВМ, подобно тому, как истинно грамотный человек может свободно читать и писать. Как и в любом искусстве, здесь необходимо хорошо знать и любить материал. Если мы полагаем важным овладеть литературой и искусством для развития человека и общества, то имеем ли мы право меньше усилий тратить на то, чтобы сделать вычислительные средства и методы частью нашей жизни"[50]. История современных языков программирования насчитывает всего лишь пять десятилетий, если считать от момента создания языка Планкалкюль немецким инженером К. Цузе в 1946 г. С тех пор появились сотни языков программирования, а с вариантами, возможно, тысячи. Конечно, не все они употребляются на практике, и если бы их развитие шло другим путем, их могло бы быть и меньше. Но их многообразие оправдано, так как нельзя создать язык, пригодный для всех случаев. Язык должен быть пригоден для решения данной задачи на данном компьютере и удобен для программиста. При всех различиях языков программирования все они, в конечном счете, сводятся к высоким и низким уровням электрического напряжения, соответствующим единицам и нулям двоичного кода. Комбинации единиц и нулей могут интерпретироваться компьютером как адрес в его памяти, фрагмент обрабатываемых данных или команда выполнить определенное действие. Язык самой машины – машинный код – очевиден и однозначен для каждого вида компьютеров. Но эта последовательность нулей и единиц противоестественна для памяти человека, хотя несколько поколений программистов работали только в машинных кодах. Программа может состоять из миллионов комбинаций единиц и нулей, и ошибка лишь в одном знаке приведет к неправильной работе всей программы. Это повело к созданию языков ассемблера, в которых двоичные последовательности были заменены символами и словами. Первым таким языком был ассемблер компьютера "Эдсак", созданный в 1949 г. английским математиком М. Уилксом. Разумеется, ассемблеры проще и мнемоничнее машинных кодов, в них можно создавать инструкции для определенных действий. Однако каждая команда должна определяться отдельно и за ее прохождением в машине нужно следить, Кроме того, ассемблер жестко связан с типом компьютера, для которого он создан. Ограниченность ассемблеров была преодолена в языках более высокого уровня. Первым распространенным языком высокого уровня явился Фортран, разработанный в 1954–1957 гг. Дж. Бекусом в фирме IBM и до сих пор применяемый для научных расчетов. Поскольку его применение занимало много времени "тихоходных" в то время машин, для него был создан компилятор, переводивший его программы в машинный код. Это положило начало особым видам программ – т р а н с л я т о р а м, которые для каждого типа компьютеров переводят программы, написанные на языке высокого уровня, в их машинный код. Они бывают двух видов – компиляторы и интерпретаторы. При использовании к о м п и л я т о р а весь цикл трансляции завершается до начала выполнения программы, так что прохождение этой программы требует меньше времени. Программа, составленная на интерпретаторе, записывается в оперативную память в виде команд на языке высокого уровня, каждая из которых транслируется в машинный код по мере прохождения программы. Это требует больше времени, но дает оператору возможность контролировать результат каждой операции. Все исследования в области программирования с 1957 г. стимулировались стремлением усовершенствовать Фортран, который подвергался неоднократным переделкам. Стало появляться большое число языков, что беспокоило программистов, которые создали Международный комитет для выработки единого языка программирования (КОДАСИЛ). Результатом работы комитета явились два языка, до сих пор широко распространенные у пользователей, эксплуатирующих большие машины. Один из них, К о б о л был разработан для выполнении однородных операций над большими массивами чисел. Он применяется в сфере бизнеса и эффективен при простых арифметических вычислениях. Две трети конторских программ на Западе все еще написаны на Коболе. Но как универсальный язык, к которому по тем временам все стремились, он был неудовлетворителен. Вторым языком стала первая версия А л г о л а (1956 г.), который хотя и не стал желанным универсальным языком, но в последующих версиях сохраняет значение многоцелевого средства. Тогда же Дж. Маккарти из Массачусетского технологического института создал язык Л и с п, в котором программы и данные представляются в виде списков. Его простота и сила определяются тем, что в нем применяется только один вид команд – вызов функции, а ее значением может быть другая функция. С тех пор он стал популярным в исследованиях по искусственному интеллекту и послужил моделью для многих других языков. Для персональных компьютеров чаще всего используется Б е й с и к, разработанный в 1965 г. Дж. Кемени и Т. Курцем из Дартмутского колледжа в США. Он предназначался для изучения вводного курса программирования, но затем стал популярным среди программистов-непрофессионалов. Каждая строка программы на этом языке обозначается номером, а управление прохождением программы в основном осуществляется путем указания этих номеров. Близок к нему и язык П а с к а л ь, также первоначально созданный для обучения студентов в 1970 г. Н. Виртом, преподавателем Федерального технологического института в Цюрихе. В отличие от Бейсика в нем необходимо объявлять каждую переменную и указывать ее тип, а процедуры и функции обозначать не номерами строк, а именами функций, что облегчает чтение программы. Решая какую-либо задачу, специалист не может оперировать двоичными кодами, регистрами и адресами машинной памяти. Он мыслит формулами своей науки, например, "Площадь = длина X ширина", "Прибыль = доход – затраты". Действия, описываемые этими формулами, транслируются в машинные коды компиляторами и интерпретаторами, которые можно считать средствами реализации языка программирования. На этом и были основаны такие языки программирования, как Фортран, Паскаль, Бейсик. Эти и подобные им языки называются процедурными. Каждый такой язык как бы предоставляет программисту некую виртуальную (воображаемую) машину. Составляя программу, пользователь видит решение своей задачи как процесс вычисления, осуществляемый этой виртуальной машиной. Тем самым сразу описывается и задача, и метод ее решения. Появились непроцедурные стили программирования – функциональный, логический – и соответствующие языки. Основная идея логического программирования – отделение описания задачи от процесса ее решения – была выражена в уравнении одного из его авторов Р. Ковальского: "Алгоритм = логика + управление". Наиболее распространенный язык логического программирования П р о л о г был создан в 1972 г. А. Колмари из Марсельского университета. Программа на Прологе состоит из описаний, задающих объекты и отношения между ними. Например, формула "Площадь = длина X ширина" описывается отношением "Произведение, длина, ширина, площадь". Описание это статическое и никаких вычислений оно не задает. Но компьютер производит их сам по запросу, и по любым в данном случае двум величинам может вычислить третью, т. е. по площади и ширине – длину. Независимо от зарубежных работ в СССР в 70-е годы В. Б. Борщевым и М. В. Хомяковым (ВИНИТИ) также разрабатывалась версия логического программирования. Многие современные компьютерные системы используют язык С и, созданный в 1972 г. Д. Риччи в лабораториях "Белл Телефон" корпорации АТТ в Мюррей-хилл (шт. Нью-Джерси). Первоначально он разрабатывался для программировании новой операционной системы Ю н и к с. Операционная система предназначена для приема, хранения и выдачи информации, а также для взаимодействия аппаратных средств компьютера с прикладными программами. Си стал популярным как язык так называемого среднего уровня. В нем удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к машине, что традиционно обеспечивалось ассемблером, т. е. языком низкого уровня. Другая важная тенденция в развитии программирования связана с объектно-ориентированными языками. В них процессор машины условно делится на "объекты", которые могут программироваться индивидуально, а затем соединяться друг с другом при помощи сообщений. В числе подобных языков: С и м у л а - 67 (О. Даль и К. Нигард из Норвежского ВЦ в Осло), С м о л л т о к (1970 г., А. Кей из фирмы Ксерокс, Пало-Альта), Э у р и с к о (1979 г., Д. Ленат из Стэнфордского университета).
Прикладные программы подготовки текстов Среди профессиональных программистов бытует мнение, что пользователям-непрограммистам не следует увлекаться программированием, а лучше применять уже готовые программы. Это отчасти противоречит высказанной в прошлой лекции идее о необходимости формализации специальных знаний и том преимуществе, которое получают специалисты различных областей знания после овладения навыками работы с персональным компьютером. Но есть в этом мнении и рациональное зерно. Оно заключено в том, что в настоящее время разработано множество эффективных программ для решения самых разнообразных задач, и неразумно начинать по-дилетантски составлять программу, не убедившись, что она существует. Еще справедливее это в отношении обучения основам информатики, когда, начиная со школы, учат только алгоритмическому мышлению и одному из простейших языков, обычно Бейсику, и не дают представления о богатстве существующих прикладных программ. Программное обеспечение вычислительных машин можно условно разделить на системное и прикладное. К системному относятся операционные системы, о которых говорилось выше, и средства диагностики и контроля. Прикладное – это пользовательские программы решения разнообразных задач, которые объединяются в совокупности по классам решаемых задач и называются пакетами прикладных программ. К ним примыкают также библиотеки стандартных программ, которые часто используются для вычислений, решения уравнений и операций обработки данных – их сортировки, копирования и т. п. Для нас наиболее важными являются те пакеты, которые применяются для подготовки текстов. Они получили название текстовых редакторов, но часто называются также текстовыми процессорами, системами обработки (подготовки) текстов. Текстовому редактору всего два с небольшим десятилетия. Его создателем считается М. Шрейер, кинорежиссер из Нью-Йорка, который в 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 г. под названием "Лотус 1-2-3". Эти программы позволяют также выполнять на компьютере любые рисунки: блок-схемы, чертежи, произвольные иллюстрации с заштриховкой или без нее, рамки, виньетки и другие украшения. Наконец, еще одной широко распространенной программой, завершающей этот ряд, является "база данных". Она принадлежит к числу так называемых систем управления базами данных (СУБД) и позволяет создавать в машине структурированное хранилище большой емкости для информации. которую можно разыскивать по разным элементам. Создатели этого программного средства американцы У. Рэтлифф, Дж. Тейт и Х. Лашли назвали его "диБейсII, хотя никакой "первой" версии не существовало. Это был просто "ход" в рекламной кампании, развернутой в 1981 г. и увенчавшейся миллионным успехом. Фирма "Тейт" распространяет новые версии "диБейс", а программы данного типа повсеместно используются в персональных компьютерах для создания разного рода справочных и фактографических систем. Рассказ об этой "большой четверке" самых употребительных прикладных программ нельзя закончить, не упомянув о том, что теперь они, как правило, объединяются в одну интегрированную систему. На Западе известны среди таких систем "ФреймУорк", "НолиджИн", "ЛотусДжаз", "Парадокс", у нас подобную интегрированную систему "Мастер" создал Е. Н. Веселов в 1989 г. для компьютеров с дисковой операционной системой (ДОС). Она объединяла текстовый редактор "Лексикон" с тремя другими описанными компонентами и распространялась советско-американским предприятием "Диалог" при ВЦ АН СССР. Она имела версию, работавшую под Windows, но не могла конкурировать с пакетом “Microsoft”. В настоящий момент наиболее распространенным интегрированным пакетом прикладных программ, как уже сказано, является «Офис» фирмы «Майкрософт». Русифицированные версии “Office”, включают текстовый редактор “Word ”, электронную таблицу “Excel ”, базу данных “Access” и редактор для презентации слайдов “PowerPoint”. Быстрый прогресс программного обеспечения подготовки текстов объясняется рядом причин. Некоторые из них мы обсуждали в прошлой лекции. Делопроизводством, составлением, редактированием и изданием текстов в мире заняты сотни миллионов людей. В США 80‑х годов больше половины всего занятого населения было связано с обработкой текстов. Поэтому повышение производительности труда в этой сфере, которую справедливо называют информационной, имеет большое значение. И любая мелочь, не предусмотренная стандартами, оборачивается огромными потерями рабочего времени. Приведу примеры. В пишущей машинке при переводе рычага совмещены две операции: возврат каретки и перевод строки. В компьютере этим операциям соответствуют два разных кода. В программах эта избыточность устранялась по-разному: либо оставлялся для обеих операций код одной из них, либо вводился для них совмещенный. Таким образом, существовали четыре варианта кодирования этой простейшей и повторяющейся на каждой строке команды, в результате чего тексты в машиночитаемой форме нельзя было прочитать в разных устройствах. Эта неоднозначность была устранена с введением Американского стандарта кодирования символов (ASCII), который стал международным. Но для русских букв коды в нем не были предусмотрены, а при их добавлении возникли варианты. Если учесть, что для других языков, пользующихся русским письмом (болгарского, сербскохорватского), были созданы новые варианты, то проблема кодирования кириллических букв никак не могла считаться решенной. Если добавить к этому, что существовали два отечественных стандарта для расположения латинских букв на клавиатуре (старый и новый), по которым до недавнего времени изготавливались компьютеры разных типов, то актуальность стандартизации становится очевидной. В операционной системе “Windows” был использован новый американский стандарт (ANSII), в котором буквы русского письма получили постоянное место (под не вполне верным названием «кириллица»). Но и на этом мытарства русского письма (как его надо правильно называть[51]) не закончились. При переходе от Office97 к Office2000 была изменена разрядность основных шрифтов (Times New Roman, Arial, Courier New, Thames), и русские буквы снова сменили свои кодовые номера, что создает затруднения при переходе от более поздних версий Office к более ранним. В заключение хотел бы подчеркнуть еще одно обстоятельство. Как мы выяснили, компьютеры берут на себя выполнение все более сложных процессов подготовки оригинал-макета для печати: перенос слов по правилам, размещение на странице заголовков, сносок, формул, таблиц, рисунков, верстку полос и т. п. Все это теперь не требует специального программирования, а создается непосредственно на экране при помощи клавиатуры, устройств "мышь" или "световой карандаш". На языке программистов такой "дружественный" интерфейс между машиной и пользователем называется "ВИЗИВИГ" (аббревиатура английского выражения "Что вы видите, то вы получите" – What you see is what you get – WYSIWYG). Перефразируя это по-нашему, можно сказать, что электронные средства подготовки текстов позволяют "резать и клеить" тексты и рисовать на экране, одновременно отражая это в оперативной памяти компьютера.
"Понимание" текста на естественном языке Многие процессы информационной деятельности: поиск информации, ее отбор, аналитико-синтетическая переработка, распространение – все это процессы, связанные с чтением, пониманием (извлечением смысла) и формулированием текста на естественном языке. Вот почему автоматизация этих процессов занимает важное место при разработке новых информационных технологий. Впервые информационные работники вплотную столкнулись с этой проблемой, когда в начале 50-х годов начались интенсивные эксперименты по машинному переводу. По этому поводу существуют разные мнения, о чем говорилось в лекции об информационных системах. Моя позиция заключается в том, что адекватный перевод текстов с одного естественного языка на другой – задача, не имеющая однозначного решения. Всегда можно получить несколько разных переводов одного и того же текста, в отношении которых допустимо говорить, что они достаточно близки к оригиналу и стилистически корректны, причем степень того и другого не поддается измерению. Подтверждение этой мысли можно найти, если рассматривать эти переводы в диахронии, т. е. на протяжении некоторого времени. Оригинал художественного произведения всегда остается неизменным, а перевод быстро устаревает и нуждается в обновлении. А раз так, то и формализовать эту задачу для ее машинного решения можно лишь в зависимости от формализованности оригинального текста. Обсуждая возможность адекватного перевода, полезно представить мысленно некоторую шкалу, на которой расположены разные типы текстов различной степени переводимости. На левом краю шкалы находятся поэтические тексты, в отношении которых термин "перевод" применяется условно, поскольку здесь речь идет о переложении поэтических образов, т. е. о сочинении новой поэзии. Продвигаясь по шкале вправо, мы последовательно встретимся с художественной прозой, научными и деловыми бумагами, личной и ведомственной перепиской. Наконец, на правом краю шкалы мы найдем некоторые типы текстов, однозначно передающихся из одного естественного языка в другой. Это различного рода юридические формулы (включая патентные), номенклатурные перечни, транскрибируемые или транслитерируемые названия и имена. Очевидно, что возможность автоматизации перевода и вообще переработки текста будет возрастать по этой шкале слева направо. Нас, в данном случае, интересуют те типы текстов, которые занимают довольно большое пространство в центре шкалы и которые по меткому выражению покойного академика А. П. Ершова называют "деловой прозой". Он считал, что деловая проза отражает производственные отношения людей и является таким фрагментом естественного языка, который может быть "воспринят" компьютером. Это убеждение он основывал на том, что данные отношения людей более строго регламентированы, чем другие, что деловая проза используется в модельных ситуациях, которые ведут к ее формализации. "Стихийно реализуемая, – писал он, – но властно диктуемая сутью дела потребность обеспечить быстрое и точное взаимопонимание наградила деловую прозу жесткими средствами выражения, экономичностью и другими полезными для человека и машины свойствами". Ясно, что большая часть публицистики, научных и административных документов написана деловой прозой. В последние десятилетия успехи лингвистики и логики во многом продвинули наше понимание сложностей машинного перевода, а достижения электронной техники сделали возможными практические системы, которые работают в промышленном режиме (обычно с предварительной подготовкой оригинального текста и последующим редактированием машинного перевода человеком). Но все же камнем преткновения автоматизированной обработки текста, которая лежит в основе диалога человека с компьютером на естественном языке, является необходимость для понимания этого текста владеть определенными знаниями экстралингвистической (т. е. не содержащейся в тексте) информацией и логическим мышлением (т. е. способностью к логическому выводу и правдоподобным рассуждениям). Мы уже говорили, что пятое поколение вычислительных машин, с внедрением которых связывали новые революционные изменения в информационной технологии, авторы проекта представляли как компьютеры, ведущие диалог на естественном языке. Многие лингвисты сомневаются в правомерности такой формулировки. Не входя слишком глубоко в существо проблемы, попытаемся вникнуть в представления специалистов о тех видах лингвистического анализа, которые, собственно, и являются машинным "пониманием" естественного языка. Одна из первых трудностей заключается в неоднозначности многих его выражений, даже когда речь идет о языке деловой прозы. Выделяют пять типов такой неоднозначности: лексическую, структурную, "глубинную", семан
|
||||
Последнее изменение этой страницы: 2016-04-19; просмотров: 290; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.3.204 (0.013 с.) |