2008-10-23 3 views
7

Ich bin auf der Suche nach syntaktischen Beispielen oder gebräuchlichen Techniken für die Umwandlung von Wörtern in einen regulären Ausdruck anstelle von Zeichen, bei einer prozeduralen Sprache.Ein "Regex für Wörter" (semantischer Ersatz) - jedes Beispiel Syntax und Bibliotheken?

Zum Beispiel, um das Kopieren zu verfolgen, würde man ein Dokument mit ähnlicher Bedeutung aber mit verschiedenen Wortwahlen erstellen wollen.

Ich möchte diese möglichen Transformationen, die ich auf einen Text-Stream anwenden kann, kurz definieren können.

Eg. "schnell Nomen" zu "schnell Nomen", aber "schnell gehen." (Kein Substantiv danach nicht umgewandelt bekommen
. Oder: zu „Alice Lied singen“ „Lied wird von Alice gesungen werden“

ich erwarten würde dies in grammatischen Kontrolleure durchgeführt werden, wie

AC# Implementierung für diese Art von Sprachverarbeitung wäre wirklich nett, aber ich denke, dass der Großteil aller Bemühungen mit den richtigen Regeln kommt - Die Regeln klar und verständlich zu halten scheint ein Ort zu sein

Antwort

0

Ein guter Ausgangspunkt wäre SIL CARLAStudio für seine "Computer Assisted Relative Language Adaptation" -Suite. Alternativ SIL Adapt It. SIL bietet eine große Auswahl an linguistischer Analysesoftware, die in die Richtung weist, in die Sie zu gehen scheinen. Es ist sicherlich ein großer Sprung von regulären Ausdrücken, denen die Bedeutung egal ist, bis zu etwas, das mit linguistischer Analyse umgehen kann.

+0

Ich vermute, dass ich die Frage falsch formuliert habe, und ich werde versuchen zu verstehen, wo ich falsch gelaufen bin. Ich habe erwartet, dass ich den Regelsatz schreiben würde, ich suche nach Beispielen für Regelsätze und ob es einen Standard gibt, sie zu definieren. –

0

Wenn Sie etwas robusteres für Parsing/Transforming in natürlicher Sprache wünschen, können Sie das C# port of OpenNLP ausprobieren.

2

Ein guter Ort, um mit der Forschung zu beginnen wäre "Word Net" - es ist ein Wörterbuch der Semantik, Wörter zusammen mit ähnlicher Bedeutung gruppieren, und auch die Beziehungen zwischen Wörtern auf nützliche Weise aufzeichnen.

Es gibt eine Reihe von Softwareprojekten, die den Word Net-Korpus nutzen, einer davon könnte sein, was Sie brauchen.

+0

Danke für einen Startpunkt. Können Sie Projekte empfehlen, die den Text basierend auf einer vom Menschen eingegebenen Regel ändern? –

-1

versuchen Ich bin nicht bekannt, dass Syntaxen, die für die englische Sprachverarbeitung existieren wie Sie diskutieren. Sie müssten Ihr eigenes DSL mit einem der Toolsets (z. B. Word Net) erstellen.

2

Wenn Sie nicht auf eine bestimmte Sprache gebunden sind, hat Haskell Aarne Ranta des Grammatical Framework:

http://www.grammaticalframework.org/

, die explizit Parser zu erzeugen, ist so konzipiert, etc. für die Verarbeitung natürlicher Sprache dieser Art.

+1

Der Link ist unterbrochen. Die Website von GF ist http: //www.grammaticalframework.org/ Aarne Rantas Website: http://www.cse.chalmers.se/~aarne/ –

+0

Anscheinend ist die Verbindung verfault. Vielen Dank! Fest –