МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІНСТИТУТ КОМП’ЮТЕРНИХ НАУК ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра “Системи автоматизованого проектування”
/
Звіт
до лабораторної роботи №1
на тему:
«ВИВЧЕННЯ БІБЛІОТЕКИ ПРИКЛАДНИХ ПРОГРАМ NLTK, ДЛЯ ОПРАЦЮВАННЯ ТЕКСТІВ ПРИРОДНОЮ МОВОЮ.
ОСНОВИ ПРОГРАМУВАННЯ НА МОВІ PYTHON(частина 1)»
МЕТА
Вивчити основи програмування на мові Python: ознайомитися з правилами написання списків, функцій, циклів, та закріпити набуті знання практичними навичками.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Python - це проста і потужна об’єктно-орієнтована мова програмування високого рівня з чудовими можливостями для обробки лінгвістичних даних.
Natural Language Toolk (NLTK) – набір Python бібліотек, які призначені для аналізу текстів природною мовою. NLTK дозволяє здійснювати символьний та статистичний аналіз текстів, створювати графічні звіти та містить детальну документацію і використовується в проектах з лінгвістики, штучного інтелекту, машинного навчання, автоматизації документообігу. Його можна застосовувати як начальний комплекс, готовий аналітичний інструмент або платформу для створення прикладних систем опрацювання текстів. NLTK вільно розповсюджується (http://www.nltk.org) і всі бажаючі можуть його встановити згідно інструкції розробників.
Python – інтерпретаційна мова, яка дозволяє зекономити час, що витрачається на компіляцію. Інтерпретатор можна використовувати інтерактивно, що дозволяє експериментувати з можливостями мови і створювати фрагменти програм або тестувати окремі функції. Інтерпретатор – це програма яка виконує Python програми.
1.4.1 Списки
Lists(списки) – тип даних для опису послідовності значень. В Python списки представляються як послідовність записана через кому і у квадратних дужках.
/
Доступ до значень отримуємо аналогічно до стрічок.
/
/
Аналогічним чином значення індексуються і утворюються їх зрізи.
/
Значення у списках можна змінювати на відміну від стрічок де значення змінити неможливо. Вміст списків можна міняти в будь-який момент часу і тому списки підтримують набір операцій або методів.
/
/
Використаємо по відношенню до списку два методи sorting (сортування) і reversing (обернення). Ці методи не створюють нові списки а модифікують початкові.
/
Спробуємо використати ще два методи append (додати) і index (індексувати ).
/
1.4.2 Обробка послідовностей
Часто при роботі з послідовностями виникає необхідність послідовно працювати з її елементами. Ми можемо це робити використовуючи for цикл. Це є контрольна структура Python.
/
Ця програма виконує оператор print len(word), word для кожного елемента зі списку. Цей процес називається ітераціями. Наведемо інший приклад for циклу.
/
В цій програмі визначається відношення між загальною кількість символів в елементах списку та кількістю елементів списку.
Можна написати for цикл і для роботи з символами стрічки
/
ВИКОНАННЯ ПРАКТИЧНИХ ЗАВДАНЬ
Варіант № 16
Завдання № 4, 8, 9, 18, 14, 23, 24
4.Визначити нову стрічку hello. Здійснити операцію hello+ msg. Змінити стрічку hello додавши в її кінці символ пробілу і знову виконати операцію hello+ msg.
/
8.Спробуйте згенерувати IndexError доступаючись до символів стрічки з індексами менше 0.
/
9.Організуйте доступ до елементів стрічки з визначеним кроком. Результати поясніть.
/
msg[:6] інтерпритатор виводить на екран символи зі стрічки в діапозоні [0:6]
msg[4:7] виводить на екран символи зі стрічки в діапозоні [4:7]
msg[:12:2] виводить кожен другий симол з діапазона [0:12]
18. Створити змінну words яка містить список слів. Дослідіть операції words.sort() і sorted(words).
14.Напишіть for цикл, який виведе на екран символи стрічки msg по одному на рядок.
/
23.Напишіть програму, яка надрукує слова із стрічки silly за абеткою
/
24.Використайте функцію index() наступним чином ’inexpressible’.index(’e’). Що станеться якщо виконати ’inexpressible’.index(’re’)
/
Функція index(’e’) вказує індекс першого знайденого елемента ’e’ в стрічці. Аналогічно функція index(’re’) вказує індекс першого елемента ’re’.
ВИСНОВОК
На цій лабораторній роботі я ознайомилася із мовою програмування Python, яка є потужною об’єктно-орієнтованою мовою програмування високого рівня з чудовими можливостями для обробки лінгвістичних даних. Також я ознайомилась з типами даних: стрічка, список, кортеж, та навчилась застосовувати операцію поєднання, використовувати зрізи, перетворювати стрічку у список і навпаки, сортувати елементи за абеткою, створювати файл test.py і використовувати його для виконання завдань.