Gibt es einen algorithmischen Ansatz zum Identifizieren der in einem Absatz angegebenen Daten, die mit bestimmten Ereignissen (Ausdrücken) im Absatz korrelieren?
Betrachten Sie beispielsweise den folgenden Absatz:
Im Juni 1970 leistete der große Führer den Eid. Erst nach dem Tod des Staatsministers im Mai 1972 übernahm er die Leitung des Landes. Während er bis Mitte 1980 von der Bevölkerung unterstützt wurde, begann sein Einfluss danach zu sinken.
Gibt es einen Algorithmus (deterministisch oder stochastisch) #, der ein 2-Tupel (Datum, Ereignis) erzeugen kann, bei dem das Ereignis laut Absatz an dem Datum aufgetreten sein muss ? Im obigen Fall:
- (Juni 1970, großer Führer schwur)
(Mai 1972, übernahm die Zügel)
oder noch besser
- (Mai 1972, der große Führer übernahm die Zügel)
- (1980, Einflussverlust)
Späterer Zusatz
(<= May 1972, death of the Minister of State)
oder(<= Mid-1980, [the great leader] enjoyed popular support)
.Antworten:
Im Allgemeinen wird das Problem des Identifizierens von Daten und anderen zeitlichen Markierungen im Text als das Problem des Extrahierens von zeitlichen Referenzen bezeichnet . Über die verlinkte Suche gelangen Sie zu entsprechenden Artikeln.
quelle
Da Sie nach einem algorithmischen Ansatz fragen, werde ich so hartnäckig sein wie ein Algorithmus. Es tut mir leid, diese Frage so zu behandeln, aber da es sich nicht um ein komplexes theoretisches Problem handelt, werde ich die möglichen Ansätze zusammenfassen.
Frage: Können Sie mir eine algorithmische Definition eines Datums und eines bestimmten Ereignisses geben?
Wenn Sie können: Da Ihre Definition algorithmisch ist, handelt es sich wahrscheinlich um eine Art formale Grammatik , und Ihr Problem wird darin bestehen, diese Grammatik so abzustimmen, dass jeder zu berücksichtigende Fall erfasst wird. (Ich bin interessiert, ob Sie mir eine genaue Definition geben können, die keine formale Grammatik ist.)
Wenn Sie nicht können, können Sie zumindest Beispiele finden. Alles klar dann. Der beste und einzige Ansatz, den ich mir vorstellen kann, sind maschinelle Lernalgorithmen, die Sie trainieren müssen, um Ihre Daten und dann Ihre Ereignisse zu erkennen. (Mit einem Korpus von Sätzen, die von Hand kommentiert wurden) Dies ist jedoch ziemlich übertrieben im Vergleich zu einigen großen handgemachten regulären Ausdrücken, die wahrscheinlich den Job machen werden. Wenn Sie es wirklich wollen, denke ich, ist diese Art von Regexp, die als Parameter für den Lernalgorithmus angegeben wird, am effizientesten. Sie sollten jedoch Experten für maschinelles Lernen fragen.
Viel Glück damit, es ist viel einfacher, nur darüber zu sprechen (in beiden Fällen).
quelle