Generieren Sie Sätze nach benutzerdefiniertem Vokabular/Regeln

Ich suche nach einem Tool, das Text (natürliche Sprache) gemäß einer Liste von Wörtern und ihren syntaktischen/morphologischen Regeln generieren kann, die beide von mir angegeben werden.

So könnte ich zum Beispiel das Wort "Tabelle" hinzufügen, es in die Kategorie "Substantiv" einordnen und die Pluralkonstruktionsregel "append -s" auswählen.

Das Tool sollte eine Möglichkeit bieten, anhand meines Vokabulars und der von mir erstellten Regeln eine Liste möglicher Sätze zu erstellen. Es sollte auch möglich sein, einen Satz einzugeben, den das Tool auf Korrektheit überprüfen soll (entsprechend den ihm bekannten Vokabeln/Regeln).

Das Werkzeug muss kostenlos sein (und idealerweise FLOSS). Das Betriebssystem spielt keine Rolle (aber native GNU/Linux-Unterstützung wird bevorzugt). Keine gehosteten Lösungen (selbst gehostet ist in Ordnung).

(Ich habe vor einigen Jahren ein solches Tool mit einer textbasierten Benutzeroberfläche verwendet, kann mich aber nicht an seinen Namen erinnern.)

Antworten (1)

Es hört sich so an, als ob Sie nach dem Natural Language Toolkit von Python , NLTK , suchen . Es erfüllt alle Ihre Anforderungen:

  • Kostenlos (sowohl Waage als auch Zahnseide)
  • Plattformübergreifend - Linux hat Python standardmäßig in den meisten Distributionen installiert, aber Installationen sind für fast alles verfügbar.
  • Nicht gehostet.
  • Ein Beispiel für das, was Sie tun möchten, finden Sie hier , sieht aber so aus:

    from nltk.parse.generate import generate, demo_grammar
    from nltk import CFG
    grammar = CFG.fromstring(demo_grammar)
    print(grammar)
    for sentence in generate(grammar, n=10):
         print(' '.join(sentence))
    
the man slept
the man saw the man
the man saw the park
the man saw the dog
the man saw a man
the man saw a park
the man saw a dog
the man walked in the man
the man walked in the park
the man walked in the dog