2016-05-04 4 views
1

Ich habe die NLTK-Datensätze mit nltk.download() in einen bestimmten Ordner Pfad im Laufwerk D heruntergeladen, sagen D: \ ABC \ xyz. Ich habe diesen Pfad in der Umgebungsvariablen 'NLTK_DATA' festgelegt. Ich habe diesen Weg im Python-Programm enthalten nltk.data.path.append("D:\ABC\xyz")Kann city_database Datensatz aus NLTK-Daten in Anaconda Spyder Windows Platform nicht importieren

nun mit, wenn ich die Erklärung enthalten: from nltk.corpus import city_database ich den Fehler city_database ‚kann nicht Namen importieren‚‘‘

Dieser Datensatz liegt in dem Pfad ein: D: \ ABC \ xyz \ nltk_data \ corpora \ city_database, aber ich kann die richtige Syntax zum Importieren dieses Datasets nicht finden.

Antwort

1

Die city_database ist kein Korpus, sondern eine Datenbank für Modul nltk.sem.chat80.

Sie können darauf zugreifen, indem Sie nltk.sem.chat80.sql_demo() anrufen. Es ist nur eine Demo, also prints die Datenbank, anstatt sie als eine Liste zurückzugeben. Wenn Sie etwas anspruchsvolleren Blick auf die Dokumente bei

http://www.nltk.org/api/nltk.sem.html?highlight=chat80#module-nltk.sem.chat80

tun müssen, zum Beispiel als ein dict bekommen können Sie die Datenbank auf diese Weise abfragen:

capitals = { 
    country:city for city, country in nltk.sem.chat80.sql_query(
     "corpora/city_database/city.db", 
     "SELECT City, Country FROM city_table" 
    ) 
} 

Aber in der Tat ist es eher Beispiel der Verwendung der Bibliothek als nützlicher Datensatz, , wie es klein und veraltet ist (zum Beispiel wird Moskau als Hauptstadt der Sowjetunion aufgeführt).

+0

Danke Jakub für die Antwort :). Ich hätte aufgestanden, aber nicht die notwendigen Punkte dafür. Würden Sie einen besseren Weg empfehlen, Städte mit nltk im Text zu identifizieren? –

Verwandte Themen