Eine große Liste von Substantiven (oder Adjektiven) in Python mit NLTK erhalten; oder Python Mad Libs

8

Wie diese Frage interessiert mich eine große Liste von Wörtern nach Wortart zu erhalten (eine lange Liste von Substantiven; eine Liste von Adjektiven), die programmatisch anderswo verwendet werden soll. Diese Antwort hat eine Lösung mit der WordNet-Datenbank (im SQL-Format) .

Gibt es eine Möglichkeit, eine solche Liste mit den in Python NLTK integrierten Korpora / Tools zu erstellen? Ich könnte eine große Menge Text aufnehmen, analysieren und dann die Substantive und Adjektive speichern. Aber gibt es angesichts der Wörterbücher und anderer eingebauter Werkzeuge eine klügere Möglichkeit, einfach die Wörter zu extrahieren, die bereits in den NLTK-Datensätzen vorhanden sind, kodiert als Substantive / Adjektive (was auch immer)?

Danke.

    
cforster 19.07.2013, 18:33
quelle

3 Antworten

6

Es ist erwähnenswert, dass Wordnet eigentlich eines der Korpora ist, die standardmäßig im NLTK-Downloader enthalten sind. Sie könnten also die Lösung, die Sie bereits gefunden haben, einfach verwenden, ohne dass Sie irgendwelche Räder neu erfinden müssen.

Zum Beispiel könnten Sie so etwas tun, um alle Nomen-Synsets zu erhalten:

%Vor%

Dieses Beispiel gibt Ihnen jedes Nomen, das Sie wollen, und es gruppiert sie sogar in ihre Synsets, so dass Sie versuchen können, sicher zu sein, dass sie im richtigen Kontext verwendet werden.

    
Slater Victoroff 19.07.2013, 18:43
quelle
1

Sie sollten die Moby Teile des Sprachprojekts Daten verwenden. Seien Sie nicht darauf fixiert, nur das zu verwenden, was direkt in NLTK standardmäßig ist. Es wäre wenig Arbeit, die Dateien dafür herunterzuladen und ziemlich einfach mit NLTK zu parsen, sobald sie einmal geladen sind.

    
ely 19.07.2013 18:39
quelle
1

Ich sah eine ähnliche Frage Anfang dieser Woche (kann den Link nicht finden), aber wie ich damals sagte, glaube ich nicht, eine Liste von Substantiven / Adjektiven / was auch immer zu halten, ist eine großartige Idee. Dies liegt vor allem daran, dass das gleiche Wort abhängig vom Kontext unterschiedliche Sprachteile haben kann.

Wenn Sie jedoch immer noch auf die Verwendung dieser Listen eingestellt sind, dann würde ich es so machen (ich habe keine funktionierende NLTK-Installation auf diesem Rechner, aber ich erinnere mich an die Grundlagen):

%Vor%

Hoffe, das hilft

    
inspectorG4dget 19.07.2013 18:45
quelle

Tags und Links