суботу, 17 жовтня 2009 р.

Визначення середнього значення полісемії

import nltk
from nltk import wordnet as wn
#можна працювати із запропонованою конструкцією
a=wn.synsets('car','n')
>>> a
[Synset('car.n.01'), Synset('car.n.02'), Synset('car.n.03'), Synset('car.n.04'), Synset('cable_car.n.01')]
>>> len(a)
5
#а я вирішив цю задачу трохи інакше (результати порівняємо і обговоримо на заняттях)
#коментарів не даю, кожен аналізує чи вірні будуть в мене результати
>>> d=[]
>>> for i in wn.all_synsets('n'):
for j in i.lemma_names:
d.append(j)
>>> fd=nltk.FreqDist(d)
>>> poly_n=len(fd)/len(fd.keys())

неділю, 11 жовтня 2009 р.

задача №10 третя лабораторна робота

Якщо у когось виникли труднощі то я пропоную наступний варіант:
>>> from nltk.corpus import brown
>>> news_text = brown.words(categories='news')
>>> a=bigrams()
>>> fdist=nltk.FreqDist() #1
>>> for i, j in a: #2
s=i,j
print s
if i.lower() not in nltk.corpus.stopwords.words('english')and j.lower() not in nltk.corpus.stopwords.words('english'):
fdist.inc(s) #3

#1 Будуємо частотний розподіл, спочатку він пустий
#2 Ітерації по кортежах списку біграмів (окремо розглядаємо елементи кортежів)
#3 Збільшуємо значення частотного для даного s прикладу(події)