我已使用nltk.download()
将NLTK数据集下载到D驱动器中的特定文件夹路径中,例如D:\ABC\xyz。我已在环境变量"NLTK_DATA"中设置了此路径。我已经使用nltk.data.path.append("D:ABCxyz")
将此路径包含在python程序中
现在,当我加入声明时:from nltk.corpus import city_database
我收到错误"无法导入名称"city_database"
此数据集位于路径D:\ABC\xyz\nltk_data\corpas\city_database中,但我找不到导入此数据集的正确语法。
city_database
不是语料库,而是模块nltk.sem.chat80
的数据库。
您可以通过调用nltk.sem.chat80.sql_demo()
来访问它。它只是一个演示,所以它对数据库进行筛选,而不是将其作为列表返回。如果你需要做任何更复杂的事情,请查看的文档
http://www.nltk.org/api/nltk.sem.html?highlight=chat80#module-nltk.sem.chat80
例如,要将其作为dict,您可以通过以下方式查询数据库:
capitals = {
country:city for city, country in nltk.sem.chat80.sql_query(
"corpora/city_database/city.db",
"SELECT City, Country FROM city_table"
)
}
但事实上,它更像是使用库的例子,而不是使用完整的数据集,因为它既小又过时(例如莫斯科被列为苏联首都)。