пʼятницю, 2 квітня 2010 р.

Складнощі з вивченням розділу "Learning to Classify Text"

При вивчення розділу "Learning to Classify Text" студенти зіткнулися із значними труднощами. В наступних дописах будуть розглядатися задачі з цього розділу.

2 коментарі:

  1. Якщо матимете час і можливість поясніть будь-ласка задачу № 6))))

    ВідповістиВидалити
  2. В мене виникла проблема з 9 завданням. Можливо щось не так роблю. Але я зрозуміла, що потрібно побудувати для даного корпусу класифікатор, який може спрогнозувати, який прийменник використовується для обєднання даної пари іменників. Я почала так:

    >>> from nltk.corpus import ppattach
    >>> ppattach.attachments('training')

    [PPAttachment(sent='0', verb='join', noun1='board',
    prep='as', noun2='director', attachment='V'),
    PPAttachment(sent='1', verb='is', noun1='chairman',
    prep='of', noun2='N.V.', attachment='N'),
    ...]

    >>> inst = ppattach.attachments('training')[1]
    >>> (inst.noun1, inst.prep, inst.noun2)

    ('chairman', 'of', 'N.V.')

    >>> nattach = [inst for inst in ppattach.attachments('training')
    if inst.attachment == 'N']
    >>> size = int(len(nattach) * 0.1)
    >>> train_set, test_set = nattach[size:], nattach[:size]
    >>> classifier = nltk.NaiveBayesClassifier.train(train_set)

    Traceback (most recent call last):
    File "", line 1, in
    classifier = nltk.NaiveBayesClassifier.train(train_set)
    File "C:\Python26\lib\site-packages\nltk\classify\naivebayes.py", line 192, in train
    for featureset, label in labeled_featuresets:
    TypeError: iteration over non-sequence

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

    ВідповістиВидалити