DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

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

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до лабораторної роботи № 2 з курсу «Комп’ютерна лінгвістика» на тему: «Вивчення бібліотеки прикладних програм NLTK, для опрацювання текстів природною мовою. Основи програмування на мові Python (частина 2)»

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

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

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

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

Про що ця робота

У звіті досліджено бібліотеку NLTK для обробки текстів природною мовою та основи програмування мовою Python. Вивчено умовні конструкції, керуючі структури, частотний розподіл слів та побудову колокацій.

У роботі розглядаються

  • Комп'ютерна лінгвістика
  • Бібліотека NLTK
  • Мова програмування Python
  • Частотний розподіл текстів
  • Умовні конструкції та цикли
  • Колокації та біграми
  • Обробка текстових даних

Зміст і розділи

  1. Мета роботи
  2. Короткі теоретичні відомості
  3. Виконання практичних завдань
  4. Самостійно
  5. Висновок
Для кого:Студенти технічних спеціальностей, які вивчають комп'ютерну лінгвістику та програмування на Python.
Викладачі:Романюк А. Б.

Ключові поняття

NLTKPythonFreqDistКолокаціїБіграмиЧастотний розподілУмовні виразиСловникОбробка природної мовиСписок

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

Міністерство освіти та науки України Національний університет “Львівська політехніка” інститут комп’ютерних наук та інформаційних технологій Кафедра “Системи автоматизованого проектування” Звіт до лабораторної роботи № 2 з курсу «Комп’ютерна лінгвістика» на тему: «Вивчення бібліотеки прикладних програм NTLK, для опрацювання текстів природною мовою. Основи програмування на мові Python(частина 2)» Мета роботи: Вивчення основ програмування на мові Python. Ознайомлення з контрольними структурами та класом FreqDist. Короткі теоретичні відомості Програми, які згадувалися в лабораторній роботі №1, доволі прості, але дозволяють здійснювати операції над послідовностями слів і зокрема над кожним із них. Ми працювали зі списками, які містять декілька слів , але є потреба працювати з такими списками, які містять тисячі слів . Більшість мов програмування дозволяють виконання окремих блоків програми, коли використовуються умовні вирази або if твердження. If твердження, так як і For твердження - це керуючі (управляючі) структури, які керують виконанням програми. Вони вибирають, яка частина коду в тілі програми буде виконуватися. Стрічка з операторами If та For повинна завершуватися двокрапкою. Якщо потрібно, щоб щось відбувалося, коли умовний вираз не справджується, використовується оператор else в If – твердженні. Python підтримує такий тип даних, як словник, і він використовується для встановлення відповідності (відображення) між довільними типами даних. Визначимо pos як пустий словник і додамо до нього значення, які встановлюють частиномовну приналежність певних слів . Значення додаються із використанням квадратних дужок. Для автоматичного визначення слів, які є найбільш інформативними для текстів певного жанру або певної тематики спочатку інтуітивно виникає думка побудувати частотний список або частотний розподіл. Частотний розподіл вказує на частоту з якою в тексті зустрічається кожне зі слів. Такий частотний список називають розподілом тому, що він вказує яким чином загальна кількість слів розподіляється між словниковими статями (оригінальні слова) в тексті. Враховуючи що побудова частотних розподілів часто необхідна при обробці природної мови в NLTK реалізовано окремий клас FreqDist в модулі nltk.probability . Колокація - це словосполучення яке зустрічається дуже часто. Для того щоб побудувати колокації спочатку потрібно побудувати на основі тексту пари слів, або біграми. Виконання практичних завдань Варіант 2 [2] Створіть змінну sentence і присвойте їй значення ‘she sells sea shells by the sea shore’ та напишіть фрагмент програми для виведення на екран всіх сліва, довжина яких більша ніж 4 символи.  [6] Перегляньте результати виконання умовних виразів: ’row’ in ’brown’ та ’row’ in [’ brown’, ’cow’]. Напишіть програму для перевірки наявності в стрічці sent=’ ’colorless green ideas sleep furiously’ окремих слів та підстрічок.  [7] Виконати настіпні приклади і пояснити чому отримані різні результати (різні значення змінних) sorted(set([w.lower() for w in text1])) sorted([w.lower() for w in set(text1)])  Результати різні тому, що у змінній а спочатку відбувається пошук малих букв, а тоді виконується команда set, яка видаляє ті ж самі елементи. У змінній b спочатку виконується команда set (text1), яка видаляє ті ж самі елементи (S і s – це два різні елементи), а тоді повертається до маленьких літер, тому і величина більша. [12] Використайте вираз sum([len(w) for w in text1]) для знаходження середньої довжини слів в тексті.  [13] Перевірте виконання виразу set(sent3) < set(text1). Змініть аргументи функції. Результати поясніть.  У першому варіанті True тому, що набір унікальних елементів у реченні 3 менший ніж у всьому тексті 1. У другому варіанті все навпаки. [15] Побудуйте колокації для текстів №1 та №4. Результати порівняйте.   У двох прикладах наведено словосполучення,які зстрічаються дуже часто у поданих текстах. Колокації тексту 1 свідчать, що основна сюжетна лінія грунтується на подіях, які повязані з полюванням на великого кита. Колокації тексту 4 – це словосполучення, які найчастіше вживають американські президенти під час інавгурації. Самостійно:  За алфавітом посортовано слова в тексті 7, які складаються зі знаку ‘-‘ та слова ‘index’. Посортовано слова у тексті 3, які починаються з великої букви і складаються з більш ніж 10 символів. Посортовано слова у тексті 7, які не починаються з маленьких літер. Посортовано слова у тексті 2, які містять елементи ‘cie’ чи ‘cei’.  Знайдено найдовші слова у текстах 5 та 7. У тексті 4 немає слів довших за 20 символів. Висновок На лабораторній роботі ознайомилась циклами for та if , з функціями, якіпревіряють властивості окремих слів, з класом FreqDist для простих статистичних досліджень, частотним розподілом, з записом [f(w)for…] or [w.f() for…], який називвється “list comprehension” і є зручним у використанні. Навчилась будувати графічний частотний розподіл і графічний частотний розподіл з накопиченням, а також створювати біграми та колокації для текстів.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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