Классификатор автоматически сгенерированной vs написанной человеком поэзии

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

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

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

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

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

1

ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

Национальный исследовательский университет

«Высшая школа экономики»

Факультет гуманитарных наук

Образовательная программа

«Фундаментальная и компьютерная лингвистика»

Выпускная квалификационная работа

КЛАССИФИКАТОР АВТОМАТИЧЕСКИ СГЕНЕРИРОВАННОЙ VS НАПИСАННОЙ ЧЕЛОВЕКОМ ПОЭЗИИ

Шаймарданова Алина Рустамовна

Научный руководитель

канд. филологических наук, проф.

О.Н. Ляшевская

  • Москва 2019
  • Содержание
  • 1. Введение
  • 2. Обзор литературы
  • 2.1 Нейронные сети
  • 2.1.1 Генерация на основе цепей Маркова
  • 2.1.2 RNN
  • 2.1.3 LSTM
  • 2.1.4 Правила-фильтры для генерации стихотворения
  • 2.2 Обзор генераторов стихотворений, используемых в работе
  • 2.3 Классификатор автоматически сгенерированных и написанных человеком стихотворений
  • 2.3.1 Классификация стилизованных автоматически сгенерированных и написанных человеком стихотворений
  • 2.3.2 Критерии определения автора при анализе не стилизованных поэтических текстов
  • 3. Данные и метод
  • 3.1 Данные, используемые в эксперименте
  • 3.2 Обработка данных
  • 4. Эксперимент по классификации поэтических текстов
  • 4.1 Обучение классификатора
  • 4.2 Обсуждение значимости параметров
  • 5. Оценка результатов классификатора и их обсуждение
  • 6. Заключение
  • Список литературы
  • Приложение 1 Графики попарной корреляции признаков
  • Приложение 2 Таблица соответствий английских и русских названий критериев
  • Приложение 3 Матрица попарной корреляции признаков
  • Приложение 4 Визуализация дерева решений
  • Приложение 5 Ссылка на репозиторий с проектом
  • 1. Введение
  • классификатор генератор стихотворение автоматический
  • Интерес к разработке автоматических методов генерации поэзии возник еще в 60-ые годы прошлого века. Создание новых стихотворений путем перестановки строк в исходных стихотворениях (Queneau, 1961), генераторы рифмы, именуемые помощниками поэтов и другие. Ранние проявления так называемой экспериментальной поэзии применяли набор комбинаторных процессов к уже существующим стихотворениям для генерации нового текста. Эта тенденция была поддержана и развита различными группами исследователей: португальское движение экспериментальной поэзии (Baldwin, Torres, 2014), французское ателье литературы при содействии математики и компьютеров (ALAMO). В то время заинтересованными в развитии сферы генерации естественного языка, а именно - поэтических текстов являлись в большей степени исследователи из области гуманитарных наук или поэты.
  • Со временем, в 2000 годах область генерации естественного языка стала привлекать внимание научного сообщества, в частности, исследователей в области создания нейронных сетей и искусственного интеллекта. Таким образом, привлечение большего объёма интеллектуальных ресурсов привело к значительному развитию систем генерации поэзии, которые уже не ограничивались переписыванием существующего текста в поэтической форме. Напротив, они становились наукоемкими системами генерации естественного языка, которые взаимодействуют с несколькими языковыми уровнями (фонетика, лексический выбор, синтаксис и семантика) для создания эстетически приятного текста, обладающего творческой ценностью.
  • Проблема придания тексту, сгенерированному компьютером, большей аутентичности имеет ряд промышленных и научных применений (Livingstone, 2006; Dix, 2016). Современные генеративные модели обучают на различных корпусах, преследуя разные цели. При обучении на корпусах стихотворений одного поэта, языковая модель, заложенная в генераторе, обретает стиль этого автора. Генерируемые стихи в таком случае в большей степени похожи на его творчество, вследствие чего являются более узнаваемыми. В качестве примера можно привести стихотворения, стилизованные под тексты песен групп Nirvanna, MUSE и другие (Tikhonov, Yamshchikov, 2018). При обучении на больших корпусах стихотворных и прозаических текстов, включающих вклады различных авторов, обучаемая модель не формирует определенный стиль и способна генерировать разнообразные поэтические тексты. Например, творчество поэта-генератора работника Яндекса Ильи Гусева (Гусев, 2017).
  • Задачи генерации естественного языка часто являются одними из самых сложных для оценки. Существует большое количество работ, посвященных ручной оценке стихотворений по ряду критериев, в частности, тест Тьюринга - классификации по типу автор-человек/автор-компьютер. Однако не всегда человеческие ресурсы позволяют произвести быструю оценку поэтического текста, в то время как автоматический классификатор позволил бы проводить масштабный анализ сгенерированной и настоящей поэзии по их природе.
  • В настоящей работе мы ставим задачу выделить ряд критериев, в соответствии с которыми с наибольшей вероятностью можно автоматически классифицировать стихотворение по типу автора - компьютер или человек. Первый шаг в рамках работы - это собрать набор данных для обучения и тестирования классификатора на основе материалов с портала stihi.ru, автоматически-сгенерированных стихов Генератора Ильи Гусева, Яндекс.Автопоэта, и генератора Сергея Тетерина «КИБЕР-ПУШКИН». Полученный корпус стихов будет содержать в себе ручную разметку автора. Одновременно с этим, будут проанализированы методы работы указанных выше алгоритмов генерации поэтического текста. Кроме того, стихотворения будут проанализированы в соответствии с рядом признаков, на основе которых будет обучен классификатор. В соответствии с выдвинутыми в работе гипотезами, признаками для тренировки модели станут: семантическая плотность всего стихотворения, вычисляемая как среднее расстояние между векторными представлениями слов, семантическая плотность прилагательных и наречий в стихотворении, семантическая связность четверостиший в стихотворении, выделение частотного слова в стихотворении, а также анализ наличия аллитерации, выражающейся в би- и триграммах. Также, необходимо отметить, что расстояние между семантическими векторами слов будет определяться тремя разными методами: косинус угла между векторами, Евклидово расстояние, а также вычисление скалярного произведения масштабированных до единичной длины векторов слов.
  • Далее, на тестовой выборке нами будет произведена общая оценка работы классификатора, а также будут определены наиболее успешные параметры. В результате работы мы намерены получить оформленный классификатор, который будет получать на вход стихотворные строки, обрабатывать их в соответствии с наилучшими параметрами, а на выходе давать пользователю ответ на вопрос, кто является автором стихотворения - человек или машина.

2. Обзор литературы

Задачи генерации естественного языка являются одной из важных частей в развитии сферы обработки естественного языка (далее NLP). Именно поэтому в настоящее время количество генераторов как прозаического, так и поэтического текстов растёт в геометрических прогрессиях: см., например, Gnoetry, JanusNode, Rhyming Robot, Программа-поэт Л.Каганова (Каганов, 1996), Кибер-Пушкин, Яндекс.Автопоэт, генераторы стихов, разработанные в рамках соревнования от Сбербанка и другие. На основе компьютерного творчества составлены сборники стихов, например «Нейролирика. Стихотворения и тексты», опубликованный по результатам эксперимента Б.В. Орехова в книжной серии журнала «Контекст», выпущены стилизованные музыкальные альбомы, например «Нейронная оборона» от сотрудников компании «Яндекс» Алексея Тихонова и Ивана Ямщикова, написаны рэп-тексты на английском языке (Peter Potash et al, 2015). Каждый из созданных нейрописателей отличается от предшественников своими возможностями и использованными методами. Проводятся масштабные исследования, в рамках которых совершенствуется распознавание рифмы и метра стихотворений (Greene et al., 2010), на основе ряда признаков выделяется влияние одного автора на другого (Forstall et al., 2011), создаются классификаторы стихотворений по ряду заранее выделенных авторов (Kaplan, Blei, 2007). Другими словами, нейронные сети, их творчество и «навыки», стремительно входят в мир литературного искусства.

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

2.1 Нейронные сети

В основе любой нейронной сети генерируем мы прозу или стихи, лежит языковая модель, которая явным образом изучает вероятность любого данного слова в предыдущем контексте. Если объяснять на практике, то условно языковая модель, заложенная в голове у человека, «определяет», какое слово с наибольшей вероятностью может идти за данным. Например, когда человек слышит: «Уже поздно, я хочу …», то понимает, что фраза вероятнее всего в качестве окончания будет иметь слово «спать», а не «пить». Таким образом, нейронные языковые модели (Schwenk and Gauvain, 2005; Bengio et al., 2006) представляют значительный исследовательский интерес в связи с их способностью обнаруживать сложные синтаксические и семантические представления естественного языка (Sutskever et al., 2014; Kim et al., 2015).

2.1.1 Генерация на основе цепей Маркова

В России точкой начала истории генераторов стихотворений можно считать генератор Леонида Каганова (Каганов, 1996), основанный на Цепях Маркова. Такой тип генераторов осуществляют свою работу в два этапа. В первую очередь на основе корпуса текстов создаётся лексический словарь, в котором для каждой из единиц формируется список наиболее вероятных последующих слов. Далее, на основе полученной базы вероятностей выстраиваются предложения - цепи Маркова - где в качестве дискретных значений выступают слова. Таким образом, первое слово отбирается случайным образом, второе - выбирается из наиболее вероятных последующих слов, третье - из числа слов, возможных после второго и так далее. Вследствие того, что выбор слова в большей степени обусловлен семантикой предшествующего слова, семантическая связность полученных стихотворений оставляет желать лучшего (Павлов, Добров, 2009). В качестве примера стихотворения, сгенерированного при применении метода Марковских цепей можно привести стихотворения генератора Л. Каганова. Необходимо уточнить, что пунктуация была расставлена автором генератора вручную:

Пустил за компьютер. А экзаменатор - всегда -

Приметы играет в трамвае, в какие-то стали...

Не раньше, но снова - приехал трамвай. Шел куда?

Ильяс начинает. В семестре уже обогнали.

2.1.2 RNN

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

За последние несколько лет RNN с большим успехом применили к целому ряду задач, входящих не только в сферу NLP: распознавание речи, языковое моделирование, перевод, распознавание изображений (Karpathy, 2015). Кроме того, существует большое количество трудов, посвященных генерации стихов на разных языках с использованием RNN. В качестве примера можно обратиться к работе Xingxing Zhang и Mirella Lapata, посвященной китайскому языку. Исследователи посредством предобученной RNN предсказывали следующий иероглиф на основе предыдущего символа с учетом контекста. В результате получились качественные стихи, сопоставимые с современным уровнем искусства, хотя и не достигающие человеческого уровня (Zhang, Lapata, 2014). Другой пример - работа исследователей, описывающая модель, успешно генерирующую скорее не стихи, а рэп-тексты на английском языке (Potash et al, 2015).

Основная причина, по которой рекуррентные сети являются интересными для генерации текстов, заключается в том, что они позволяют оперировать не просто векторным представлением одного слова, а расширяют входную информацию до последовательности таких векторов. Другими словами, при генерации слова они дают возможность использовать его контекст. На практике это означает то, что вместе с каждой словоформой на вход рекуррентной ячейки поступает вектор контекста, то есть все обработанные к этому моменту слова. Такой механизм с опорой на общий контекст делает генерируемый текст более осмысленным. Однако стоит отметить, что недостатком RNN является затухание градиента - в результате роста расстояния между актуальной информацией и «местом» её применения, способность связывать их почти утрачивается (Hochreiter, Schmidhuber, 1997).

2.1.3 LSTM

Таким образом, в качестве решения проблемы затухания градиента RNN появилась долгая краткосрочная память или long short-term memory (далее LSTM). Она была представлена Зеппом Хохрайтером и Юргеном Шмидхубером в 1997 году, а затем многократно усовершенствована в работах других исследователей. Данный вид рекуррентной нейронной сети создан для устранения проблемы, обозначенной выше. Другими словами, фиксирование информации на долгие периоды времени - это особенность, которая априори заложена в LSTM (Hochreiter, Schmidhuber, 1997).

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

почему пропадает сигнал

на стекле николай написал

пермь зюкайка маршрут

где оленей пасут

эзотерика выход в астрал

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

И по хребтам твоим направить

Кто, мир и негу возлюбя

Могу ли их себе представит

Кто, мир и негу возлюбя

"Погибни! - грозно восклицает

Здесь невод мокрыи? расстилает

Постели стелют; для гостеи?

В толпе могучих сыновеи?

Оставим витязеи? на час

Когда не в шутку занемог

Beef-stеаks и страсбургскии? пирог

Святую таи?ну, и для нас

Но, боже мои?, какая скука

Его пример другим наука

Вторым методом генерации словоформ для стихотворения является генерация символа за символом. Другими словами, модели получают последовательность символов-букв в качестве входных данных. На основе первого символа и согласно фонетическим правилам языка модель пытается предсказать следующий, затем на основе первых двух она пытается предсказать третий символ и так далее (Kiis, Ka?ngsepp, 2018). Пример стихотворения (Kiis, Ka?ngsepp, 2018):

Fatherful and broken throne.

The sight of the conqueror seems;

The spring is stiff and strong,

And the small feet of things are still enlightened,

And these his ears of soul in the sun 'sing.

The wind came on to see, he looks back,

In the hills

Where the boys can't have a stream of space

И третьим, одним из самых распространённых подходов является генерация слова за словом. В данном случае, модель, аналогично второму методу, предсказывает слово за словом, на основе грамматических правил языка и предыдущих слов или контекста, в зависимости от вида сети (Kiis, Ka?ngsepp, 2018). Пример стихотворения Генератора И. Гусева:

Я как все проходит

Без тебя на свете

Этот день так долог

И опять приходит

Ко мне теплый ветер

И микробиолог

В рамках третьего метода генерации, довольно остро встаёт вопрос о достижении грамматичности генерируемого текста в стихотворной форме. В нескольких исследованных нами работах (Kiis, Ka?ngsepp, 2018; Misztal, Indurkhya, 2014; Анастасиев, Гусев, 2017) было предложено достаточно удобное решение этого вопроса - каждое слово описывается его леммой и грамматическим значением. Преимуществом данного метода является тот факт, что использование лемм вместо словоформ сокращает размер словесных эмбендиннгов, что значительно ускоряет процесс генерации.

2.1.4 Правила-фильтры для генерации стихотворения

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

Первое правило определяет последовательность ударных и безударных слогов в строке, представляемой в виде схемы определённой схемы. В качестве примера приведем схему из работы (Hopkins, Kiela, 2017), см. Рис. 1.

Рисунок 1 Допустимые вариации пятистопного ямба в сонетах Шекспира

В соответствии с метрической картой, система отбирает словоформы, подходящие по локализации ударений и количеству слогов. В дополнение к задаче соблюдения метра, встаёт вопрос о выделении корректного ударения в слове. Одним из вариантов расстановки ударения является идея использовать уже готовые пакеты, имеющие такой функционал, например, пакет rupo, разработанный сотрудником Яндекса И. Гусевым (Анастасиев, Гусев, 2017). Данный пакет обучен на словаре русского языка А. А. Зализняка (Зализняк, 2003) и умеет предсказывать положение ударного слога в незнакомых словах. Кроме того, можно использовать пакет russtress, который также достаточно хорошо справляется с поставленной задачей (Ponomareva, Milintsevich, Chernyak, Starostin, 2017).

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

2.2 Обзор генераторов стихотворений, используемых в работе

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

Как упоминалось ранее, одним из первых генераторов на русском языке является программа-поэт Л. Каганова, основанная на Цепях Маркова.

“Программа изучает некий текст в прозе, который вы ей даете, и составляет базу - запоминает, какие слова встречались в предложениях рядом, считая их соседними по смыслу. Затем по этой базе и начинает сочинять стихи" (Каганов, 1996).

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

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

Тотальный ритм сметает нимб

Остывший телом трёт тюльпан

Кто вату к ноженьке приложет

Тебе в бедро густой румян…

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

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

Следующим и одним из самых современных и сложных по своей архитектуре нейропоэтов является пословный генератор сотрудника Яндекса Ильи Гусева. В его основе лежит языковая модель, обученная на объемном корпусе стихотворений с портала stihi.ru, а также нейронная сеть типа LSTM, состоящая из четырёх слоёв-фильтров. Важной особенностью данного генератора является доработка входного слоя, а именно - его уменьшение за счет нестандартного представления каждой из словоформ. Другими словами, сокращение размера эмбенддингов достигается за счёт представления каждого слова как пары леммы и грамматического значения, так как нескольким сотням тысяч слов соответствует всего тридцать тысяч лемм. Таким образом, модель в процессе создания стихотворения, предсказывает отдельно грамматическое значение последующего слова и отдельно лемму. В результате внедрения лучевого поиска, даже если у выбранной леммы нет предсказанного моделью грамматического значения, то выбирается следующее подходящее слово из списка. Данный алгоритм помогает достичь наибольшей грамматичности полученного поэтического текста и при этом, учитывать семантику.

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

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

2.3 Классификатор автоматически сгенерированных и написанных человеком стихотворений

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

2.3.1 Классификация стилизованных автоматически сгенерированных и написанных человеком стихотворений

Существует ряд работ, посвященных сопоставлению сгенерированных стилизованных и человеческих стихотворений в рамках одного или нескольких авторов (Lamb, 2018; Tikhonov, Yamshchikov, 2018; Potash et al., 2015; Misztal, Indurkhya 2013). Чаще всего, для автоматической оценки тематических моделей, а также для классификации стилизованных стихотворений используются следующие метрики:

1. Перплексия (perplexity), равная экспоненте от минус усредне?нного логарифма правдоподобия. Перплексия зависит от мощности словаря и распределения частот слов в корпусе. Она показывает, насколько хорошо модель приближает наблюдаемые частоты появления слов в документах. Чем меньше перплексия, тем выше качество (Asuncion et.al., 2009). «Перплексия измеряется по контрольнои? выборке документов, не используемых для построения модели. Это позволяет избежать занижения оценки в результате переобучения» (Воронцов, Потапенко, 2014: 8).

2. Оценка уникальности стихотворения (Potash et al., 2015), вычисляемая посредством определения косинуса угла между векторами слов в TF-IDF представлении сравниваемых стихотворений. Изначально этот алгоритм в более простой форме был предложен (Machado et al., 2005) для расчета сходства между сгенерированной лирикой и всеми стихами одного и того же поэта.

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

4. Кроме того, при оценке языковой модели генератора, используется расстояние Хэмминга, равное расстоянию между ритмическими схемами метрик обучающего корпуса и метрикой исследуемого стихотворения. Такой параметр иллюстрирует схожесть сгенерированных строк и строк, написанных автором-человеком, на поэтических текстах которого проходило обучение модели (Hopkins, Kiela, 2017).

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

2.3.2 Критерии определения автора при анализе не стилизованных поэтических текстов

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

Первым критерием являлась интро-диффузия или же семантическая «плотность» (Delmonte, Prati, 2014). Для ее вычисления необходимо токенизировать и нормализовать текст стихотворения. Далее, посредством модели word2vec для анализа семантики необходимо вычислить векторное представление каждого из слов. После этого определенными методами подсчитывается попарная близость между всеми лексическими единицами стиха. В рамках установленной задачи нами было выделено три наиболее подходящих метода подсчёта семантического расстояния. Первым и классическим методом вычисления семантический близости является вычисления косинуса угла между векторами исследуемых слов - отношение скалярного произведения векторов к произведению их длин (Березин и др., 2018). Вторым методом является также относительно классический метод, а именно - вычисление скалярного произведения масштабированных до единичной длины векторов (Blan et al., 2018). Третьим методом является вычисление Евклидового расстояния между векторными представлениями слов (Blan et al., 2018). Указанные выше три метрики имеют разную степень успешности при решении разных типов задач. Евклидова метрика, например, чаще всего используется при кластеризации текстов, в то время как метод вычисления косинуса угла между векторами используется повсеместно в дистрибутивной семантике. На данном этапе исследования, сложно предположить, какая именно из метрик будет более успешна в рамках установленной в работе задачи.

Также, в рамках исследования вопроса выделения критериев, опираясь на которые с наибольшей вероятностью можно установить кто является автором стихотворения - компьютер или человек, мы обратили внимание на работы, посвященные определению психологического состояния поэта. В одной из интересных работ описывается программа Linguistic Inquiry and Word Count, которая подсчитывает доли слов различных грамматических и лексико-семантический категорий в тексте (Stirman, 2001). В частности, программа позволяет подсчитывать долю слов, обозначающих определенные эмоции. На основе выделенных групп авторы работы при применении статистических методов определяли общее настроение стихотворения и, соответственно, самого поэта. Указанная выше программа не адаптирована к русской лексике, в связи с чем, нами было принято решение позаимствовать идею выделения семантически окрашенной лексики в тексте, в частности прилагательных и наречий, для выявления эмоциональной целостности стихотворения. Далее, аналогично предшествующему методу, будет определена семантическая плотность эмоционально окрашенных лексем путём вычисления среднего расстояния между каждой парой векторов слов. Соответственно, расстояние будет устанавливаться тремя методами: косинус угла, Евклидово расстояние, а также скалярное произведение между масштабированными до единичной длины векторами. Данный метод основан на гипотезе о том, что не автоматически сгенерированное стихотворение с большой вероятностью будет выдержано в единой стилистике - то есть показатели плотности будут выше (Dalvean, 2015).

Ещё одним критерием, на который мы видим возможность опираться при классификации стихотворений, - это сравнение векторного представления малой формы текста для исследования его когерентности. Подобные методы сравнения чаще всего используются в исследованиях по установлению сходства прозаических текстов. Результаты таких исследований показывают, что сравнение векторов абзацев эффективны для улавливания сходства и взаимосвязанности между документами (Clarke et. al., 2018; Mai et. al., 2018). Таким образом, этот метод может быть применён к исследованию целостности стихотворной формы. Для этого необходимо вычислить семантический вектор каждой из строф стихотворения и рассчитать среднее расстояние между каждым из этих векторов тремя упомянутыми выше способами: косинус угла между векторами, Евклидово расстояние, а также скалярное произведение между масштабированными до единичной длины векторами.

Четвертым значимым методом является выделение списка ключевых слов, а именно - выделение максимального количества вхождений определённой лексемы, за исключением стоп-слов русского языка. Нами не были найдены труды, применяемые данный метод, однако он пересекается с методом выделения ключевых слов в тексте (Москвитина, 2018; Balakrishnan et. al., 2018), когда путём преобразования текста в мешок слов, ведётся подсчет количества вхождений каждой из словоформ. Таким образом, мы проверим гипотезу о том, что автор-человек в рамках создания стихотворения в большинстве случаев ведёт своё повествование вокруг одного или нескольких объектов/субъектов, которые называет на протяжении текста. В связи с этим, мы предполагаем, что максимальная частотность словоформы в текстах реальных авторов будет выше, чем в сгенерированных стихотворениях.

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

И шальной, шевелюру ероша,

В замешательстве смысл темня,

Ошарашит тебя нехорошей

Глупой сказкой своей про меня.

Б. Л. Пастернак

Определить наличие аллитерации можно путём выделения n-грамм в тексте, в частности би- и триграмм (Kesarwan, 2018).

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

3. Данные и метод

3.1 Данные, используемые в эксперименте

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

Так, посредством библиотек requests, urllib и bs4 нами были выкачаны и обработаны такие разделы портала, как «Рекомендуемые произведения» https://www.stihi.ru/poems/selected.html, «Рекомендуемые авторы» https://www.stihi.ru/authors/editor.html, полные списки произведений за февраль https://www.stihi.ru/poems/list.html?topic=all&year=2019&month=02&day=1. Таким образом, корпус написанных человеком стихотворений составил 400 000 стихотворений. Однако, по причине малого размера корпуса сгенерированных поэтических текстов, нами было принято решение сбалансировать обучающую выборку и сократить количество написанных человеком стихотворений до 7000.

Кроме того, для обучения классификатора нами был сформирован корпус автоматически-сгенерированных стихотворений на русском языке. Как упоминалось ранее, в итоговую базу данных вошла поэзия Генератора И. Гусева, Яндекс.Автопоэта, и генератора Сергея Тетерина «Кибер-Пушкин». Стихи генератора Ильи Гусева и Яндекс.Автопоэта были извлечены из тематических пабликов социальной сети ВКонтакте посредствам интерфейса, позволяющего получать информацию из баз данных vk.com с помощью http-запросов к специальному серверу - API ВКонтакте.

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

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

Таким образом, для того чтобы скачать все записи со стены открытых сообществ, посвящённых нейропоэзии, нами было создано приложение во ВКонтакте и был получен ключ доступа. Далее, используя метод wall.get нами были скачаны все записи из групп «Автопоэт» https://vk.com/yaya.poet, «Яндекс.Автопоэт» https://vk.com/yandexautopoet и «Нейростихи на каждый день» https://vk.com/autopoems. Кроме того, с сайта-проекта Сергея Тетерина - «Кибер-Пушкин» http://www.teterin.ru/pushkin/#st - нами также были скачаны автоматически сгенерированные стихи.

В результате скачивания стихотворений из указанных выше источников и балансирования выборок, был сформирован корпус, состоящий из 14 000 стихотворений (см. Табл. 1).

Таблица 1

Поэтический корпус

Наименование

Количество текстов

Стихи с портала stihi.ru под авторством человека

7000

Стихи генератора И.Гусева

3148

Стихи генератора Автопоэт.Яндекс

3818

Стихи генератора «Кибер-Пушкин»

64

3.2 Обработка данных

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

Как уже упоминалось ранее, при создании корпуса для обучения классификатора, было отобрано 7000 стихотворений под авторством человека и 7000 под авторством компьютера. Таким образом, объём корпуса составил 14 000 стихотворений.

Каждое из стихотворений проходило несколько этапов предобработки, а именно:

1. Автоматическую токенизацию слов с сопутствующим удалением всех знаков препинания и приведению к нижнему регистру;

2. Нормализацию всех словоформ с сопутствующим удалением стоп-слов из текста. Данный этап был выполнен с применением инструмента MorphAnalyzer из пакета pymorphy2, так как более удобный и быстрый инструмент Mystem с недавнего времени перестали развивать, что в нашем случае является большим минусом;

3. Так как при выделении критериев для обучения нами будет использована дистрибутивно-семантическая модель от RusVectores, имеющая частеречную разметку, соответствующую формату Universal PoS Tags, необходимо проставить частеречные тэги в полученном поэтическом корпусе. Для этих целей мы использовали решение, предложенное разработчиками RusVectores, а именно - посредствам библиотеки pymystem3 проводим анализ каждого из стихотворений. В связи с тем, что частеречные тэги Mystem отличаются от Universal POS-tags, необходимо конвертировать их в нужный формат, используя таблицу соответствий (см. Табл. 2).

Таблица 2

Соответствия частеречных тегов Mystem и Universal Tags

Mystem

Universal Tags

A

ADJ

ADV

ADV

ADVPRO

ADV

ANUM

ADJ

APRO

DET

COM

ADJ

CONJ

SCONJ

INTJ

INTJ

NONLEX

X

NUM

NUM

PART

PART

PR

ADP

S

NOUN

SPRO

PRON

UNKN

X

V

VERB

Далее, для обучения классификатора, каждое стихотворение анализировалось в соответствии с 15-ю параметрами:

1. Итро-диффузия или семантическая плотность (Delmonte, Prati, 2014). Для вычисления показателя, первым шагом необходимо рассчитать векторное представление каждого из слов стихотворения с применением инструментов word2vec, вторым - вычислить попарную близость между векторами, третьим - вывести среднее значение из получившегося массива расстояний. Семантическую близость между векторами рассчитывается тремя разными способами:

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

b. Вторым и не менее распространенным методом расчета семантической близости является вычисление скалярного произведения масштабированных до единичной длины векторов;

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

2. Семантическая плотность прилагательных и наречий в стихотворении. Для вычисления данного параметра необходимо выделить все словоформы с частеречными тэгами ADV и ADJ. Важно, что в число наречий и прилагательных, согласно таблице регулярных соответствий, указанной выше, входят также и ADVPRO - местоименные наречия (где, вот), ANUM - числительное-прилагательное (седьмой, восьмидесятый), COM - часть композита (выпyклo-вoгнyтый). Аналогично предыдущему пункту, необходимо рассчитать среднее расстояние между векторами выделенных слов тремя указанными методами;

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

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

5. Как уже было упомянуто в разделе 2 «Обзор литературы», еще одним критерием является выделение аллитерации или частотных буквенных n-грамм в поэтических. Нами было принято решение выделять би- и триграммы при помощи инструмента ngrams из пакета nltk. Результаты обработки показали, что частотными биграммами и триграммами могли стать «ь_» и «ть_» соответственно, что не является корректным представлением n-грамм. По этой причине в дополнение к вышесказанному, мы выделили би- и триграммы, не учитывающие пробелы между словами. Важно отметить, что данный показатель нуждался в нормализации, так как сгенерированные стихотворения в большинстве случаев были короче стихотворений человека, что искажало показатели этого критерия и становилось причиной переобучения модели. Таким образом, показатель максимального количества вхождений определённых би- и триграмм делился на количество словоформ в стихотворении.

6. Исходя из 5-го пункта, ещё одним критерием стала длина самого стихотворения в словах.

4. Эксперимент по классификации поэтических текстов

4.1 Обучение классификатора

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

1. Интро-диффузия или семантическая плотность всего стихотворения, выделяемая при применении трёх разных методов:

a. косинус угла между векторами;

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

c. Евклидова расстояния между векторами.

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

3. Семантическое расстояние между четверостишиями стихотворений;

4. Количество вхождений частотного слова;

5. Количество вхождений частотных биграммы и триграммы с учетом пробелов;

6. Количество вхождений частотных биграммы и триграммы без учета пробелов.

Для большей наглядности нами были построены графики (Приложение 1) и матрица попарной корреляции признаков (Приложение 3), которые показали, что наиболее зависимыми признаками являются: биграммы без пробелов и биграммы с пробелами, биграммы без пробелов и триграммы с пробелами, длина и частотное слово и др. (см. Табл. 3).

Таблица 3

Матрица корреляции наиболее зависимых признаков

Биграммы с пробелами

Частотное слово

Биграммы без пробелов

Триграммы без пробелов

Строфы (ecul)

Сем. близость между прилагательны-ми и наречиями (eucl)

Длина

0.716781

0.715483

Триграммы с пробелами

0.756749

0.817554

0.812874

Биграммы без пробелов

0.956481

Строфы (dot)

0.761791

Сем. близость между прилагатель-ными и наречиями (cos)

0.902418

Кроме того, при обработке стихотворений, как упоминалось ранее, производилась разметка по типу автора. Таким образом, обозначения «Person» и «Computer» являются классами, выделяющимися в переменную y. Чтобы собрать тестовую и обучающую выборки из исходных данных, воспользуемся функцией кросс-валидации train_test_split, реализованной в пакете scikit-learn. Размер тестовой выборки составил 60% от общей базы данных.

Далее, нами были использованы семь алгоритмов машинного обучения для определения наилучшего результата и параметров, представленные и описанные в Табл. 4.

Таблица 4

Алгоритмы машинного обучения

Аббревиатура

Расшифровка

DecisionTreeClassifier http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html

Деревья решений

GradientBoostingClassifier https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html

Градиентный бустинг деревьев решений

KNeighborsClassifier http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html

Метод ближайших соседей

Linear model https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html

Линейная модель

LogisticRegressionCV https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html

Логистическая регрессия

RandomForestClassifier http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html

Случайный лес

SupportVectorClassification http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html

Машина опорных векторов

Необходимо отметить, что мы использовали инструмент GridSearchCV, для подбора наиболее оптимальных параметров для моделей. Результаты обучения представлены в Табл. 5.

Таблица 5

Результаты обучения алгоритмов машинного обучения

Метод

Train (f1_score)

Test (f1_score)

Accuracy

DecisionTreeClassifier

0.980636246095539

0.971579035605813

0.97171890303623

GradientBoosting
Classifier

0.978245409361865

0.967903135959227

0.96804603330068

KNeighborsClassifier

1.0

0.969617736759206

0.96976003917727

Linear model

0.739821596244131

0.744060878412749

0.68315377081292

LogisticRegressionCV

0.348995695839311

0.291773695683983

0.53608815426997

RandomForest
Classifier

1.0

0.982747295800956

0.98285994123408

SupportVector
Classification

0.956013793907662

0.941097028187141

0.94123408423114

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

4.2 Обсуждение значимости параметров

Рассмотрим распределение значимости параметров для лучшего из методов - RandomForestClassifier. При учёте всех 15-ти признаков, мы получили следующую статистику (таблицу соответствия английских и русских названий критериев см. в Приложении 2):

Feature importances:

1. feature 'Len' (0.2414)

2. feature 'Frequency word' (0.0945)

3. feature 'Bigramms_without_spaces' (0.0781)

4. feature 'Bigramms_with_spaces' (0.0743)

5. feature 'ThreeGrams_with_spaces' (0.0711)

6. feature 'Stanzas_eucl' (0.0701)

7. feature 'Stanzas_cos' (0.0598)

8. feature 'Stanzas_dot' (0.0536)

9. feature 'Semantic_density_eucl' (0.0522)

10. feature 'Semantic_density_cos' (0.0426)

11. feature 'Semantic_density_dot' (0.0408)

12. feature 'ThreeGrams_without_spaces' (0.0349)

13. feature 'Adj_semantic_density_eucl' (0.0303)

14. feature 'Adj_semantic_density_cos' (0.0295)

15. feature 'Adj_semantic_density_dot' (0.0268)

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

F1_score train 1.0

F1_score test 0.9802857456624658

Accuracy 0.980411361410382

Feature importances:

1. feature 'Frequency word' (0.1249)

2. feature 'Bigramms_without_spaces' (0.1092)

3. feature 'Bigramms_with_spaces' (0.1054)

4. feature 'Stanzas_eucl' (0.0885)

5. feature 'ThreeGrams_with_spaces' (0.0871)

6. feature 'Semantic_density_eucl' (0.0745)

7. feature 'Stanzas_cos' (0.0738)

8. feature 'Stanzas_dot' (0.0666)

9. feature 'Semantic_density_cos' (0.0494)

10. feature 'Semantic_density_dot' (0.0486)

11. feature 'Adj_semantic_density_dot' (0.0460)

12. feature 'ThreeGrams_without_spaces' (0.0430)

13. feature 'Adj_semantic_density_cos' (0.0418)

14. feature 'Adj_semantic_density_eucl' (0.0412)

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

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

F1_score train 1.0

F1_score test 0.9800393174832466

Accuracy 0.9801665034280117

Feature importances:

1. feature 'Bigramms_with_spaces' (0.1306)

2. feature 'Bigramms_without_spaces' (0.1182)

3. feature 'Stanzas_eucl' (0.0977)

4. feature 'ThreeGrams_with_spaces' (0.0936)

5. feature 'Stanzas_cos' (0.0907)

6. feature 'Semantic_density_eucl' (0.0856)

7. feature 'Stanzas_dot' (0.0818)

8. feature 'Adj_semantic_density_dot' (0.0538)

9. feature 'Adj_semantic_density_eucl' (0.0535)

10. feature 'Semantic_density_dot' (0.0518)

11. feature 'Semantic_density_cos' (0.0507)

12. feature 'Adj_semantic_density_cos' (0.0492)

13. feature 'ThreeGrams_without_spaces' (0.0428)

Из результатов видно, что при удалении показателей частотных слов, f1_score для тестовой выборки и accuracy практически не ухудшаются.

Если же рассмотреть следующий по успешности алгоритм - DecisionTreeClassifier и провести аналогичные удаления ненадёжных для нас критериев, то можно увидеть, что изменение f1_score для тестовой выборки и accuracy варьируются не так сильно (см. Табл. 6).

Таблица 6

Результаты обучения DecisionTreeClassifie

Train (f1_score)

Test (f1_score)

Accuracy

Со всеми признаками

0.9806362460955393

0.971579035605813

0.971718903036239

Удаление показателей длины

1.0

0.976229341921521

0.9763712047012733

Удаление показателей длины и частотного слова

0.9994461946862152

0.971817211942093

0.9719637610186092

Интересно то, что удаление показателей длины не ухудшает результаты, что идёт вразрез с нашей гипотезой о том, что критерий длины стихотворения является решающим. Кроме того, удаление частотного слова также показывает лучшие результаты, чем обучении на всех 15-ти критериях, что также является неожиданным результатом. Мы предполагаем, что улучшение результатов может быть связано с тем, что часть автоматически-сгенерированных стихотворений также имеют большую длину в словах, в результате чего удаление критериев «Длина» и «Частотное слово» повышают качество классификатора.

...

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

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

    дипломная работа [4,0 M], добавлен 13.10.2017

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

    реферат [22,4 K], добавлен 06.10.2009

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

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

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

    курсовая работа [21,0 K], добавлен 13.03.2019

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

    курсовая работа [196,2 K], добавлен 26.03.2009

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

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

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

    контрольная работа [2,8 M], добавлен 26.05.2009

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

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

  • Описание ДСМ-метода автоматического порождения гипотез. Исследование результатов влияния компонентов ДСМ-метода на качество определения тональности текстов. Алгоритм поиска пересечений. N-кратный скользящий контроль. Программная реализация ДСМ-метода.

    курсовая работа [727,0 K], добавлен 12.01.2014

  • Службы Windows — приложения, автоматически включаемые системой при запуске. Характеристика концепции демонов в Unix. Диспетчер автоподключений удаленного доступа, логических дисков, отгрузки, очереди печати. Организация доступа к HID-устройствам.

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

  • Изучение общероссийского классификатора объектов административно-территориального деления и основных видов экономической деятельности. Характеристика особенностей обеспечения совместимости государственных информационных систем и информационных ресурсов.

    реферат [43,3 K], добавлен 06.12.2012

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

    отчет по практике [269,3 K], добавлен 16.05.2017

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

    курсовая работа [32,1 K], добавлен 06.04.2015

  • Понятие звука, физиологические и психологические основы его восприятия человеком. Основные критерии и параметры звука: громкость, частота, пространственное положение источника, гармонические колебания. Система пространственной обработки звука EAX.

    презентация [952,3 K], добавлен 10.08.2013

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

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

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

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

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

    курсовая работа [57,2 K], добавлен 14.12.2010

  • Разработка алгоритма автоматического создания отзывов на русском языке с использованием лексико-синтаксических шаблонов. Процесс создания текста при помощи цепей Маркова. Принцип работы Томита-парсера. Применение автоматических генераторов текстов.

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

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

    доклад [10,9 K], добавлен 20.09.2012

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

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

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