Dies ist ein ziemlich komplexes und nicht-triviales Problem. Wenn Ihre Domäne jedoch begrenzt ist (Mitarbeiterdatenbankabfragen usw.) und Sie nur eine begrenzte Anzahl von Äußerungen als Eingabe erwarten, können Sie ein einfaches regelbasiertes System erstellen.
Die einfachste Lösung wäre, eine Reihe von regulären Ausdruck-basierten Transformationsregeln zu entwickeln. Zum Beispiel nehmen wir an, dass das nach dem Wort (war | was) erscheinende Wort das Verb ist. Sie könnten ein Wörterbuch aller häufigen Verben und ihrer Zuordnungen zu Ihren Datenbankfeldern behalten. Hier würde "born" einem Feld zugeordnet, das zum Beispiel DATE_OF_BIRTH heißen könnte.
Eine ausgefeiltere regelbasierte Lösung besteht darin, einen Parser für die Sprache Ihrer Wahl zu finden oder zu erstellen und die Konvertierung basierend auf der Ausgabe des Parsers und Ihrer Regelbasis durchzuführen. Z.B. Der Parser würde ausgeben, was das Satzprädikat, das Subjekt usw. ist. Sie hätten eine Reihe von Regeln, die diese Teile von Sätzen neu anordnen würden, um eine imperative Struktur zu erzeugen.
Wenn Sie die Idee, eine Regelbasis manuell zu entwickeln, nicht hassen, können Sie immer den maschinellen Lernansatz ausprobieren und ein statistisches System trainieren. Hier müssen Sie eine Fragedatenbank entwickeln, die die meisten Fragetypen abdeckt, die Sie erwarten könnten) und ein statistisches Modell darauf trainieren.
Wenn ich vorschlagen würde, eine einzelne Bibliothek/Werkzeug zum Experimentieren mit einem der oben genannten Ansätze würde ich OpenNLP sagen.
ich will auch eins ... leider gibt es keine guten ... – alvas
Nachdem ich Ihre Frage untersucht hatte, ging ich weiter, um einige solche Fragen zu analysieren. Es scheint mir, dass ein einfacher heuristikbasierter Ansatz ausreichen sollte, wenn das Subjekt (in Ihrem Beispiel "Mitarbeiter") im Fragesatz vorhanden ist. Haben Sie versucht, die Stanford/Berkeley-Parser zu betrachten? –