Relationsextraktion mittels Chunking mittels NLTK

9

Ich versuche herauszufinden, wie man den kaskadierenden Chunker von NLTK nach Kapitel 7 des NLTK-Buchs verwendet. Leider habe ich ein paar Probleme, wenn ich nicht-triviale Chunking-Maßnahmen durchführe.

Beginnen wir mit diesem Satz:

"adventure movies between 2000 and 2015 featuring performances by daniel craig"

Ich kann alle relevanten NP finden, wenn ich folgende Grammatik verwende:

grammar = "NP: {<DT>?<JJ>*<NN.*>+}"

Ich bin mir jedoch nicht sicher, wie man verschachtelte Strukturen mit NLTK erstellt. Das Buch gibt das folgende Format, aber es fehlen deutlich einige Dinge (z. B. Wie spezifiziert man eigentlich mehrere Regeln?):

%Vor%

In meinem Fall würde ich gerne Folgendes machen:

%Vor%

Angenommen, ich möchte einen kaskadierten Chunker für meine Aufgabe verwenden, welche Syntax müsste ich verwenden? Ist es mir außerdem möglich, bestimmte Wörter (z. B. "gerichtet" oder "gehandelt") anzugeben, wenn ein Chunker verwendet wird?

    
grill 16.05.2015, 00:16
quelle

1 Antwort

3

Ich kann den Beziehungsextraktionsteil nicht kommentieren, nicht zuletzt, weil Sie keine Angaben darüber machen, was Sie tun möchten und welche Art von Daten Sie haben. Das ist also eine eher unvollständige Antwort.

  

a.) Wie funktioniert das Cascading Chunking in NLTK b.) Ist es möglich, den Chunker wie eine kontextfreie Grammatik zu behandeln, und wenn ja, wie?

Wie ich den Abschnitt "Aufbau einer verschachtelten Struktur mit kaskadierten Chunkern" verstehe / a> im NLTK-Buch können Sie es mit einer kontextfreien Grammatik verwenden, aber Sie müssen es wiederholt anwenden, um die rekursive Struktur zu erhalten. Chunkers sind flach, aber Sie können Chunks auf Chunks hinzufügen.

  

c.) Wie kann ich Chunking zur Relationsextraktion verwenden?

Ich kann nicht wirklich damit sprechen, und wie auch immer, wie gesagt, Sie geben keine Einzelheiten an; Aber wenn Sie mit echtem Text arbeiten, ist mein Verständnis, dass handgeschriebene Regelsätze für any Aufgaben nutzlos sind, wenn Sie nicht ein großes Team und viel Zeit haben. Schauen Sie sich die probabilistischen Tools an, die mit dem NLTK geliefert werden. Es wird viel einfacher, wenn Sie einen annotierten Trainingskorpus haben.

Wie auch immer, ein paar weitere Kommentare zum RegexpParser.

  1. Sie finden viel mehr Anwendungsbeispiele auf Ссылка . (Leider ist es keine echte Anleitung, sondern eine Testsuite.)

  2. Nach können Sie mehrere Erweiterungsregeln angeben so:

    %Vor%

    Ich sollte hinzufügen, dass Grammatiken mehrere Regeln mit derselben linken Seite haben können. Das sollte etwas Flexibilität bei gruppierungsbezogenen Regeln geben, usw.

alexis 26.05.2015, 20:39
quelle