python - работа с текстовыми данными

Срочно
Отменен
Заказ
5467973
Раздел
Программирование
Предмет
Тип работы
Антиплагиат
Не указан
Срок сдачи
31 Мая 2023 в 22:00
Цена
4 000 ₽
Блокировка
10 дней
Размещен
31 Мая 2023 в 18:54
Просмотров
90
Описание работы

Лингвистическая часть

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

Задача 1.

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

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

Таким образом, вам необходимо узнать следующие вещи:

  • количество предложений (относительное и абсолютное)
  • количество токенов (относительное и абсолютное)
  • средняя длина предложения (среднее количество слов в предложении)
  • соотношение "уникальные токены / все токены"
  • (опционально) соотношение знаков пунктуации и слов
Задача 2.

Сделайте морфосинтаксические разборы ваших текстов в формате UD, запишите .conllu-файлы.

Задача 3.

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

Задача 4.

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

Задача 5.

Посчитайте медианную длину предложения для ваших текстов (медиана - это если взять все длины всех ваших предложений, упорядочить их от маленького к большому и выбрать то число, которое оказалось посередине, а если чисел четное количество, то взять среднее арифметическое двух чисел посередине. Например, если у вас пять предложений длинами 1, 2, 6, 7, 8, то медиана - 6, а если шесть предложений длинами 1, 1, 7, 9, 10, 11, то медиана - (7 + 9) / 2 = 8). Возьмите любые два предложения (одно русское и второе на другом языке) и постройте для них деревья зависимостей. Изучите связи зависимостей (deprel) и вершины: согласны ли вы с разбором?

Задача 6.

Посчитайте частотные списки токенов для каждой категории связей зависимостей (т.е., нужно выделить все токены в тексте, которые получали, например, ярлык amod, и посчитать их частоты). Выведите по первые три самых частотных токена для каждой категории (punct можно не выводить).

Задача 7.

Некоторые предлоги в русском языке могут управлять разными падежами (например, "я еду в Лондон" vs "я живу в Лондоне"). Давайте проанализируем эти предлоги и их падежи. Необходимо:

  • составить список таких предлогов (РГ-80 вам в помощь)
  • взять достаточно большой текст (можно большое художественное произведение)
  • сделать морфоразбор этого текста (лучше не pymorphy)
  • Посчитать, как часто и какие падежи встречаются у слова, идущего после предлога.

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

Если будете использовать RNNMorph, возможно, понадобится регулярное выражение и немного терпения.

А ТАКЖЕ:

Задача 8.

Жизнь. Напишите игру "Жизнь". Что это такое - читайте в википедии и здесь: http://www.michurin.net/online-tools/life-game.html Вообще говоря, это не игра в привычном понимании этого слова, а процесс. В простейшем виде достаточно раз в 0.1 секунды выводить на экран обновлённое поле. Для рамочек можно использовать специальные символы для рисования рамочек (найдите в таблице unicode). Пробел - пустая клетка, живая клетка может быть обозначена, например, символом '+'. Начальное поле генерируется случайным образом, вероятность появления жизни в клетке при начальной генерации - должна быть настраиваемым параметром. Размеры поля вводит пользователь при запуске программы. Также должна быть возможность в качестве начальной популяции использовать R-pentomino (http://www.conwaylife.com/wiki/R-pentomino)

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир