1)我尝试了名为 /Natural Language Processing 的 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 的许多功能都已弃用。请为提到的所有这些功能提出一条出路。