Роль ключевых предложений в построении текста

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

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

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

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

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

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

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

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

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

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

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

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

Таким образом, мы получаем программу, выполняющую автоматическое реферирование текста путем извлечения из него КП.

Однако, важно помнить, что в таком виде система накладывает на исходный текст несколько ограничений. Во-первых, исходный текстовый файл должен быть в формате *.txt (а содержащийся в нем текст должен иметь кодировку utf-8). Во-вторых, исходный текст должен быть структурированным, то есть поделенным на абзацы. В-третьих, перед началом процесса извлечения КП важно убедиться, что исходный текст не содержит заголовка.

2.2 Пользовательский интерфейс

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

Главное окно программы состоит из строки меню и рабочего поля.

На рабочем поле расположены три кнопки (выбрать файл, извлечь КП, сохранить) и окно вывода. Сразу после выбора файла в окне вывода отображается исходный текст, который преобразуется в реферат после нажатия кнопки извлечь КП. Кроме того, исходный текст можно вставить или набрать непосредственно в окне вывода. Готовый реферат можно сохранить в формате *.txt.

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

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

2.3 Оценка качества работы системы

Для того чтобы оценить качество работы системы, с ее помощью были составлены рефераты 40 текстов. Среди них было 20 текстов публицистического стиля (статьи и рецензии из общественно-политического еженедельника «Литературная газета») и 20 научно-популярных текстов (статьи из интернет-журнала ПостНаука) (см. Приложение 2).

Результаты автоматического извлечения сравнивались с ручным извлечением КП, которое было принято за эталон (см. Приложение 3).

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

Система работает на основе заранее описанных правил (rule-based approach), однако оптимальные значения весов подбирались опытным путем, поэтому анализируемые тексты были разделены на обучающую (28 текстов) и тестовую (12 текстов) выборки, в каждую из которых попало равное количество текстов разных стилей.

Для оценки качества работы системы вычислялась ее точность (accuracy), то есть отношение верно принятых решений к общему количеству проанализированных абзацев. Причем точность была определена для 3 случаев:

Базовая линия (baseline) - ключевым всегда считается первое предложение абзаца;

Программа учитывает сигнальные слова;

Программа не учитывает сигнальные слова.

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

Объем обучающей выборки составил 28 текстов или 180 абзацев. Максимальную точность для нее обеспечили веса, перечисленные в описании алгоритма. Результаты описанных выше вычислений представлены в таблице 1.

Таблица 1

Базовая линия

Программа (с сигнальными словами)

Программа (без сигнальных слов)

Все тексты

85,56%

(26 ошибок)

86,11%

(25 ошибок)

85,56%

(26 ошибок)

Публицистические тексты

75%

(22 ошибки)

76,14%

(21 ошибка)

75%

(22 ошибки)

Научно-популярные тексты

95,65%

(4 ошибки)

95,65%

(4 ошибки)

95,65%

(4 ошибки)

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

При перечислении типов допущенных ошибок будем ориентироваться на результаты работы программы, учитывающей сигнальные слова. В 13 (из 25) случаев абзац не содержал в себе КП, в 7 случаях ключевым было последнее предложение абзаца и в 5 случаях КП занимало 2 позицию в абзаце.

В обучающей выборке (12 текстов или 53 абзаца) программа в обоих случаях (с учетом и без учета сигнальных слов) извлекла первые предложения каждого абзаца, то есть ее точность совпала с точностью базовой линии и составила 81,13% (10 ошибок) для всех текстов, 73,33% (8 ошибок) для публицистических текстов и 91,3% (2 ошибки) для научно-популярных текстов.

В 5 случаях из 10 абзац на самом деле не имел КП, в 4 случаях ключевым было последнее предложение абзаца и в 1 случае КП находилось внутри абзаца.

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

После теоретического изучения основных алгоритмов с помощью трех программ автоматического реферирования (TextAnalyst v2.01 (demo), VisualWorld (beta), «Автоматическая суммаризация текста» (demo)) был проанализирован набор текстов.

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

Таким образом, КП способствуют созданию скорее индикативного реферата текста, в то время как рассмотренные системы автоматического реферирования ориентированы на создание информативного реферата.

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

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

Таким образом, программа работает по следующему алгоритму:

Разбить текст на абзацы;

Извлечь первое и последнее предложения каждого абзаца;

Оценить соответствие предложений заданным критериям;

Для каждого абзаца выбрать предложение набравшее наибольшее количество баллов при условии, что это число превышает заданное минимальное значение;

Собрать реферат, располагая выбранные предложения в порядке их появления в тексте.

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

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

Во-вторых, если сравнивать между собой результаты автоматического извлечения КП из текстов публицистического и научно-популярного стиля, то можно заметить, что тексты второй группы классифицированы на 18% точнее (точность определения КП в публицистических текстах ? 73.3%, а в научно-популярных ? 91.3%). Причиной получения подобных результатов является тот факт, что научные тексты лучше структурированы и в них более ярко маркируется логика повествования. Подобная разница в точности определения КП позволяет утверждать, что автоматическая обработка публицистических текстов является более сложной задачей, чем обработка более формальных стилей и требует разработки специальных методов, учитывающих их стилевые особенности.

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

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

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

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

Точность распознавания КП зависит от жанрово-стилистических особенностей текста.

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

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

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

1. Barzilay Regina, Elhadad Michael Using Lexical Chains for Text Summarization. Mathematics and Computer Science Dept. Ben Gurion University in the Negev Beer-Sheva, 84105 Israel

2. Jeћek K., Steinberger J. Automatic Text Summarization (The state of the art 2007 and new challenges) // Proceedings of Znalosti. 2008. P. 1-12.

3. Kupiec J., Pedersen J., and Chen F. A trainable document summarizer // Proceedings of the Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. 1995. P. 68-73.

4. Lloret Elena Text summarization: an overview. Dept. Lenguajes y Sistemas Informaticos Universidad de Alicante Alicante, Spain.

5. Luhn H.P. The Automatic Creation of Literature Abstracts // IBM Journal of Research and Development. 1958. Vol. 2. P.159-165.

6. Nenkova A., McKeown K. Automatic Summarization // Foundations and Trends In Information Retrieval. 2011. Vol. 5, Nos. 2-3. P. 103-233.

7. Steinberger Josef, Jeћek Karel Evaluation measures for text summarization // Computing and Informatics. 2009. Vol. 28. P. 1001-1026.

8. Suanmali Ladda, Salim Naomie, Binwahlan Mohammed Salem Fuzzy Logic Based Method for Improving Text Summarization // International Journal of Computer Science and Information Security. 2009. Vol. 2, No.1

9. TextAnalyst [Электронный ресурс] // Системы автореферирования URL: http://autorefer.edicypages.com/proghrammy-slash-pakiety/textanalyst (дата обращения: 18.02.2015)

10. Yatsko V., Shilov S., Vishniakov T Semi-automatic Text Summarization and Foreign Language Teaching // PhilologieimNetz. 2005. No.34. P. 48-59.

11. Автоматическое реферирование статей на русском языке [Электронный ресурс] // Хабрахабр. 5.05.2011г. URL: http://habrahabr.ru/post/118609/ (дата обращения: 18.02.2015)

12. Башмаков А.И., Башмаков И.А. Интеллектуальные информационные технологии: Учеб. Пособие. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. - 304 с.

13. Бирюкова Т.Г. Анализ и синтез текста: Учебное пособие. - Елец: ЕГУ, 2007. - 98 с.

14. Блохинская Л.О. К вопросу о строевой единице текста (с. 69-71) // Вестник АмГУ Выпуск 10, 2000

15. Браславский П., Колычев И. Автоматическое реферирование веб-документов с учётом запроса. 2005- Электрон. дан. - Режим доступа: http://elar.urfu.ru/bitstream/10995/1424/1/IMAT_2005_25.pdf (дата обращения 27.11.2012)

16. Валгина Н.С. Теория текста. Учебное пособие - М.: Логос, 2003 г. - 280 c.

17. Гальперин И.Р. Текст как объект лингвистического исследования. - Изд. 4-е, стереотипное. М: КомКнига, 2006. -- 144 с. (Лингвистическое наследие XX века.)

18. Головкина С.Х., Смольников С.Н. Лингвистический анализ текста: Материалы в помощь учителю-словеснику. - Вологда: Издательский центр ВИРО,2006. - 124 с.

19. Гридина Е.А. Анализ алгоритмов автоматического реферирования текста // Восточно-Европейский журнал передовых технологий. 2011. 3/2 (51). С. 36-38.

20. Ефремова Л.С. Сверхфразовое единство как семантико-синтаксическая единица текста (с. 91-93) // Историческая и социально-образовательная мысль [Электронный ресурс]: Историческая и социально-образовательная мысль№3(8) 2011. - Режим доступа-- URL: http://hist-edu.ru/, свободный (дата обращения: 17.03.2014)

21. Зарубина Н.Д. К вопросу о лингвистических единицах текста (с.103-112) // Синтаксис текста. - М.: Наука, 1979.

22. Как составить реферат? // Справочно-информационный интернет-портал ГРАМОТА.РУ URL: http://new.gramota.ru/spravka/letters/22-spravka/letters/94-rubric-80 (дата обращения: 18.02.2015)

23. Кузнецова Н.В., Трофимова О.В. Публицистический текст. Лингвистический анализ Учебное пособие. - М.: Флинта, Наука, 2010. - 183 с.

24. Лапотько А.Г., Стуколова Г.П. Лингвистика текста: учебно-методическое пособие - Воронеж 2004 - 55 с.

25. Лексиков Н.А. Дипломная работа «Исследование и разработка методов автоматического извлечения ключевых фраз из научных статей» Москва, 2012 - Электрон. дан. - Режим доступа: http://modis.ispras.ru/seminar/wp-content/uploads/2012/07/Leksikov-thesis.pdf (дата обращения 27.11.2012)

26. Лосева Л.М. Как строится текст (пособие для учителей).- М.: Просвещение, 1980. - 92с.

27. Москальская О.И. Грамматика текста (пособие по грамматике немецкого языка для ин-тов и фак. ин. яз.): Учеб. пособие. - М.: Высш. школа, 1981. - 183 с.

28. Осминин П.Г. Современные подходы к автоматическому реферированию и аннотированию // Вестник ЮУрГУ. 2012. №25. С. 134-135.

29. Панченко Н.В., Качесова И.Ю., Комиссарова Л.М., Чувакин А.А, Земская Ю.Н. Теория текста: учебное пособие - Флинта, Наука; Москва; 2010 - 132 с.

30. Рефератор - автоматическое реферирование текстов [Электронный ресурс] // VisualWorld.ru URL: http://about.viwo.ru/referat.html (дата обращения: 18.02.2015)

31. Реферовская Е. А. Лингвистические исследования структуры текста. - Ленинград. Наука, 1983. - 215 с.

32. Романова Т.В. Ассоциативный эксперимент как одна из моделей речевой деятельности (с.171-172) // Язык. Культура. Деятельность: Восток - Запад: Тезисы докладов международной научной конференции (16-20 сентября 1996г.). - Набережные Челны: Институт управления, 1996.

33. Романова Т.В. Изучение этапных предложений текста как средства создания смыслового и стилистического единства текста (с.176-187) // Совершенствование стиля связной речи учащихся на уроках русского языка и литературы: Межвузовский сборник научных трудов. - М.: МОПИ им. Н. К. Крупской, 1990.

34. Романова Т.В. Лингвистический анализ художественного текста: Учебное пособие. - Нижний Новгород: ННГЛУ им. Н. А. Добролюбова, 2007. - 271с.

35. Романова Т.В. Текст и этапные предложения (с.59-64) // Анализ языковых явлений как средство развивающего обучения школьников. Методические рекомендации. Горьковское обл. отделение Педагогического общества РСФСР, 1989. Под ред. Л. Е. Холодиловой

36. Романова Т.В. Этапные предложения как средство работы по структурированию текста (с.89-101) // Особенности изучения синтаксиса в средней общеобразовательной школе: Межвузовский сборник научных трудов. - Горький: ГГПИ им. М. Горького, 1989.

37. Романова Т.В. Конструирование текста с опорой на этапные предложения как средство совершенствования речевых навыков учащихся Дисс. на соис. уч. степ. канд. пед. наук. Горький, 1989.

38. Сервис реферирования VisualWorld [Электронный ресурс] // Системы автореферирования URL: http://autorefer.edicypages.com/onlain-siervisy/visualworld-dot-ru (дата обращения: 18.02.2015)

39. Смысловые отношения элементов текста (материалы к экспериментальному обучению русскому языку в 7-8 классах). - Горький: ГГПИ им. М. Горького 1989г. - 27 с. Составитель Романова Т.В.

40. Современный русский язык: Теория. Анализ языковых единиц: учебник для вузов: в 2 ч. Ч. 2. Морфология. Синтаксис / под ред. Е. И. Дибровой. - М.: Академия ИЦ, 2008. - 624 с.

41. Солганик Г.Я. Синтаксическая стилистика. - Изд.3 Едиториал УРСС, КомКнига, 2006. - 232 с.

42. Тураева 3.Я. Лингвистика текста: (Текст: структура и семантика). Учеб. пособие для студентов пед. ин-тов по спец. № 2103 «Иностр. яз.». -- M.: Просвещение, 1986. -- 127 с.

43. Усталов Д.А. Дипломная работа «Исследование и разработка системы автоматического извлечения ключевых фраз из текста на естественном языке» Екатеринбург, 2011 - Электрон. дан. - Режим доступа: http://koost.eveel.ru/study/TesuckThesis.pdf (дата обращения 27.11.2012)

44. Шаров С.А. Частотный словарь. Вторая версия частотного списка [Электронный ресурс] // Российский НИИ искусственного интеллекта ЗАО «ИнтеллиТек» URL: http://www.artint.ru/projects/frqlist.php (дата обращения: 14.05.2016)

45. Шуваева А.В. Лекция 6 Тема: «Текст» // ДКВ «Основы психолингвистики» Курс лекций. Режим доступа: http://www-2010.rsu.edu.ru/files/e-learning/Shuvaeva/l6.htm, свободный (дата обращения 15.03.2013)

46. Шхапацева М.Х. Сложное синтаксическое целое как единица языка и речи [Электронный ресурс] -- Режим доступа. -- URL: vestnik.adygnet.ru›2011.2shkhapatseva2011, свободный (дата обращения 17.03.2014)

Приложение 1

Полный листинг кода

#-*-coding: UTF-8 -*-

from tkinter import *

from tkinter.filedialog import *

import fileinput

from tkinter.messagebox import *

import nltk

import re

import pymorphy2

root = Tk()

root.title("Извлечение ключевых предложений")

root.geometry('620x450')

#Информационные окна

def new_window_what():

top_what = Toplevel(bg='white')

top_what.title('Что это такое')

top_what.geometry('650x450')

top_what.focus_set()

top_what.grab_set()

lab_theory = Text(top_what, width=620,heigh=400,wrap=WORD, bg='grey99')

lab_theory.insert(1.0, """Ключевые предложения (КП) - наиболее значимые для содержания предложения, несущие основной смысл, соотносимый с темой (названием) текста в его развитии.

КП:

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

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

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

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

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

lab_theory.tag_add('all', 1.0, END)

lab_theory.tag_config('all', font=('times',14), background='grey99')

lab_theory.tag_add('definition', 1.0, 1.25)

lab_theory.tag_config('definition', font=('times',14,'bold'))

lab_theory.tag_add('concl', 9.0, END)

lab_theory.tag_config('concl', font=('times',14,'italic'))

lab_theory.pack()

def new_window_how():

top_how = Toplevel(bg='white')

top_how.title('Как это работает')

top_how.geometry('750x430')

top_how.focus_set()

top_how.grab_set()

lab_theory = Text(top_how, width=600,heigh=200,wrap=WORD, bg='grey99')

lab_theory.insert(1.0, """Чтобы начать работу, Вы можете выбрать уже существующий файл (*.txt), вставить исходный текст в окно ввода или ввести его вручную.

Внимение! Убедитесь, что текст:

* поделен на абзацы

* не содержит заголовка (если нужно, заголовок можно удалить вручную в окне ввода)

Далее нажмите кнопку "Извлечь КП". Подождать, пока перестанут появляться окна анализатора "mystem". Исходный текст будет заменен на результат извлечения.

После этого нажмите кнопку "Сохранить". Готовый реферат по умолчанию сохраняется в формате *.txt

Алгоритм извлечения:

1) Программа разбивает текст на абзацы и извлекает первое и последнее предложения каждого абзаца.

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

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

""")

lab_theory.tag_add('all', 1.0, END)

lab_theory.tag_config('all', font=('times',14), background='grey99')

lab_theory.tag_add('heading', 1.0, 1.19)

lab_theory.tag_add('heading', 8.0, 8.21)

lab_theory.tag_config('heading', font=('times',14,'bold'), background='grey99')

lab_theory.tag_add('centr', 2.0, 4.153)

lab_theory.tag_config('centr', font=('times',14,'italic'), justify=CENTER, background='grey99')

lab_theory.pack()

def new_window_who():

showinfo("Контакты", """Программа разработана в рамках ВКР "Ключевые предложения и проблема автоматического реферирования текста"

Автор: Рощина Наталия

e-mail: tasharoshchina@gmail.com

Факультет гуманитарных наук, группа 12ФПЛ

Апрель 2016 г.""")

#Извлечение

def _open():

op = askopenfilename()

t = open(op, 'r', encoding='utf-8').read()

output.delete(1.0, END)

output.insert(END,t)

def _save():

sa = asksaveasfilename(defaultextension = '.txt')

letter = output.get(1.0,END)

f = open(sa,"w")

f.write(letter)

f.close()

def text_preprocess(text):

text1 = re.sub('\n\n', '\n', text)

paragraphs = text1.split('\n')

candidate_sentences = []

candidate_sentence = []

for i, p in enumerate(paragraphs):

sentences = nltk.sent_tokenize(p.strip())

if len(sentences) == 0:

continue

elif len(sentences) == 1:

candidate_sentence.append(sentences[0])

else:

candidate_sentence.append(sentences[0])

candidate_sentence.append(sentences[-1])

candidate_sentences.append(candidate_sentence)

candidate_sentence = []

return candidate_sentences

def score(sentence, score):

anaphora = ['тот', 'этот', 'то', 'это', 'такой', 'подобный', 'так', 'здесь', 'тут', 'там']

links = ['притом', 'причем', 'кстати']

link1 = ['например', 'и', 'да', 'то', 'ну', 'оттого']

link2 = ['недаром', 'и', 'не', 'еще', 'есть', 'оттого']

link3 = ['не', 'то']

compensation_fixed = ['тем не менее', 'и тому подобн', 'таким образом', 'так, чтобы', 'так как', 'так:', 'того, чтобы', 'но это', 'тем более', '--то', '-то', 'то есть', 'при этом']

compensation = ['тот или иной', 'тем или иной', 'то что', 'тот что', 'так и не', 'то где', 'тот где', 'там где', 'такой как', 'то который', 'тот который']

compensationiverb = ['а тут', 'что тут',]

compensationicomparativ = ['тем']

stems = ['закончить', 'заканчивать', 'закончиться', 'заканчиваться', 'предпринимать', 'предприниматься', 'пройти', 'проходить', 'состояться', 'начать', 'начинать', 'начаться', 'начинаться', 'открывать', 'открыть', 'открываться', 'открыться', 'приурочить', 'организовать', 'организатор', 'проводить', 'проводиться', 'выступить', 'выступать', 'выпустить', 'выпускать', 'автор']

sentence_tokenized = re.findall('\w+', sentence)

sentence_tokenized_lemmas = sentence_tokenized[:]

#Полный морфологический анализ и лемматизация

morph = pymorphy2.MorphAnalyzer()

tags = []

for w in range(len(sentence_tokenized_lemmas)):

try:

sentence_tokenized[w] = re.sub('Ё|ё', 'е', sentence_tokenized[w])

parse = morph.parse(sentence_tokenized_lemmas[w])[0]

sentence_tokenized_lemmas[w] = parse.normal_form

sentence_tokenized_lemmas[w] = re.sub('Ё|ё', 'е', sentence_tokenized_lemmas[w])

tags.append(parse.tag)

except IndexError:

continue

#Морфологическая разметка

pos = []

for tag_ind in range(len(tags)):

if tags[tag_ind].case and not tags[tag_ind].POS == 'NUMR':

tag = str(tags[tag_ind].POS)+str(tags[tag_ind].case)

if tags[tag_ind].person:

tag += str(tags[tag_ind].person)

pos.append(tag)

elif tags[tag_ind].mood:

tag = str(tags[tag_ind].POS) + str(tags[tag_ind].mood) + str(tags[tag_ind].tense) + str(tags[tag_ind].number)

if tags[tag_ind].person:

tag += str(tags[tag_ind].person)

pos.append(tag)

else:

tag = str(tags[tag_ind].POS)

if tags[tag_ind].person:

tag += str(tags[tag_ind].person)

pos.append(tag)

pos_str = ' '.join(pos)

#Критерии

#Длина предложения

if len(sentence_tokenized) > 30:

score -= 1

elif len(sentence_tokenized) < 3:

score -= 6

# Местоимения 3 лица в начале предложения

for i in range(len(pos)):

if i <= 4 and (('NPRO' in pos[i] and'3per' in pos[i]) or sentence_tokenized[i] == 'им'):

score -= 10

#Непрямой порядок слов

if re.search('(VERBindc|ADJS|PRTS|PRED)\s(\w+\s)*(NOUNnomn|NPROnomn)', pos_str) and not re.search('(NOUNnomn|NPROnomn)\s(\w+\s)*(VERBindc|ADJS)', pos_str):

score -=1

#Отсутствие самостоятельных частей речи

if not re.search('NOUN|VERB|ADJF|ADJS|COMP|INFN|PRTF|PRTS|GRND|ADVB|NPRO|PRED|NUMR', pos_str):

score -= 11

#Пропуск подлежащего

elif not re.search('NOUNnomn|NPROnomn', pos_str):

if (' нет' not in sentence) and ('VERBindcpresplur3per' not in pos_str) and ('INFN' not in pos_str) and ('NUMR NOUNgent' not in pos_str):

score -= 3

#Анафора

part1_sentence_tokenized_lemmas = []

part1_sentence_tokenized = []

part1_pos = []

number_of_anaphora = 0

part1_sentence_tokenized_lemmas = sentence_tokenized_lemmas[:10]

part1_sentence_tokenized = sentence_tokenized[:10]

part1_pos = pos[:10]

if len(sentence_tokenized) <= 10:

part1_sentence = sentence.lower()

elif len(sentence_tokenized)> 10:

part1_sentence = sentence.split(' ' + sentence_tokenized[10] + ' ')[0].lower()

part1_sentence_tokenized_lemmas_str = ' '.join(part1_sentence_tokenized_lemmas)

part1_sentence_tokenized_str = ' '.join(part1_sentence_tokenized).lower()

part1_pos_str = ' '.join(part1_pos)

for i in part1_sentence_tokenized_lemmas:

if i in anaphora:

number_of_anaphora += 1

score -= 9

if number_of_anaphora > 0:

for comp in compensation_fixed:

if number_of_anaphora > 0 and comp in part1_sentence:

number_of_anaphora -= 1

score += 9

if number_of_anaphora > 0:

for comp in compensation:

if number_of_anaphora > 0 and comp in part1_sentence_tokenized_lemmas_str:

number_of_anaphora -= 1

score += 9

if number_of_anaphora > 0:

for i in range(len(part1_sentence_tokenized_lemmas)-2):

for comp in compensationiverb:

comp_tokenized = comp.split()

if (number_of_anaphora > 0 and comp_tokenized[0] in part1_sentence_tokenized_lemmas[i]

and comp_tokenized[1] in part1_sentence_tokenized_lemmas[i+1]

and re.search('VERB|INFN', part1_pos[i+2])):

number_of_anaphora -= 1

score += 9

if number_of_anaphora > 0:

for i in range(len(part1_sentence_tokenized)-1):

for comp in compensationicomparativ:

if number_of_anaphora > 0 and comp in part1_sentence_tokenized[i] and re.search('COMP', part1_pos[i+1]):

number_of_anaphora -= 1

score += 9

#Компенсация для придложения с условием

if number_of_anaphora > 0:

if re.search('если\s(\w+\s)*(\w+)\s(то|это)', part1_sentence_tokenized_str):

number_of_anaphora -= 1

score += 9

#Компенсация для "это"

if number_of_anaphora > 0:

if (((' -- это ' in part1_sentence or ' - это ' in part1_sentence) and re.search('(NOUNnomn)\s((\w+)\s)*(NOUNnomn)', part1_pos_str))

or ('это -- ' in part1_sentence or 'это - ' in part1_sentence)):

number_of_anaphora -= 1

score += 9

#Сигнальные слова

for token in sentence_tokenized:

for stem in stems:

if stem == token:

score += 5

#Присоединительная связь

for l in links:

if l in token:

score -= 10

if (sentence_tokenized[0] == link1[0]

or (sentence_tokenized[0] in link1 and sentence_tokenized[1] in link2)

or (sentence_tokenized[0] in link1 and sentence_tokenized[1] in link2 and sentence_tokenized[2] in link3)):

score -= 10

return score

def choice(pair_of_scores, pair_of_sentences):

boarder = 0

result = ""

if len(pair_of_scores) == 1:

if pair_of_scores[0] >= boarder:

result = pair_of_sentences[0]

elif len(pair_of_scores) == 2:

if pair_of_scores[0] >= boarder and pair_of_scores[1] >= boarder:

if pair_of_scores[0] >= pair_of_scores[1]:

result = pair_of_sentences[0]

else:

result = pair_of_sentences[1]

elif pair_of_scores[0] >= boarder:

result = pair_of_sentences[0]

elif pair_of_scores[1] >= boarder:

result = pair_of_sentences[1]

return result

def key_sents():

text = output.get(1.0,END)

#Взвешивание

a = []

scores = []

input_sentences = text_preprocess(text)

for p in input_sentences:

for s in range(len(p)):

if s == 0:

a.append(score(p[s], 20))

if s == 1:

a.append(score(p[s], 7))

scores.append(a)

a = []

#Выбор предложений

sent_for_referat = []

for i in range(len(scores)):

sent_for_referat.append(choice(scores[i], input_sentences[i]))

#Формирование реферата

referat = ""

for sent in sent_for_referat:

referat += sent + '\n'

#Вывод результатов

output.delete(1.0, END)

output.insert(1.0, referat)

#Frame

frame1=Frame(root, bd=5)

frame2=Frame(root, bd=5)

frame1.pack(side='top')

frame2.pack(side='top', fill=BOTH)

#Menu

menu = Menu(root)

root.config(menu=menu)

menu.add_command(label="Что это такое", command = new_window_what)

menu.add_command(label="Как это работает", command = new_window_how)

menu.add_command(label="Контакты", command = new_window_who)

#Main buttons

button_open = Button(frame1,text='Выбрать файл',command = _open, width=13, heigh=2, font='arial 12')

button_open.pack(side='left')

button_extract=Button(frame1,text='Извлечь КП', command = key_sents, width=13, heigh=2,font='arial 12')

button_extract.pack(side='left')

button_save=Button(frame1,text='Сохранить', command = _save, width=13, heigh=2,font='arial 12')

button_save.pack(side='left')

output = Text(frame2,width=80,heigh=25,bd=5, wrap=WORD)

output.pack(fill=BOTH)

root.mainloop()

Приложение 2

Список проанализированных текстов

Макагон В. 100 летних лет // Литературная газета 2011. № 25. URL: http://old.lgz.ru/article/16489/ (Дата обращения: 20.10.2012).

Кемоклидзе Г. Мера за «Меру» // Литературная газета 2013. № 6. URL: http://lgz.ru/article/6-6403-2013-02-13/mera-za-meru/ (Дата обращения: 20.10.2012).

Абросимова А. Кто поедет в Суздаль? // Литературная газета 2013. № 7. URL: http://lgz.ru/article/7-6404-2013-02-20/kto-poedet-v-suzdal/ (Дата обращения: 20.10.2012).

Фролова О. Бояться или не бояться? // Литературная газета 2011. № 43. URL:http://lgz.ru/article/N43--6343---2011-11-02-/Boyatysya-ili-nе-boyatysya_17515/?sphrase_id=105940 (Дата обращения: 20.10.2012).

Замостьянов А. Истфакт. Цикл бесед // Литературная газета 2012. № 4. URL:http://lgz.ru/article/N4--6355---2012-02-01-/Istfakt18161/?sphrase_id=105941 (Дата обращения: 20.10.2012).

Себелев В. Мир глазами ребёнка // Литературная газета 2012. № 5. URL:http://lgz.ru/article/N5--6356---2012-02-08-/Mir-glazami-rеbёnka18257/ (Дата обращения: 20.10.2012).

Уханов И. Врачующие страницы // Литературная газета 2012. № 23-24. URL: http://lgz.ru/article/N23-24--6372---2012-06-06-/Vrachuyushtiе-stranitsы19172/ (Дата обращения: 20.10.2012).

Чумаров В. Забытые деревни // Литературная газета 2012. № 26. URL: http://lgz.ru/article/N26--6374---2012-06-27-/Zabыtые-dеrеvni19304/ (Дата обращения: 20.10.2012).

Греков К. Вятские парадоксы // Литературная газета 2012. № 11. URL: http://lgz.ru/article/N11--6362---2012-03-21-/Vyatskiе-paradoksы18589/ (Дата обращения: 20.10.2012).

Гладышев О. Всем было некогда // Литературная газета 2012. № 17. URL: http://lgz.ru/article/N17--6367---2012-04-25-/Vsеm-bыlo-nеkogda18883/ (Дата обращения: 20.10.2012).

Федоровский Е. Его собачье дело // Литературная газета 2012. № 12-13. URL: http://lgz.ru/article/N12-13--6363---2012-03-28-/Ego-sobachyе-dеlo18664/ (Дата обращения: 20.10.2012).

Лукин Б. Мы ждали Симонова // Литературная газета 2010. № 1. URL: http://old.lgz.ru/article/16489/ (Дата обращения: 20.10.2012).

Куксинская О. Звонница по имени «Иван» // Литературная газета 2009. № 16. URL: http://lgz.ru/article/N16--6220---2009-04-15-/Zvonnitsa-po-imеni-«Ivan»8506/?sphrase_id=105943 (Дата обращения: 20.10.2012).

А.А. Дорога на Канны в тумане // Литературная газета 2012. № 22. URL: http://lgz.ru/article/N22--6371---2012-05-30-/Doroga-na-Kannы-v-tumanе19125/?sphrase_id=105945 (Дата обращения: 20.10.2012).

Вишневская К. Повод для «Овации» // Литературная газета 2011. № 29. URL:http://lgz.ru/article/N29--6331---2011-07-20-/Povod-dlya-«Ovatsii»16744/?sphrase_id=105946 (Дата обращения: 20.10.2012).

Ханов А. Династии широкого экрана // Литературная газета 2008. № 29. URL: http://lgz.ru/article/N29--6181--2008-07-16-/Dinastii-shirokogo-эkrana5163/?sphrase_id=105947 (Дата обращения: 20.10.2012).

Бурдин М. Древняя тайна воды // Литературная газета 2008. № 24. URL: http://lgz.ru/article/N24--6176--2008-06-11-/Drеvnyaya-tayna-vodы4717/?sphrase_id=105948 (Дата обращения: 20.10.2012).

Антонов В. Кремлёвская кадриль // Литературная газета 2008. № 37. URL: http://lgz.ru/article/N37--6189--2008-09-17--/Krеmlёvskaya-kadrily5795/?sphrase_id=105949 (Дата обращения: 20.10.2012).

Лыжина С. Общество и мнения // Литературная газета 2012. № 1-2. URL: http://lgz.ru/article/N1-2--6353---2012-01-18-/Obshtеstvo-i-mnеniya18051/?sphrase_id=105951 (Дата обращения: 20.10.2012).

Хохловский П. По выбоинам к Окуджаве // Литературная газета 2012. № 19-20. URL: http://lgz.ru/article/N19-20--6369---2012-05-16-/Po-vыboinam-k-Okudzhavе18973/?sphrase_id=105952 (Дата обращения: 20.10.2012).

Алексеев А. Чем отличается спазм от судороги? // ПостНаука URL: http://postnauka.ru/faq/62278 (Дата обращения: 1.04.2016).

Пекарский С. Инфляция и дефляция: как это работает? // ПостНаука URL: http://postnauka.ru/faq/61641 (Дата обращения: 1.04.2016).

Ашихмин Я. Как работает эффект плацебо? // ПостНаука URL: http://postnauka.ru/faq/62278 (Дата обращения: 1.04.2016).

Полуэктов М. Виды бессонницы // ПостНаука URL: http://postnauka.ru/faq/60990 (Дата обращения: 1.04.2016).

Исаев И. Диалекты и современный русский язык // ПостНаука URL: http://postnauka.ru/faq/60031 (Дата обращения: 1.04.2016).

Спиридонов В. Миф о творческом человеке // ПостНаука URL: http://postnauka.ru/faq/59652 (Дата обращения: 1.04.2016).

Дагаев Д. Что такое теория игр? // ПостНаука URL: http://postnauka.ru/faq/55534 (Дата обращения: 1.04.2016).

Бондаренко Г. Ночь Самайна // ПостНаука URL: http://postnauka.ru/faq/54468 (Дата обращения: 1.04.2016).

Воскобойников О. Почему Средние века называют Средними? // ПостНаука URL: http://postnauka.ru/faq/62810 (Дата обращения: 9.04.2016).

Добровольская В. Типология женских образов в русских сказках // ПостНаука URL: http://postnauka.ru/faq/44546 (Дата обращения: 1.04.2016).

Добровольская В. Образ девочки в русских сказках // ПостНаука URL: http://postnauka.ru/faq/44546 (Дата обращения: 1.04.2016).

Лапина-Кратасюк Е. Хеппи-энд как борьба с энтропией // ПостНаука URL: http://postnauka.ru/faq/43768 (Дата обращения: 1.04.2016).

Лапина-Кратасюк Е. Сомнительные и ложные хеппи-энды // ПостНаука URL: http://postnauka.ru/faq/43768 (Дата обращения: 1.04.2016).

Лапина-Кратасюк Е. Хеппи-энд и сериалы // ПостНаука URL: http://postnauka.ru/faq/43768 (Дата обращения: 1.04.2016).

Тогоева О. Что такое имагология? // ПостНаука URL: http://postnauka.ru/faq/46280 (Дата обращения: 1.04.2016).

Афонцев С. Что такое дефолт? // ПостНаука URL: http://postnauka.ru/faq/46201 (Дата обращения: 1.04.2016).

Дронин Н. Причины глобального потепления // ПостНаука URL: http://postnauka.ru/faq/48561 (Дата обращения: 1.04.2016).

Ролдугина И. Что такое объективация? // ПостНаука URL: http://postnauka.ru/faq/47807 (Дата обращения: 1.04.2016).

Козлов А. Что такое СПИД? // ПостНаука URL: http://postnauka.ru/faq/62649 (Дата обращения: 13.04.2016).

Падун М. Существуют ли психически здоровые люди? // ПостНаука URL: http://postnauka.ru/faq/62434 (Дата обращения: 1.04.2016).

Приложение 3

Результаты тестирования программы

Текст

Абзац

КП (ручн.)

КП (автоматич.)

Кол-во правильных решений

Кол-во ошибок

1

1

0

0

3

0

2

0

0

3

0

0

2

1

-

0

6

2

2

-

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

8

0

0

3

1

0

0

5

0

2

0

0

3

0

0

4

0

0

5

0

0

4

1

0

0

8

0

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

8

0

0

5

1

0

0

5

1

2

0

0

3

0

0

4

-

0

5

0

0

6

0

0

6

1

0

0

5

1

2

0

0

3

-

0

4

0

0

5

0

0

6

0

0

7

1

1

0

3

1

2

0

0

3

0

0

4

0

0

8

1

0

0

6

2

2

0

0

3

0

0

4

0

0

5

0

0

6

-

0

7

-

0

8

0

0

9

1

0

0

4

2

2

0

0

3

0

0

4

0

0

5

-

0

6

-

0

10

1

0

0

4

2

2

0

0

3

1

0

4

0

0

5

1

0

6

0

0

11

1

0

0

4

2

2

0

0

3

0

0

4

-

0

5

-

0

6

0

0

12

1

0

0

2

3

2

2

0

3

0

0

4

-

0

5

1

0

13

1

0

0

6

1

2

0

0

3

0

0

4

2

0

5

0

0

6

0

0

7

0

0

14

1

0

0

1

3

2

-

0

3

-

0

4

1

0

15

1

1

0

3

2

2

2

0

3

0

0

4

0

0

5

0

0

16

1

0

0

4

1

2

2

0

3

0

0

4

0

0

5

0

0

17

1

0

0

3

2

2

0

0

3

2

0

4

-

0

5

0

0

18

1

0

0

4

1

2

0

0

3

0

0

4

-

0

5

0

0

19

1

0

0

6 (5)

0 (1)

2

1

1 (0)

3

0

0

4

0

0

5

0

0

6

0

0

20

1

0

0

3

1

2

0

0

3

-

0

4

0

0

21

1

0

0

5

0

2

0

0

3

0

0

4

0

0

5

0

0

22

1

0

0

4

2

2

1

0

3

0

0

4

0

0

5

0

0

6

2

0

23

1

0

0

9

0

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

8

0

0

9

0

0

24

1

0

0

8

0

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

8

0

0

25

1

0

0

4

0

2

0

0

3

0

0

4

0

0

26

1

0

0

5

0

2

0

0

3

0

0

4

0

0

27

1

0

0

11

1

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

8

0

0

9

0

0

10

0

0

11

1

0

12

0

0

28

1

1

0

7

1

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

8

0

0

29

1

0

0

4

0

2

0

0

3

0

0

4

0

0

30

1

0

0

6

0

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

31

1

0

0

3

0

2

0

0

3

0

0

32

1

0

0

6

1

2

0

0

3

0

0

4

0

0

5

-

0

6

0

0

33

1

0

0

3

0

2

0

0

3

0

0

34

1

0

0

3

1

2

-

0

3

0

0

4

0

0

35

1

0

0

4

0

2

0

0

3

0

0

4

0

0

36

1

0

0

7

0

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

37

1

0

0

4

0

2

0

0

3

0

0

4

0

0

38

1

0

0

4

0

2

0

0

3

0

0

4

0

0

39

1

0

0

5

0

2

0

0

3

0

0

4

0

0

5

0

0

40

1

0

0

4

0

2

0

0

3

0

0

4

0

0

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


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

  • История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.

    курсовая работа [923,6 K], добавлен 26.12.2011

  • Работа в окне документа. Ввод текста. Вставка и удаление текста. Отмена результатов выполненных действий. Перемещение и копирование текста методом "перетащить-оставить". Форматирование текста. Сохранение документа. Шаг вперед: смена регистра.

    лабораторная работа [220,9 K], добавлен 10.03.2007

  • Разработка программы, реализующей процедуры шифрования и расшифрования текста по стандарту DES (Data Encryption Standard). Структура алгоритма шифрования, схема выработки ключевых элементов. Использование криптографического программного средства.

    курсовая работа [1,7 M], добавлен 15.06.2013

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

    курсовая работа [278,5 K], добавлен 06.04.2014

  • Разработка системы автоматического конвертирования исходного текста программ для станков с ЧПУ. Обоснование целесообразности создания такой системы. Критерии экономической эффективности ее функционирования. Оценка безопасности и экологичности проекта.

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

  • "Метод ключевых слов" как один из распространенных методов перехода к математической модели документа. Закономерности распределения частоты слов, отраженные в законе Ципфа. Экспериментальная оценка статистического анализа текста по модели TF*IDF.

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

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

    курсовая работа [1,7 M], добавлен 12.06.2016

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

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

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

    курсовая работа [1,9 M], добавлен 17.07.2014

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

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

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