Ich bin ein Anfänger mit Ruta und die Idee, die ich jetzt zu begreifen bin versucht, wie in UIMA-Umgebung (in Ebene Java), die Klassenvariablen/Sammlungen zu handhaben. Ich habe versucht, den Beispielen zu folgen, die in der documentation gegeben werden; aber die Ruta-Regeln werden entweder extern als Skriptdatei oder direkt "vor Ort" mit Ruta.apply (cas, rule) angewendet. Keine dieser Optionen ermöglicht es mir, beispielsweise ein Dateilexikon oder vordefinierte Java-Sammlungen zu verwenden. Könnten Sie mir bitte irgendwelche Tipps/Lösungen für mein Problem geben?Ruta in der UIMA-Umgebung. Arbeiten mit predifined Sammlungen/Sätzen und Lexika im Klar Java
Im Allgemeinen benutze ich UIMA AEs, um Sätze zu parsen und dann die erzeugten Anmerkungen innerhalb des Ruta-Skripts zu verwenden, um bestimmte Typen von Sätzen basierend auf ihrer syntaktischen Struktur zu vergleichen. Daher sind die Ruta-Regeln, die ich schreibe, ziemlich einfach, aber wegen der POStags-Menge sperrig. Also würde ich gerne etwas Flexibilität in Ruta bekommen. Ich wäre dankbar, wenn es auch Vorschläge zu diesem Thema geben würde.
EDIT: Zum Beispiel habe ich eine Regel, die eine Reihe von POSTags von einem AE (Stanford Parser) erstellt berücksichtigt. So, um die gewünschte Satzstruktur übereinstimmen ich es in der folgenden Art und Weise hart codieren würde (Ich weiß, es ist die naive Art und Weise):
String rutaSampleRule = "BLOCK(ForEach) Sentence{}{Document{-> Asyndeton} " + "<- {((Constituent.label==\"NN\" COMMA Constituent.label==\"NN\") |" + " (Constituent.label==\"NNP\" COMMA Constituent.label==\"NNP\") |" + " (Constituent.label==\"NNPS\" COMMA Constituent.label==\"NNPS\") |" + " (Constituent.label==\"NNS\" COMMA Constituent.label==\"NNS\"));};}";
Ruta.apply(cas, rutaSampleRule);
Nun, was ich möchte, statt haben, ist eine Sammlung zu erklären von solchen POStags (dh NNS, NN), iteriere darüber in Ruta und passe die entsprechende Satzstruktur an (hier, aufeinanderfolgende Nomen). Dies würde meine Regeln viel flexibler und praktischer machen.
wäre die zweite Option Lexikons sein statt Sammlung zu verwenden, aber ich dachte, dass sie (mit MARKFAST) (nicht schlicht Java) innerhalb Ruta nur separat verwendet werden; zumindest konnte ich keine Beispiele finden.
Also, um meine Frage zusammenzufassen: Ist es möglich (und wie wenn ja), in einfachen Ruta-Skripten (die keine neuen Typen einzuführen), mit extern definierten Sammlungen/Lexika in Java zu arbeiten?
Ich hoffe, ich kann es in einer besseren Art und Weise zu erklären, verwaltet. Danke im Voraus.
EDIT 1: Ich habe herausgefunden, wie man Lexika in Plain Java verwendet, nur indem man mit Pfaden und dem example im Handbuch herumspielt. Trotzdem würde ich gerne wissen, wie man die Werte den Variablen unter Verwendung der Konfigurationsparameter zuordnet?
ich, was Sie tun wollen und was nicht vollständig verstehen die Begrenzung ist. Ein Dateilexikon kann eingeschlossen werden, z. B. WORDTABLE/MARKFAST. Was möchten Sie mit vordefinierten Java-Sammlungen in Ruta machen? Sie müssen die Informationen entweder in einer Feature-Struktur speichern oder die Werte den Variablen mithilfe der Konfigurationsparameter zuweisen. Können Sie Ihr Problem näher erläutern, z. B. anhand eines Beispiels? –
Ich habe ein bisschen meine Frage umformuliert; Die Hoffnung ist jetzt klar. Vielen Dank. – user3711889