2009-08-05 5 views
3

Ich versuche Informationen zu finden (und hoffentlich C# Quellcode) über den Versuch, ein grundlegendes AI-Tool zu erstellen, das englische Wörter, Grammatik und Kontext verstehen kann.Künstliche Intelligenz - Creative Writing

Die Idee besteht darin, die KI zu trainieren, indem man so viele schriftliche Dokumente wie möglich verwendet und dann auf diesen Dokumenten basiert, damit die KI ihre eigene kreative Schrift in richtigem Englisch erstellt, die für einen Menschen Sinn macht.

Während die Idee einfach ist, erkenne ich, dass die Hürden riesig sind, alle Ausgangspunkte oder gute Ressourcen berücksichtigt werden.

+2

Nun, die Idee ist nicht wirklich einfach. – nik

+6

Wenn es ein Projekt gibt, das den Kontext des geschriebenen Englisch verstehen kann, dann wüssten Sie es, weil es den Turing-Award gewonnen hätte. – Janusz

Antwort

5

Ein basic AI-Tool, das Sie verwenden können, um so etwas zu tun ist eine Markov-Kette. Es ist eigentlich nicht schwierig zu schreiben!

See: http://pscode.com/vb/scripts/ShowCode.asp?txtCodeId=2031&lngWId=10

Wenn das nicht genug ist, können Sie WordNet Synsets in Ihrer Markov-Kette statt nur Worte speichern können. Das gibt Ihnen einen Sinn für die Bedeutung der Wörter.

+0

Markov Ketten sind ein beliebtes Werkzeug für diese Aufgabe, aber sie sind nicht die einzige Option. Viele andere [natürliche Sprache Generation] (https://en.wikipedia.org/wiki/Natural_language_generation) Werkzeuge wurden für diesen Zweck entwickelt. –

0

Werfen Sie einen Blick auf http://www.nltk.org/ (Natural Language Toolkit), viele leistungsstarke Tools dort. Sie verwenden Python (nicht C#), aber Python ist leicht genug, um es aufzunehmen. Viel einfacher zu erlernen als zumindest die Breite und Tiefe der Verarbeitung natürlicher Sprache.

2

Um in der Lage zu sein, ein Dokument neu zu kompilieren, müssen Sie weg sein, um die schlechten Ergebnisse zu filtern.

Was bedeutet:

  1. Sie werden ein Programm zu schreiben zu haben, die, wenn die Ausgabe gültig auswerten kann (grammatisch und syntaktisch ist die beste Sie können reliablily tun) (Dies würde würde NLP)
  2. Sie müssten viele Trainingsdaten und Testdaten
  3. Sie müssten aufpassen für Übertraining (einen Blick auf ROC-Kurven nehmen)

Statt ein Tool zu schreiben, können Sie:

  1. manuell die Ausgangsnote (wird lange dauern, richtig die algorigthm zu trainieren)
    1. Damit mit dem Amazon Mechanical Turk könnte eine gute Idee

Die Ironie davon: Der Computer hätte eine schwierige Zeit "Kreativ" etwas Neues zu komponieren.Der ganze Wert basiert auf seinen früheren Erfahrungen [Trainingsdaten]

0

Ich stimme zu, dass Sie Schwierigkeiten haben werden, etwas Kreatives zu schaffen. Sie könnten möglicherweise auch einen Keyword-Spinner für bestimmte Wörter verwenden. Möglicherweise möchten Sie auch einen Stoppwortfilter implementieren, um alles umgangssprachliche zu entfernen.

Verwandte Themen