понеділок, 11 січня 2010 р.

Контрольна робота: умови, вимоги, критерії оцінювання

Практична частина контрольної роботи буде проводитись 20-го та 21-го січня згідно розкладу лабораторних робіт.
Тривалість – 45 хвилин.
Максимальна кількість балів -20.
Практична частина контрольної роботи передбачає розробку програми для вирішення певної задачі, умова якої міститься у завданні.
Основні вимоги до розробки програми:
Програма повинна бути оформлена у вигляді окремого модуля (файл *.py). Назва файлу відповідає прізвищу студента.
Програма повинна передбачати збереження результатів роботи у файл (*.dat). Назва файлу відповідає прізвищу студента.
Для розробки програми студент повинен володіти засобами мови програмування
Python та бібліотеки програм NLTK, а саме:
функціями та методами роботи з типами даних : стрічка, список, словник
;
функціями та методами доступу (відкриття, читання) до файлів
;
функціями та методами збереження даних (відкриття, запис) у файл
;
функціями та методами доступу до корпусів текстів
;
функціями та методами для роботи з
WordNet;
функціями та методами для роботи з морфологічно розміченими корпусами текстів.

Критерії оцінки
Виконані всі вимоги: розроблено модуль, який вирішує поставлену задачу і зберігає результати у файл - 20 балів.
Вимоги виконані частково:
відсутній модуль - мінус 3 бали;
в модулі відсутні коментарі - мінус 2 бали;
результати не зберігаються у файл - мінус 3 бали;
задача вирішена частково або неправильно - мінус 10 балів

вівторок, 8 грудня 2009 р.

Задача №15 Лабораторна робота №5

Перепишіть наступний цикл як list comprehension :
>>> words = ['attribution', 'confabulation', 'elocution','sequoia', 'tenacious', 'unidirectional']
>>> vsequences = set()
>>> for word in words:
vowels = []
for char in word:
if char in 'aeiou':
vowels.append(char)
vsequences.add(''.join(vowels))


>>> sorted(vsequences)
['aiuio', 'eaiou', 'eouio', 'euoia', 'oauaio', 'uiieioa']

неділя, 29 листопада 2009 р.

Задача № 10 лабораторна робота №5

Модуль random включає функцію choice(), яка випадковим чином вибирає елементи послідовності. Наприклад, choice("aehh ") буде вибирати один з чотирьох символів. Напишіть програму генерації стрічки з 500 випадково вибраних символів "aehh ". Для поєднання елементів в стрічку використовуйте ''.join() . Нормалізуйте отриманий результат використовуючи split() та join().


import random
aa=[]
for i in range(500):
aa.append(random.choice("aehh "))
ss=''.join(aa)

Лабораторна робота №5

Доброго вечора! Підкажіть, будь ласка, як закінчити отаке завдання:

Створіть файл, який буде містити слова та їх частоту записані в окремих
рядках
через пробіл ( fuzzy 53). Прочитайте цей файл використовуючи
open(filename).readlines().
Розділіть кожну стрічку на дві частини використовуючи split(),
і перетворіть число в ціле значення використовуючи int().
Результат повинен бути у вигляді списку: [['fuzzy', 53], ...].

1. Початок, думаю, мав би бути приблизно такий:
from __future__ import division
import nltk, re, pprint
f = open('f.txt')
p=f.readlines()
print p
['word 34\n', 'day 13\n', 'read 45\n', 'free 15']
p=''word 34\n day 13\n read 45\n free 15'
words=p.split()
words
['word', '34', 'day', '13', 'read', '45', 'free', '15']
2. А перетворити число в ціле значення мені не вдається.
Пробувала робити цикл, в якому перевіряла чи стрічка складається з цифр, і
їх записати окремо, але то не то...

Лабораторна робота №5

Я намагаюся зробити 5 лабораторну, але в мене виникли деякі запитання, і я вирішила звернутися до Вас за допомогою.
1. Я коли вписую from _future_ import division то в мене вибиває помилку...:( не знаю з чим це повязано..
2. Я б дуже Вас просила допомогти з третім завданням 5 лаби. Не знаю як зробити цикл list comprehension.

Лабораторна робота №5

добрий вечір!!!! поясніть будь ласка,чому вираз raw_contents =
urllib.urlopen('http://www.nltk.org/').read(), який заданий в умові першого завдання
лабораторної роботи №5 не працює і видає таку помилку:
raw_contents = urllib.urlopen('http://www.nltk.org/').read()
Traceback (most recent call last):
File "", line 1, in
raw_contents = urllib.urlopen('http://www.nltk.org/').read()
NameError: name 'urllib' is not defined
хоча такого не повинно би було бути,бо цей вираз заміняє вираз:
from urllib import urlopen
url = "http://www.gutenberg.org/files/2554/2554.txt";
raw = urlopen(url).read()
моя функція для цієї задачі така:
def net(url):
raw_contents=urllib.urlopen(url).read() raw=nltk.clean_html(raw_contents)
tokens=nltk.word_tokenize(raw)
return tokens
Допоможіть,будьласка.
і ще, якщо можна підскажіть з 12тим завданням тієї ж 5лабораторної роботи!!! Щиро
вдячна!!!

Хіт сезону - полісемія

Полісемія - це явище коли одне слово має декілька значень ( іменник dog має 7 значень, кількість яких визначити можна як len(wn.synsets('dog', 'n'))). Знайдіть середнє значення полісемії...

Полісемія - багатозначність
Як визначити - поділити сумарну кількість значень слів нп кількість слів.
car має 5 значень dog має 7 значень. середня полісемія цих двох слів (5+7)/2=6
Як вирішити задачу. Рішень є багато, яке з них правільне студенти хай самі аналізують. Я
думаю що правільні значення полісемії дає така програма

Для інших частин мови потрібно тільки замінити n на v-дієслова,a-прикметники,r-прислівники