многие методы/инструменты пакета nltk не работают

1) Я попробовал код из официальной книги по пакету nltk с именем /Обработка естественного языка, но он выдает ошибку

dt = nltk.DiscourseTester(['A student dances', 'Every student is a person'])
print(dt.readings())

я получаю ошибку

NLTK не удалось найти файл mace4! Используйте параметры конфигурации программного обеспечения или установите переменную среды PROVER9.

2) Я попытался использовать другой код из книги:

from nltk import load_parser
parser = load_parser('drt.fcfg', logic_parser=nltk.DrtParser())
trees = parser.parse('Angus owns a dog'.split())
print(trees[0].node['sem'].simplify())

я получил ошибку

AttributeError: модуль «nltk» не имеет атрибута «DrtParser»

3) Я попробовал следующий код:

    from nltk.sem import cooper_storage as cs
sentence = 'every girl chases a dog'
trees = cs.parse_with_bindops(sentence, grammar='storage.fcfg')
semrep = trees[0].label()
cs_semrep = cs.CooperStore(semrep)
print(cs_semrep.core)

for bo in cs_semrep.store:
    print(bo)
cs_semrep.s_retrieve(trace=True)
for reading in cs_semrep.readings:
    print(reading)

Это сработало, но все же выдало следующую ошибку:

AttributeError: объект «CooperStore» не имеет атрибута «ядро»

4) Я попробовал другой код из книги:

from nltk import load_parser
parser = load_parser('simple-sem.fcfg', trace=0)
sentence = 'Angus gives a bone to every dog'
tokens = sentence.split()
trees = parser.parse(tokens)
for tree in trees:
    print(tree.node['SEM'])

Я получил следующую ошибку:

NotImplementedError: используйте label() для доступа к метке узла.

Пожалуйста, дайте мне знать, что делать? Являются ли эти функции устаревшими, потому что я слышал, что многие функции nltk устарели. Пожалуйста, предложите выход для всех упомянутых функций.


person Arsalan Ahmad Ishaq    schedule 28.02.2019    source источник
comment
С какими версиями Python и NLTK вы работаете?   -  person razimbres    schedule 28.02.2019
comment
Python 3.7 и НЛТК 3.4   -  person Arsalan Ahmad Ishaq    schedule 28.02.2019


Ответы (1)


Я нашел ответ, на самом деле я следовал коду из книги, а не обновленной онлайн-версии книги NLTK. Итак, после обновленной версии проблемы были решены.

person Arsalan Ahmad Ishaq    schedule 14.03.2019