Лаба 5

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКНІ
Факультет:
Прикладна лінгвістика
Кафедра:
Системи автоматизованого проектування

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерна лінгвістика
Група:
ПРЛс
Варіант:
3

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра «Системи автоматизованого проектування» Звіт до лабораторної роботи №5 «Вивчення бібліотеки прикладних програм NLTK, для опрацювання текстів природною мовою. Початкова обробка текстів природною мовою» з курсу «Комп’ютерна лінгвістика» містить такі символи датської та норвезької, як «ø», угорської – «ő», іспанської та бретонської – «ñ» та «ň» – чеської та словацької мов. Розглянемо, як використовується Unicode при обробці текстів, що містять відмінні від ASCII символи. Юнікод – це промисловий стандарт, розроблений для того, щоб зробити можливим для текстів і символів (графічних знаків) усіх писемних систем світу узгоджене представлення (репрезентацію) і обробку комп’ютерами. Юнікод підтримує більш ніж мільйон символів. Кожному символу ставиться у відповідність число, яке називають кодовою точкою. В Python кодові точки записуються у вигляді \uXXXX, де XXXX – чотири символи шістнадцяткового числа. У межах програми обробка стрічок Unicode відбувається аналогічно до звичайних стрічок. Однак, коли Unicode-символи зберігаються у файл або виводяться на екран, вони мають бути закодовані, як потік байтів. Деякі кодування (такі як ASCII та Latin-2) використовують 1 байт для представлення одної кодової точки і відповідно підтримують невеликий набір символів Unicode, достатній для одної мови. Інші кодування (такі як UTF-8) використовують послідовності байтів і можуть представити весь набір символів Unicode. Текст у файлах є в певному кодуванні, і потрібен певний механізм для перетворення його в Unicode. Такий механізм називають декодування. Навпаки записати Unicode-символи у файл або вивести на екран можна тільки попередньо перетворивши їх у потрібне кодування. Таке перетворення називають кодуванням. Тексти програм Варіант №12 1. Напишіть функцію, яка приймає адресу URL як аргумент і повертає те, що міститься за цією адресою з видаленням HTML-розмітки. Використовувати urllib.urlopen для доступу до контенту наступним чином: raw_contents = urllib.urlopen('http://www.nltk.org/').read(). … Збережіть деякий текст у файлі corpus.txt. Визначити функцію load(f) для читання файлу, назва якого є її аргументом і повертає стрічку, яка містить текст з файлу. … Перепишіть наступний цикл як list comprehension:   >>> sent = ['The', 'dog', 'gave', 'John', 'the', 'newspaper'] >>> result = [] >>> for word in sent: ... word_len = (word, len(word)) ... result.append(word_len) >>> result [('The', 3), ('dog', 3), ('gave', 4), ('John', 4), ('the', 3), ('newspaper', 9)]   Перевірити різницю між стрічками і цілим виконавши наступні дії: "3" * 7 та 3 * 7. Спробуйте здійснити конвертування між стрічками і цілими використавши int("3") та str(3). Змінна "3" є стрічкового характеру, тому помноживши її на 7, отримуємо у 7 разів довшу стрічку. Відповідно функція int("3") перетворює стрічкову змінну в цілочисельну, а функція str(3) перетворює цілочисельну змінну в стрічкову.  Що станеться, коли стрічки форматування %6s та %-6s використовуються для відображення стрічки, довшої ніж 6 символів?  Стрічка %6s для стрічок довжиною до шести символів виконує форматування по лівому краю (тобто додає пробіли), а стрічка %-6s – форматування по правому краю. Коли ж стрічка довша за 6 символів, форматування не відбувається. Створіть файл, який буде містити слова та їх частоту записані в окремих рядках через пробіл (fuzzy 53). Прочитайте цей файл, використовуючи open(filename).readlines(). Розділіть кожну стрічку на дві частини, використовуючи split(), і перетворіть число в ціле значення використовуючи int(). Результат має бути у вигляді списку: [['fuzzy', 53], ...].  Міра оцінки читабельності використовується для оцінки складності тексту для читання. Нехай, μw – середня кількість літер у слові, та μs – середнє значення кількості слів у реченні в певному тексті. Automated Readability Index (ARI) тексту визначається згідно виразу: 4.71 μw + 0.5 μs - 21.43. Визначити значення ARI для різних частин корпуса Brown Corpus, включаючи частину f (popular lore) та j (learned). Використовуйте nltk.corpus.brown.words() для знаходження послідовності слів та nltk.corpus.brown.sents() для знаходження послідовності речень.   Використовуючи Porter стемер нормалізуйте будь-який токенізований текст . До того самого тексту застосуйте Lancaster стемер. Результати порівняйте та поясніть.  Доступіться до текстів ABC Rural News та ABC Science News з корпуса (nltk.corpus.abc). Знайдіть значення для оцінки читабельності текстів (аналогічно до задачі №12). Використовуйте Punkt для поділу тексту на окремі речення.  Висновок На цій лабораторній роботі я вивчив методи роботи з файлами на локальних дисках та з Інтернету, а також методи використання Юнікоду під час обробки текстів. Також я ознайомився з поняттями нормалізації текстів, стемінгу, лематизації та сегментації і закріпив свої знання та навички на практиці, виконавши найпоширеніші задачі.
Антиботан аватар за замовчуванням

27.11.2014 04:58

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!