Nltk: Der Verbnet-Korpus ist veraltet

Erstellt am 5. Mai 2018  ·  13Kommentare  ·  Quelle: nltk/nltk

Der nltk-Datenindex (https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml) zeigt verbnet auf Version 2.1. Die neueste Definition von verbnet ist 3.2.

Die neueste Version enthält aktualisierte Rahmenbeschreibungen, die viel mehr Informationen über die Phrasenstruktur enthalten. Beispielsweise lautet die primäre Beschreibung eines Frames aus der Klasse future_having-13.3 in der neuesten Version NP V NP-Dative NP und beschreibt die Struktur des Frames als (Nominalphrase, Verb, Nominalphrase (Dativ), Substantiv- Phrase) in Version 2.1 heißt es nur Dative .

bug corpus enhancement nltk_data

Hilfreichster Kommentar

@ Verbesserungen
Es funktioniert für das, wofür ich es benutze. Lassen Sie mich Ihnen meinen Code zeigen:

import nltk
v3 = nltk.corpus.util.LazyCorpusLoader(
    'verbnet3', nltk.corpus.reader.verbnet.VerbnetCorpusReader,
    r'(?!\.).*\.xml')
v3.classids('add') # returns ['mix-22.1-2', 'multiply-108', 'say-37.7-1']

Damit dies funktioniert, müssen Sie verbnet3 von hier herunterladen . Entpacken Sie diese Datei im Ordner ~/nltk_data/corpora~. When unzipped it should create a new folder ~ / nltk_data / corpora / verbnet3 which contains all the Verbnet3 definitions. Then you should be able to run the code above. Notice that for Verbnet 2 (the default) the code v3.classids ('add') `gibt nur die erste Klasse zurück (mix-22.1-2).

Da das im Grunde alles ist, was ich mit Verbnet3 verwende, habe ich die anderen APIs nicht getestet, aber die classids -Methode wurde an vielen verschiedenen Wörtern getestet und sie funktionieren alle. Ich hoffe das hilft!

Alle 13 Kommentare

@agodbehere , danke, dass hast . Ich habe überprüft, dass der vorhandene Verbnet 2-Korpusleser die Verbnet 3-Daten beschädigt, sodass beide in der Korpus-Sammlung nebeneinander leben müssen.

Der nächste Schritt besteht darin, dass jemand einen entsprechenden Korpusleser nltk.corpus.verbnet3 beisteuert, der hoffentlich einen Teil des vorhandenen Codes gemeinsam nutzen kann.

Wir müssen beide für eine Weile unterstützen.

@stevenbird , welchen brechenden Fall haben Sie für die Verwendung des vorhandenen Korpuslesers mit Verbnet 2 gefunden? Ich habe die Testsuite nach dem Aktualisieren des Korpus nicht ausgeführt, aber für meinen Anwendungsfall (Anfordern von Klassen und Frames) funktioniert der vorhandene Korpusleser einwandfrei.

Das Problem besteht mit Verbnet 3. Wir benötigen einen anderen Korpusleser für
Das.

Am Mittwoch, 16. Mai 2018, 10:45 Uhr Andrew Godbehere [email protected]
schrieb:

@stevenbird https://github.com/stevenbird , was für ein Fall haben Sie gebrochen
Finden Sie für die Verwendung des vorhandenen Korpus-Readers mit Verbnet 2? Ich habe das nicht ausgeführt
Testsuite nach dem Aktualisieren des Korpus, aber für meinen Anwendungsfall (anfordern
Klassen und Frames) funktioniert der vorhandene Korpusleser einwandfrei.

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/nltk/nltk/issues/2015#issuecomment-389363521 oder stumm schalten
der Faden
https://github.com/notifications/unsubscribe-auth/AADYbsgbjtFTKsyamRPG0OpJuWnF3UJ0ks5ty33DgaJpZM4Tzc0d
.

@stevenbird @agodbehere Hallo, ich arbeite am VerbNet-Projekt bei CU Boulder und würde gerne Code für einen Korpusleser für VerbNet 3+ beitragen und pflegen.

@amosleokim : danke, das wäre willkommen!

Sie können sehen, dass wir hier verbnet (2) und verbnet3 Daten haben .

Ich schlage vor , wir einen Eintrag für hinzufügen verbnet3 hier

Und dann finden Sie heraus, wie Sie verbnet.py erweitern verbnet als auch verbnet3 .

Wie klingt das? Wir müssen beide gleichzeitig unterstützen und das Verbnet 2 (letztendlich) verwerfen.

Wir haben einen NLTK-Slack-Kanal, in dem wir bei Bedarf Details besprechen können. Vielen Dank!

@stevenbird Das klingt gut für mich! Wenn Sie mir einen Einladungscode an den Slack-Kanal senden können, hüpfe ich, damit wir mit dem Nitty Gritty beginnen können.

Fortschritte in diesem Bereich? Ich versuche, Verbnet für eine Recherche zu verwenden, und die Ausgabe, die ich von den Methoden classids erhalte, scheint seltsam .

Weitere Informationen finden Sie unter https://github.com/nltk/nltk/issues/2015#issuecomment -390826015

Danke @stevenbird , die ältere Version schien die Ursache des Problems zu sein. Ich konnte verbnet3.zip manuell herunterladen und mit dem Reader für verbnet 2.1 in nltk lesen.

@salompas Funktioniert die Verbnet-API in NLTK mit verbnet3?

@ Verbesserungen
Es funktioniert für das, wofür ich es benutze. Lassen Sie mich Ihnen meinen Code zeigen:

import nltk
v3 = nltk.corpus.util.LazyCorpusLoader(
    'verbnet3', nltk.corpus.reader.verbnet.VerbnetCorpusReader,
    r'(?!\.).*\.xml')
v3.classids('add') # returns ['mix-22.1-2', 'multiply-108', 'say-37.7-1']

Damit dies funktioniert, müssen Sie verbnet3 von hier herunterladen . Entpacken Sie diese Datei im Ordner ~/nltk_data/corpora~. When unzipped it should create a new folder ~ / nltk_data / corpora / verbnet3 which contains all the Verbnet3 definitions. Then you should be able to run the code above. Notice that for Verbnet 2 (the default) the code v3.classids ('add') `gibt nur die erste Klasse zurück (mix-22.1-2).

Da das im Grunde alles ist, was ich mit Verbnet3 verwende, habe ich die anderen APIs nicht getestet, aber die classids -Methode wurde an vielen verschiedenen Wörtern getestet und sie funktionieren alle. Ich hoffe das hilft!

@ Salompas Hallo, danke für deine Lösung! Welche Version von verbnet3 ist dein 'verbnet3'? Ist es Version 3.3 oder 3.2?

@ Salompas Hallo, danke für deine Lösung! Welche Version von verbnet3 ist dein 'verbnet3'? Ist es Version 3.3 oder 3.2?

Hey @ songhee-kim, es ist 2 Jahre her, seit ich daran gearbeitet habe, also weiß ich nicht genau, welche Version ich hatte.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen