2014-03-03 17 views
5

Q1.Ich versuche, angespannt von einem vollständigen Satz, weiß nur nicht, wie es mit nlp zu tun. Jede Hilfe wird geschätzt.Finden von Tense eines Satzes mit Stanford nlp

Q2. Was alle Informationen aus einem Satz mit nlp extrahiert werden können?

Zur Zeit kann ich, erhalte ich: 1.Voice Satz 2.subject Objekt Verb 3.POS Tags.

Weitere Informationen können extrahiert werden, lassen Sie es mich bitte wissen.

+0

Ich möchte komplette Tempus zB: einfache Gegenwart ODER Gegenwart perfekte kontinuierliche Tempus ... soweit ich weiß kann ich nicht einfach von POS-Tags – swapyonubuntu

+0

können Sie bitte lassen Sie mich wissen, wie bestimmen Sie die Stimme des Satzes, Subjekt Objekt Verb , etc ... Ich benutze NLTK und ich bin in der Lage, die POS-Tags zu bekommen, aber nicht die Stimme von Satz oder Thema, Objekt – JKC

+0

Dafür können Sie Parse-Baum und erhalten Sie alle Sachen, die Sie wollen. – swapyonubuntu

Antwort

12

The Penn Baumbank definiert und VBDVBN als die Vergangenheitsform und dem Partizip eines Verbs, respectively. In vielen Sätzen genügt es, einfach die POS-Tags zu erhalten und auf das Vorhandensein dieser beiden Tags zu prüfen. In anderen jedoch kann es Verben in mehreren Zeitformen geben, während der Satz als Ganzes in der Vergangenheitsform ist. In diesen Fällen müssen Sie die Wahlkreisanalyse verwenden. Stanford NLP bietet auch einen Parser. Sie können dies verwenden, um die äußerste Verbalphrase (markiert als VP) zu erkennen. Wenn eine Vergangenheits-/Partizipform eines Verbs ein Vorfahre aller anderen Verben in der Verbalphrase ist, sollte die Zeitform des Satzes als Vergangenheitsform markiert sein.

Das Beispiel von Dror ergibt dies:

(ROOT 
    (S 
    (NP (PRP I)) 
    (VP (VBD did) (RB n't) 
     (VP (VB want) 
     (NP (DT the) (NN dog) 
      (S 
      (VP (TO to) 
       (VP (VB eat) 
       (NP (PRP$ my) (NN homework)))))))) 
    (. .))) 

Obwohl essen nicht Vergangenheit ist, wird die oberste Verb im Verbphrase korrekt getaggt VBD (d Imperfekt).

bearbeiten (einige zusätzliche Informationen):

Komplexe Sätze haben, was die primäre angespannt genannt wird und eine Sekundär angespannt. Für Sätze wie "Wenn ich dort bin, wäre er schon gegangen", gibt es keine "komplette Zeitform". Sie können nur zwischen dem primären und dem sekundären unterscheiden.

Wenn Sie Informationen über perfekt wollen, kontinuierliche usw., dann werden Sie haben Regeln für die POS-Tags abzuleiten basiert. Z.B. ein Hilfsverb im Präsens, gefolgt von einem Verb in der Vergangenheitsform, drückt das gegenwärtige Perfekt aus (wenn es offensichtliche Gegenbeispiele gibt, füge bitte zu der Antwort hinzu ... Ich kann mir im Moment keine vorstellen).

+0

Ich möchte komplette Tempus zB: einfache Gegenwart ODER Gegenwart perfekte kontinuierliche Tempus ... soweit ich weiß kann ich einfach nicht von POS-Tags – swapyonubuntu

+0

Das ist wahr, Sie können es nicht einfach von den POS-Tags bekommen. Aber Sie * können * ein viel genaueres Ergebnis erhalten, indem Sie die Phrasenstrukturen verwenden, die in Syntaxbäumen wie dem, den meine Antwort bietet, dargestellt werden. Es wird jedoch nicht funktionieren für Sätze wie "Wenn ich dort ankommen würde, wäre er schon gegangen." –

+0

Aber ich möchte angespannt für Sätze ... – swapyonubuntu

3

Grundsätzlich wird die Zeitform eines Satzes im Englischen durch die Form des Verbs bestimmt, das den Kopf des Satzes darstellt. Sie können mehr über dieses Thema in diesem Post über The Contextors’ Tense Conjugator lesen. Das Identifizieren des Kopfverbs und seiner Form ist mit einem Parser möglich.

Die Art von Information, die aus einem Satz extrahiert werden kann, hängt von der von Ihnen durchgeführten Analyse ab. Sie können andere Komponenten des Satzes extrahieren, wie zB Präpositionalkomplemente, Prädikativkomplemente und Adjuncts, sowie andere grammatikalische Attribute wie Aspekt, Sekundärform, Modalität und Polarität. Einige Sätze enthalten eingebettete Klauseln, wie im folgenden Beispiel aus der Contextors API. In diesem Fall möchten Sie diese Informationen möglicherweise auch aus der eingebetteten Klausel extrahieren.

enter image description here

+0

Bitte schlagen Sie eine andere kostenlose API dies ist in der Beta und vielleicht nicht Opensource – swapyonubuntu

+0

Sie können Stanford NLP, Freeling, Gate, NLTK verwenden. –

1

ich abschließen wollen angespannt zB: Präsens ODER Futur angespannt ... soweit ich weiß, dass ich nicht einfach von POS-Tags erhalten können

Beachten Sie, dass, was Sie in Ihren obigen Beispielen haben sind keine Beispiele für Tempus, sondern eher Beispiele für bestimmte Tempus/Aspekt-Konfigurationen. Während die Zeitform (Vergangenheit, Gegenwart, Zukunft) eine Eventualität in der Zeit darstellt, beziehen sich Aspektkategorien (progressiv, kontinuierlich, perfektiv und Ähnliches) eher auf den Fluss der Zeit (dh ob sie begrenzt/vervollständigt ist, ob es war eine kontinuierliche Veranstaltung, usw.). Somit sind Tempus und Aspekt zwei verschiedene grammatische Kategorien. Im Englischen sind beide Teil des verbalen Komplexes, was es leicht macht, sie zu verwirren und sie in einer einzigen Methode zu finden/zu analysieren. In vielen anderen Sprachen werden sie getrennt voneinander realisiert (unterschiedliche strukturelle Positionen, funktionale Elemente, Konstruktionen usw.). In acht nehmen.