无法从Anaconda Spyder Windows平台中的NLTK数据导入city_database数据集



我已使用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"
    )
}

但事实上,它更像是使用库的例子,而不是使用完整的数据集,因为它既小又过时(例如莫斯科被列为苏联首都)。

最新更新