Научная статья на тему 'Задача оптимизации обработки текстов с помощью ЭВМ'

Задача оптимизации обработки текстов с помощью ЭВМ Текст научной статьи по специальности «Математика»

CC BY
101
23
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Пастухова Д. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Задача оптимизации обработки текстов с помощью ЭВМ»

Пастухова Д.А.

ЗАДАЧА ОПТИМИЗАЦИИ ОБРАБОТКИ ТЕКСТОВ С ПОМОЩЬЮ ЭВМ

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

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

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

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

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

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

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

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

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

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

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

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

Известно, что размещения из <^» элементов по «п» без повторений и ограничений [1] вычисляются по формуле

АП = д(д- 1)(я-2)...(я-п +1). (1)

В этой формуле содержится «п» сомножителей.

Пример 1. Пусть требуется определить, сколько слов, состоящих из п = 4 букв, можно составить во французском языке, где алфавит содержит 26 букв. Ограничения пока не будем учитывать. По формуле (1) получим

К = 26.25.24.23 = 358800 слов.

Имеется другая [3] формула получения числа размещений

АП = СП*Рп , (2)

где СП - есть число сочетаний из <^» элементов по «п», Рп - количество перестановок из «п» элементов.

Количество перестановок из «п» элементов определяется также по формуле

РП = п!= 1* 2 * 3 *... * п, (3)

где «п!» читается эн-факториал [2].

Тогда из формул (1), (2), (3) получим число сочетаний из <^» элементов по «п».

Сп = д(д - 1)(д - 2)...(д - п+1) (4)

4 1* 2 * 3 *... * п , (

где и в числителе и в знаменателе имеем по «п» сомножителей.

Размещения, сочетания и перестановки называются общим термином «соединения» [3].

Как было сказано выше, формулами (1), (2), (3), (4) можно пользоваться только при отсутствии ограничений на расположение элементов.

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

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

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

Пусть дано конечное множество элементов

В<1>ь в»)* В<‘>! , В<‘>2, В<‘>2 В»)2, ... В(1)тЬВ»)т1 В(1)т1

^^---------------------------V—^ ---------------------V-'

К^раз К?>2раз К^раз

в^ивя, В®!, в«>2,В0)2 вга3, ... в®т1,вгат1 вгат1

'-----У------Л-------V-----у ^---------V------^

К(2)1раз Кга2раз КЯ^раз (5)

В<“>ЬВ<М>1,...В<М>1, в(м)2,в™2,...в(м12, ... В®1»*,, В^шм, . В^им

^ У ^ ^У ^------------------------'V ^

К<м>1раз К<М2раз К^^мраз

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

(В®, В®, ... В®), так и различными:

(В(1)1, В®, ... В®).

Это множество состоит из «М» групп, где в каждой труппе «т» отличных друг от друга элементов. В каждой подгруппе встречаются «К» одинаковых элементов.

Очевидно, число элементов в каждой группе

т1

д1 = Х к«(1=1,2,...,м), (6)

н

где 1 - номер группы, а ] - номер подгруппы.

Количество всех элементов (Ф в последовательности (5)

м

д =Х д1. (7)

1=1

Задача состоит в определении количества перестановок или размещений из <^» элементов в ряд с учетом всех ограничений на расположение элементов.

Этими задачами люди начали заниматься давно. Решенные и приведенные в известных литературных источниках задачи мы отнесли к первому уровню сложности. Ко второму уровню сложности мы отнесли задачи, решенные и приведенные в литературе, мало доступной широкому кругу читателей [3].

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

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

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

Электронная вычислительная машина должна выдавать несколько допустимых вариантов текстов. Если выдавать только один вариант, то могут быть курьезные случаи. Например, машина получила задание перевести на русский язык английское предложение: Out of sight - out of mind [4] (соответствует русскому с глаз долой - из сердца вон), что она и сделала.

Для проверки от нее потребовали произвести обратный перевод на английский. Получилось: An invisible madman (соответствует русскому невидимый идиот) [4].

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

К задачам первого уровня сложности можно отнести и формулу (8) Якова Бернулли [1] для определения количества перестановок с повторениями.

p((,)'K(2) K(M))= кС»,кЫ|.к(M>, • <8>

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

Cn3A3 = Cnn-1An-1

ч—ь

Пример. Подсчитаем количество возможных перестановок элементов в английском слове collocation (расстановка, расположение).

В этом случае общее количество элементов q = 11, среди которых 3 буквы «о», две буквы «с», две буквы «1». Тогда по формуле (8) получим

P=

11!

3!2!2!

=1663200

Ко второму уровню сложности можно отнести формулу (9), которую дал К.В. Баур [3] для определения количества перестановок элементов а1, а1, а2, а2,..., ап, ап, в которых два равных элемента не стоят рядом.

р = - сп (п -1)! +

(2!)п п (2!)п-1

+ С2 (2п - 2)! - ± сп п!

Сп (2!)п-2 ...“ Сп (2!)°. (9)

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

По формуле (9) получим (имеем п = 3)

Р (2 • 3)! С1 (2 • 3 -1)! +

Р = ' \3 С3 АЛ3-1 +

(2!)3

(2!)3

+ C2

(2 • 3-2)! - C3 (2 • 3-3)!

= 30.

Рисунок 1. Варианты перестановок с соседствами и без них

(2!)3-2 3 (2!)3-3

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

Наложение указанного ограничения резко усложняет задачу. В математике, в частности комбинаторике, мы не нашли решения подобных задач.

Известно, что в комбинаторике применяются два основных метода выведения формул для новых задач:

- метод включения и исключения;

- метод производящей функции.

Решим задачу методом включения и исключения.

Всего имеется д! перестановок, где q - общее количество элементов. Из этого числа следует исключить те варианты, которые получе-

A0

A

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

A

A3 A4

H

C20 A0 C21 A1 C22 A2

H

C30 A0 C31 A1 C32 A2 C33 A3

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

Решение задачи будем сопровождать числовым примером. Пусть п = 4 - число групп с двумя разными элементами.

Определим, сколько вариантов перестановок из д! содержит п = 4 соседства во всех группах с разными элементами (подгруппами (подгруппы состоят из одного элемента)). Мысленно объединим эти подгруппы в п = 4 группы, то есть будем рассматривать каждые две подгруппы как один элемент. Тогда количество элементов уменьшится на п = 4 (см. рисунок 1). Количество таких перестановок равно (д-п)! = (д-4)!. Кроме того, в каждой объединенной группе возможны перестановки элементов. Поэтому количество вариантов перестановок с п = 4 соседствами

Н = 2П (д - п )!= 24 (д - 4)!, где индекс «о» при «Н» означает, что ни в одной из групп нет разрывов между разными элементами одной группы.

Рассуждая таким образом, объединив три пары подгрупп в три группы, получим количество вариантов перестановок, где имеется не менее п-1 = 4-1 = 3 соседств в каком-то определенном сочетании из п по п-1. Это означает, что имеется разрыв в какой-то одной группе.

Больше разрывов нет. Разрыв означает, что между элементами одной группы попадают элементы других групп.

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

Н = 2П -1 [д -(п -1)]!= 23 (д - 3)!.

В число Н1 входят и те варианты перестановок, в которых п = 4 соседства, то есть Н1 включает в себя Но. Индекс «1» означает, что разрыв имеется не более чем в одной группе.

Количество вариантов перестановок, где имеется не менее п-2 = 2 соседств

Н2 = 2П-2 [д -(п - 2)]!= 22 (д - 2)!.

Индекс «2» при Н означает, что разрыв имеется не более чем в двух группах. Число Н2 включает Н1 и т. д.

Нп = 2°д!= д!.

Последняя цифра «п» при «Н» означает, что разрыв имеется не более чем в «п» груп-

пах, что само собой разумеется.

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

Проанализируем рисунок 1. На этом рисунке изображены все варианты перестановок (и допустимые, и недопустимые). Теперь будем отбрасывать недопустимые варианты.

В Спп • Ап = Ап вариантах соседства отсутствуют. Все эти варианты должны быть включены в конечную форму для определения допустимого количества перестановок.

В СП-1 • АП-1 вариантах перестановок имеется соседство только в одной какой-либо группе. Половина из этих вариантов является допустимой (разные элементы одной группы должны писаться в определенном порядке). Остальную половину нужно вычесть из общего числа д! перестановок.

В СП-2 • Ап-2 вариантах перестановок имеются только два соседства в различных сочетаниях из «п» по (п-2). Одна четвертая часть из них является допустимой. Остальные в части нужно отбросить из д! и т. д.

В СП • А0 = А0 вариантах имеются соседства во всех «п» группах. В этой группе возможно число, кратное 2п перестановок. Только 2-п часть этих перестановок является допустимой. Остальную (1-2-п) часть перестановок нужно отбросить от д!.

Напомним, что число сочетаний из «п» по (п-а) равно числу сочетаний из «п» по «а», т. е.

СП-а = са о ро = ро = 1 Ч^П у''п> а ^П 1 •

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

К = д !-(- 2-П )СПАо - (1 - 2-П+1 )сПА2 -

-( - 2-П+2 )а2 -... -

-( - 2-1 )сп-1Ап - -(1 -1° )ПАп. (10)

Теперь нужно определить коэффициенты А1, то есть количества перестановок А0, А1, ., Ап, и подставить их в формулу (10).

Из-за симметричности биномиальных ко-

эффициентов по рисунку 1 можно записать,

И1 = С°Л0 + е|л1 +... + Є‘Л1 (і = 0,1,...,п) (11) Запишем систему (11) в развернутом виде, подставив в нее найденные ранее значения Ні.

СОЛо = Ио = 2п ( - п)!;

СОЛо + СІЛі = Иі = 2п-1 [ -(п -1)]!;

СОЛо + СІЛі +... + СІЛі = 2п-1 [-(п - і)]!; (12)

СПАо + СА +... + СПАп = 2од!.

Заметим, что уравнения (12) представляют систему линейных алгебраических уравнений, для решения которых можно применить один из двух методов: метод Гаусса и метод Крамера. Решив систему (12) методом Гаусса, найдем коэффициенты А1.

Ао = 2П (д - п)!;

А1 =-2П (д - п )!+2П-1 (д - п +1)!;

А3 =-2П (д - п)!+3 • 2П-1 (д- п +1)!-

!-3 • 2П-2 (д - п + 2)!+

+ 2П-3 ( - п + 3)!;

Лп = (- і)п Сп 2п (д - п )!+(-l)n+1Cn2n-1(q - п + і)!+

+ (- і)п+2 С2 2п-2 ( - п - 2)!+... + (- і)2п Сп 20д!.(13) Рассмотрев уравнения (13), можно заметить следующие особенности:

1. Знаки в слагаемых чередуются.

2. Последний член имеет знак плюс.

3. Свободные коэффициенты представляют собой числа треугольника Паскаля.

4. Степени над цифрой 2 постепенно уменьшаются, начиная с «и».

5. Числа перед факториалом постепенно увеличиваются, начиная с (я-и).

6. Числа членов в правой части уравнений постепенно увеличиваются, начиная с единицы.

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

Лі =Х2п-%-п + і)!С;(-і)1+Ні = 0,і,...,п) (14)

і=о

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

Треугольник Паскаля.

1

11 121 1331 1 4 6 4 1

1 5 1° 1° 5 1

Теперь, подставив значения А1 из формул (14) в формулу (10), найдем количество допустимых перестановок для случая, когда группы во множестве (5) состоят или из одного элемента, или из двух разных элементов, которые (если они попались рядом) должны писаться в определенном порядке.

1. п = °; К = д!;

2. п = 1; К = д!-(д -1)!;

3. п = 2; К = д!-2(д - 1)!+(д - 2)!;

4. п = 3; К = д!-3(д - 1)!+3(д - 2)!-(д - 3)!;

5. п = 4; К = д!-4(д - 1)!+б(д - 2)!-

-4(д - 3)!+(д - 4)!. (15)

Просмотрев уравнения (15), заметим их следующие особенности:

1. Свободные коэффициенты равны числам треугольника Паскаля.

2. Знаки слагаемых чередуются.

3. Первый член имеет знак плюс.

4. Числа перед факториалом постепенно увеличиваются, начиная с д.

5. Число членов в правой части уравнений равно (п+1).

Методом индукции из формул (15) можно получить более общую формулу.

П

к = Х(- 1)1СП (д -1)!. (16)

1=°

Уравнение (16) является решением задачи I третьего уровня сложности.

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

В этом случае д = 7; п = 1.

По формуле (16) или (15) получаем число возможных перестановок элементов.

п = 1; К = 7!-(7 -1)!= 432°.

Другой пример. Подсчитаем количество допустимых вариантов перестановок в русском

слове «грусть», учитывая, что мягкий знак не может располагаться после гласной «у».

Имеем п = 1; д = 6. Однако этот пример отличается от предыдущего тем, что он содержит дополнительное ограничение: «ь» не может стоять в начале слова. Поэтому задача решается в два этапа.

1. Определим количество возможных перестановок с первым ограничением по формуле (16).

К' = 6!-(б -1)!= 6°°.

2. Подсчитаем количество вариантов перестановок, где «ь» находится в начале слова. Теперь д = 5 (так как «ь» в начале слова мы не учитываем), а п = 0. Тогда

К ' = 5!= 12°.

Допустимое количество вариантов с учетом двух ограничений равно

К = К' - К' = 6°° -12° = 48°.

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

Переход от третьего уровня сложности к четвертому очень прост. Для этого необходимо объединить формулу (8) Я. Бернулли с формулой (16), выведенной при решении задачи третьего уровня сложности, и записать

X (- О1 СП (д -1)!

К = 'К«!К|И!..К(М) . <17>

Пример. Для использования новой формулы возьмем исходное русское слово «смесь». В образованных словах «ь» не может стоять после буквы «е», кроме того, «ь» не может стоять в начале слова. Буквы «е» и «ь» составляют одну группу п = 1. Как данное необходимо учитывать то, что в исходном слове имеются две одинаковые буквы «с».

Задачу решим в два этапа.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

слова. После этого подсчитаем количество перестановок, в которых «ь» стоит в начале слова. Тогда решением поставленной задачи будет допустимое число перестановок К = К'-К".

Определим К'. В исходном слове д = 5 букв, п = 1 группа («ь» и «е»), две одинаковые буквы «с» являются отдельной группой и оставшаяся буква «м» - одиночная группа.

По формуле (17) получим

К/ (- 1)°С° (5 - °)!+(- 1)С1 (5 -1)! = 48

2! .

Найдем К". Для этого сначала поставим «ь» в начале слова и определим количество возможных слов из оставшихся д = 4 букв. В этом случае п = 0. Тогда по формуле (8)

К'' = - = 12.

2!

Следовательно, из слова «смесь» с учетом указанных грамматических правил можно получить К = К'-К ' = 48 -12 = 36 слов, включая и исходное слово.

Знание количества возможных перестановок значительно облегчает составление программ для ЭВМ и отбрасывает огромное количество вариантов, противоречащих правилам данного языка.

Выведенная окончательная формула (17) может быть применена не только в филологии, но и для оптимального проектирования коробок передач металлорежущих станков. Формула (8) Я. Бернулли является частным случаем формулы (17), когда п = 0.

Кроме того, знание коэффициентов А1 (промежуточная формула (14)) позволяет решать много различных комбинаторных задач. Например, нужно определить, в скольких перестановках элементы ни одной из пар элементов не попадаются рядом. Очевидно, решением этой задачи является коэффициент Ап из формулы (14). Частным случаем этой формулы (если предположить, что все группы состоят из двух одинаковых элементов) является формула (9) К.В. Баура. В этом случае значение Ап из формулы (14) надо разделить на (2!)п, так как в группах не разные, а одинаковые элементы.

Список использованной литературы:

1. Виленкин Н.Я. Комбинаторика. М.: Наука, 19б9. - 328c.

2. Выгодский М.Я. Справочник по элементарной математике М.: Джангер. Большая медведица, 1998. - 41б с.

3. Кутлумуратов Д. О развитии комбинаторных методов математики.: Дисс. на соискание уч. ст. канд. физ.-мат. наук. М., 19б3. - 14б c.

4. Пекелис В. Кибернетическая смесь. М.: знание, 19Т3. - 23б c.

5. Фомин С.В. Система счисления. М.: Наука, 19б3. - 124 c.

6. Шандор Е.И. Текстообразующая роль абзаца в индивидуально-авторских стилях английской художественной прозы.: Дисс. на соискание уч. ст. канд. филологич. наук. Мн., 1989. - 198 c.

Т. Michael Charolles, Janos S. Petefi, Emole Sozer. Research in text connexity and text coherence. Hamburg 198б. - 18б c.

i Надоели баннеры? Вы всегда можете отключить рекламу.