Pseudo-KI, einige Überlegungen

  • Ich bilde mir nicht ein, auch nur annähernd intelligent, talentiert und qualifiziert zu sein, auch nur annähernd genug über Sprache, Mathematik, Psychologie und sonst. Themen zu verstehen, um mir eine realistische Chance auszurechnen, etwas wie eine KI auf die Beine zu stellen. Vom aufwand und den Kosten einmal abgesehen. Trotzdem beschäftigt mich der Gedanke seit etwa 15 Jahren, packt hin und wieder, schüttelt mich und verlang, weiter verfolgt zu werden. Da ich ein nur mittelmäßiger Programmierer bin, könnt ihr euch vorstellen, wie meine bisherigen, bescheidenen Versuche verlaufen sind. Aus diesem Grund habe ich mich eher darauf konzentriert, ein grundlegendes Schema zu entwerfen und mir darüber Gedanken zu machen, wie die Struktur auszusehen hat. Meine alten Unterlagen sind irgendwo unter Berge von anderem Papier begraben, anbei aber ein paar Ideen. Vielleicht möchte der eine oder andere von euch diese aufgreifen und etwas dazu sagen. Oder hat ein paar Tipps und Anregungen für mich.


    1. Elemente eines Dialogs
    Begrüßung
    Fragen und Antworten
    Themen
    Themawechsel
    Gedankensprünge
    Schleifen, Wiederaufgreifen eines Themas oder einer früheren Aussage -> Zurückkehren auf einen Punkt, z.B. bei einem Running Gag
    Überleitungen
    Andeutung des Gesprächsendes
    Gesprächsende


    2. Beispiel:
    Q: Was ist eigentlich ein Running GaagK?
    A: Meinen Sie einen Running Gag?
    Q: Nein, eher etwas mit Senf.
    A: Was zum Geier hat das mit einem Running Gag zu tun? Klingt nach monty Python.
    Q: Komm her, ich werde dir ins Auge spucken!
    A: Ein Brüller. Kann ich eine Kokosnuss haben?
    Q: Wie auch immer.
    A: Soll ich jetzt mit etwas Geistreichem die Stille überbrücken?`
    Q: Von mir aus. So um die 40%.
    A: Whiskey, Vodka oder Schnaps?
    Q: Ich dachte eher an Tellerminen.
    A: Ich hatte einmal einen Kater, der fühlte sich so an, als wäre gerade eine hochgegangen.


    3. Werkzeug, Voraussetzungen

    Zwischenspeicherung aller Antworten und Fragen während eines Gesprächs, bzw. einer eingermaßen akkurate Speicherung desselben: Eine durchschnittliche Person wird sich nicht an alle Details eines Gesprächs erinnern können, ausser sie hat ein ausgezeichnetes Detailgedächtnis. Selbst dann kann es sein, dass sie bestimmte Zahlen nicht mehr in Erinnerung hat.

    Einen einigermaßen umfassenden Welt-Wissen-Katalog, vor allem "allgemeingültiges Wissen" und zum Teil aktuelles Weltgeschehen. Dieses muss nicht nur alle wesentlichen Themen beinhalten, sondern auch einen Großteil der Sondernfälle. Vor allem Einzelfälle aus der Geschichte, die Sprachbestandteile wurden.
    Beispiel: Waterloo war nix dagegen.

    Einen Katalog an Vergleichsobjekten, einschl. von Regeln für das Messen, Abschätzen, Schätzen und Vergleichen.
    Beispiel: Größen und sonst. Daten und Eigenschaften aller möglicher Objekte, sodass man Relationen erstellen kann: Was ist schöner, eine Rose oder ein Misthaufen... Was ist größer...

    Einen Katalog an Regeln, der mehrere tausend Grundregeln umfasst, nicht nur naturwissenschaftliche, sondern vor allem auch menschliche.
    Beispiel: Schnee ist kalt. Kalt ist...

    Eine eigene Biographie.

    Die Fähigkeit der Deduktion und der Möglichkeit, die Daten auf bisher nicht vorhandene Art und Weise richtig zu kombinieren (Was ist größer? Meine Brille doer ein Fahrrad? Normalerweise das Fahrrad. Aber ich bekomme sicher auch eine Dreimeterbrille oder ein Zweizentimeterfahrrad hin, wenn du mir Zeit und das Geld gibst.)

    Eine Auswahl aus dem gesamt-möglichen Wissen, welche den Wissensvorrat der KI-Person wiedergibt.

    Sprach- und Wortbilder mehrer Sprachen
    (Beispiel:
    Deutsch: Der Tropfen,d er das Fass zum Überlaufen brachte
    Englisch: The (final) straw that broke the camel's back.)

    Humor.

    Abstrakte Konzepte und Irrationales.

    -------------------------------------------

    Ich würde diesen "Katalog" an Anforderungen gerne weiter ausbauen und ihn später dann um technische Erfordernisse erweitern (welche Rechenpower, welches Betriebsystem, welche Programmiersprache etc.)


    Gruß
    Athain

  • das thema KI fasziniert mich ebenfalls, aber eher in technischer hinsicht.
    für mich ist es vorallem spannend, wenn das programm ohne viel vordefiniertes wissen auskommt. also nicht "wenn das - dann das".
    viel interessanter ists doch, wenn sich das programm selber sachen beibringt - auch wenn das niveau tief ist (mit einer dialogsführung nicht zu vergleichen). also ich rede da zb. von einem roboter der kugeln sammeln muss und bei jedem durchgang besser wird.
    ich könnte mir durchaus vorstellen, dass ich mich beruflich irgendwann mal in diese richtung bewege.

    das thema künstliche persönlichkeit ist natürlich auch sehr spanned, aber für mich viel zu komplex und undurchsichtig ;)

    2 Mal editiert, zuletzt von Flunsi (13. Januar 2007 um 02:27)

  • Also ich weiß leider nicht mehr genau wie die richtung hieß für KI, aber die Programmiersprache ist nicht mit C oder C++ zu vergleichen. Ich glaube es geht in Richtung LISP. Weil mir das aber während des Studiums zu schwer war, habe ich andere Fächer gewählt, aber ich weiß noch das solche Programmiersprachen viele Klammern benutzen um einen Ausdruck bzw. eine Anweisung zu schreiben.

  • LISP ist die eine, Prolog die andere bevorzugte Sprache.

    Athain, ELIZA (von Weizenbaum) könntest Du ja mal näher betrachten. Sie ist ein sehr angenehmer Gesprächspartner :)

    :feuerteufel: rs longa vita bre:hoppel:is: Entia non sunt multiplicanda praeter necessitatem.

  • Eliza kenne ich. Genauso wie 20q.org (oder war's .net?)

    Programmiersprache: Soweit korrekt, allerdings müssen erst einmal die Kataloge erstellt werden. Aber egal, das greift viel zu weit vor.

    Ich habe mich auch einige Zeit lang mit AMR beschäftigt (aotonome mobile roboter), wir haben aber mit unserem AMR aufgrhört, nachdem klar wurde, dass dieKetten 800 Mark kosten. Darum wurde der Panzer leider nie fertig gebaut. Anyway, mittlerweile gibt's sowas bei conrad.de als Bausatz zu kaufen.

    Ein "dummes" System, das sich durch trial-and-error selbstständig verbessert, ist ja auch faszinierend. Ich kann mich an Seiten erinnern, da konnte man einen Client herunterlagen, dann seinen Roboter programmieren und den dann gegen anderen antreten lassen.

    Na ja, werde mal weiter darüber nachdenkenund mich ein wenig mit Wittgenstein, Minsky und Consorten herumschlagen, mal sehen, was dabei herauskommt.

    ciao
    AC

  • Warum gleich so etwas wahnsinniges komplexes und kompiziertes wie Kommunikation?

    Von Null auf Hundert sofort eine Turing Maschine zu programmieren ist doch fragwürdig.

    Wie soll ich es nur erklären: Zwischen der künstlichen Intelligenz und der Kommunikation müssten sozusagen Umwege existieren, die letztlich viel mehr sind als nur Umwege, sondern z.B. etwas wie Protokollebenen.

    Man kann KI aus verschiedenen Blickwinkeln betrachten:
    aus der Physik
    aus der Psychologie
    aus der Technik
    auf Hardware- / Softwareebene
    auf Informationstheoretischer Ebene

    Ich bin jedoch der Überzeugung, dass die optimalste aller Betrachtungen über die Philosophie stattfinden sollte.

    Ich bin der Überzeugung, dass man zunächst die Existenz von Computern fast vergessen sollte, wenn man sich dem Thema nähern möchte.

  • Abhängig was du von einer KI willst. Wenn man Philosophisch daran geht dann kommen die ganzen Fragen in Bezug auf Leben und was Leben bzw. Intelligenz ist.
    KI im bisherigen Sinne ist ja eigentlich nur das Simulieren von menschlichen verhalten bzw. tierischem Verhalten (einige Roboter). Darüberhinaus sollen verschiedene Geräte relativ autonom arbeiten können. Die Ziele sinde im Moment eher technisch und nicht Philosophisch. Wobei ich persönlich es auch eher in Richtung technisch bzw. auf Hardware-/Softwareebene bewerkstelligen würde. Der Philosophische Ansatz ist für mich zu hoch gegriffen. Denn IMHO wäre das der Versuch wirklich neues Leben bwz. eine neue Intelligenz zu erschaffen. Und ich sehe die Gefahren bzw. den Missbrauch zu hoch im Gegensatz zum Nutzen von wirklichen KI's.
    Aber vielleicht habe ich das ja vom Philosophischen Ansatz her auch falsch verstanden.

  • Ich versuche mich dem Thema stets pragmatisch zu nähern. Da ich heute während einer Fortbildung etwas "idle time" hatte - mit einer Woche Vorbereitung hätte ich mich da auch hinstellen können, pfffffff - habe ich ein paar klassische Probleme bei den Turing-Tests durchgelesen. Ich glaube, man sollte die Sache erst einmal einfach beginnen. Und zwar mit großen Einschränkungen:

    Ein Programm, das nicht vorgibt, ein Mensch zu sein
    Ein Programm, das nur eine einzige, sehr eingeschränkte Aufgabe wahrnehmen kann
    Darauf aufbauend weitere Aufgaben bzw. Erweiterung derselben.

    Ein gutes Bespiel wäre die Beschränkung auf Vergleiche. Das bedeutet, man schließt den kompletten "Rest der Welt" aus dem Modell aus und beschränkt sich darauf, das Programm einen vergleich zwischen zwei oder mehr Begriffen/Begrifflichkeiten/Dingen zu ziehen. Mir ist nämlich aufgefallen, dass hoch entwickelte Programme große Schwierigkeiten haben mit Fragen wie "Was ist größer, den großer Zeh oder die große Pyramide von Gizeh?" oder: "Was ist näher, Queens oder die Queen?" Ein Mensch würde letztere Frage beantworten - vorausgesetzt die Frage wird in New York gestellt - Queens. Ausser, die Queen besucht gerade New York, dann müsste man messen". Da ich von einem Programm nicht erwarten kann, dass es derartige Zusammenhänge kennt, beschränke ich mich auch etwas viel Einfacheres. Ich stelle Fragen wie: "Was ist größer, 7 oder vierzehn?" Mit vereinfachter Grammatik könnte ich sogar fragen: "Drei kleiner 342?" OK, das kann jeder Taschenrechner. Aber das soll ja auch nur die Basis darstellen. Wenn der nötige Code steht, kann man das erweitern, indem man folgende Punkte einbaut:

    1. Fehlertoleranz und catch:
    Dazu gehören misspelling (Was isst groeser, trei odr 24!?) oder Fangfragen wie "Was ist größer, 17?" Im Zweifelsfall kann man eine Standardantwort einbauen, wie "Es tut mir Leid, ich kann Ihre Frage leider nicht beantworten." Diese Antwort ist unverfänglich genug, da sie den Grund nicht angibt, wieso. Später könnte man das verfeinern, z.B.: "Es tut mir Leid, aber ich kenne das Land "Slovendavien" nicht. Meinnen Sie vielleicht Slovenien oder Moldavien?" Und so weiter.

    2. Erweiterung der Kataloge
    Zusätzlich könnte man Module einbauen, die komplett mit Rohdaten arbeiten, die man direkt vergleichen kann: "Was ist größer, die Schweiz oder Südafrika?"

    3. Erweiterung der Syntax und Semantik
    Dann wäre es an der Zeit, die Syntax auszufeilen und auch komplexere Routinen einzubauen. Z.B. erkennt das Programm dann, dass einige Schlagwörter in einer Frage enthalten sind, ist sich aber nicht sicher, dass es sie richtig intrepretieren kann: "Wenn Pferde Flügel hätten, wäre dann 17 kleiner als vierunddreissig?" 17 kleiner 34 würde das Programm "verstehen" und es könnte eine entsprechende Ausgabe generieren: "Falls Sie gefragt haben, ob.... kann ich Ihnen antworten, leider verstehe ich den ersten Teil des Satzes noch nicht." etc.

    4. Lerndatenbank
    Spätestens jetzt müsste man in der Lage sein, das System zu trainieren. Man müsste unterscheiden zwischen bekannten und unbekannten Fragestellern (anonyme Fragestellung). Das System könnte dann jede Frage speichern, die ihm je gestellt wurde, seine Antwort darauf und zusätzlich um Feedback bitten, ob es die Frage richtig beantwortet hat. Daraus ergibt sich irgendwann ein (hoffendlich) riesiger Pool an Frage-Antworten-Beispielen. Diese müssten dann gewichtet werden und gegeneinander abgewogen werden. Vor allem müsste bewertet werden, wie mit gegensätzlichen Aussagen verfahren werden muss. Z.B. durch die Einführung einer Glaubwürdigkeit. Wenn zum Beispiel anonyme Fragesteller dauernd Fragen so beantworten, dass sie bereits als sicher geltenden "Regeln" widersprechen, dann würde automatisch die Glaubwürdigkeit von anonymen Fragestellern herunter gesetzt werden und ihre Gewichtung im Gesamtergebnis reduziert werden. Gleichzeit könnte man das System auch auf bestimmte Personen trainieren.

    5. Auswertung des "Gelernten"
    Mit entsprechenden reports könnte man das System Schlüsse ziehen lassen.
    Beispiel:: 80% aller gespeicherten Aussagen gelten mit über 95% als richtig. Person X hat zu 87% Fragen gestellt und Antworten akzeptiert, die in diesen 80% enthalten sind. Person y nur zu 70%. Damit werden Aussagen/Fragen/Feedback für Antworten von Person x als "gültiger" und "wahrscheinlich richtiger" angesehen, als von Person y.

    6. Spielerische Auswertung und Training
    Dies könnte man soweit erweitern, dass man, vorausgesetzt die Datenbasis ist breit genug, irgendwann dazu über gehen könnte, das Programm "raten" zu lassen, wer gerade Fragen stellt. Also anonyme Fragestellung, anhand der Art der Fragen, des Feedbacks etc. könnte das Programm nach etc. 50-100 Fragen ausgeben: "Anhand meiner bisherigen Erfahrungen, sind Sie zu 60% Person z."


    Vielleicht könnte man dann dazu übergehen, die Kataloge zu erweitern, ebenso die Syntax, Fehlertoleranz und ggf. Semantik. Dann könnte man übergehen, Bedingungen einzubauen und katalogsübergreifend zu arbeiten:

    Katalog a: Geographie (Stadt x hat 15 Quadratkilometer)
    Katalog b: menschliche Anatomie (fingernagel Teil des Fingers, Finger Teil der Hand, Hand Teil des Armes, Arm Teil des Körpers, Körper zwischen 0,30m und 2,65m)

    Frage: Wenn ich eine durchschnittlich große Person bin, ist dann Belgien größer als meine linke Hand?" "Falls ja, wieviel größer?"

    Gemeiner wäre die Frage: "...größer als die Länge aller meiner Haare zusammen genommen?"

    Diese Frage kann man nur mit einem "depends" beantworten. Ein "schlaues Programm" würde fragen, wie die Gesamtlänge der Haare lautet und ob der Umfang oder Durchmesser des LAndes gemeint ist. Ein humorvoll angehauchtes Programm würde nach bekannten Glatzen in der Familie des Fragestellers fragen und die Antwort in einer zeitlichen Relation setzen. ;)


    Wie auch immer, ich schweife ab. Ich sollte besser mit dem Hund Gassi gehen.

    Bis dann
    AC

    2 Mal editiert, zuletzt von Athain (15. Januar 2007 um 22:35)

  • naja ich hoffe und bete nur das es dem menschen niemals gelingen wird wirklich eine KI zu erschaffen

    das wäre wahrscheinlich das erste und das letzte mal das der mensch etwas erschaffen hätte

  • Zitat

    Original von Panzergrenadier
    Abhängig was du von einer KI willst. Wenn man Philosophisch daran geht dann kommen die ganzen Fragen in Bezug auf Leben und was Leben bzw. Intelligenz ist.


    Naja u.a., aber ich meine nicht umherdenken, sondern Wissenschaftlichkeit und Disziplin.

    Zitat

    Original von Panzergrenadier
    KI im bisherigen Sinne ist ja eigentlich nur das Simulieren von menschlichen verhalten bzw. tierischem Verhalten (einige Roboter).


    Und da sehe ich das Problem.

    Zitat

    Original von Panzergrenadier
    Die Ziele sinde im Moment eher technisch und nicht Philosophisch.


    Nein.

    Zitat

    Original von Panzergrenadier
    Und ich sehe die Gefahren bzw. den Missbrauch zu hoch im Gegensatz zum Nutzen von wirklichen KI's.


    Deine wirklichen KIs sind in dem Zusammenhang wohl eher unwirkliche künstliche Intelligenzen.

  • Zitat

    Original von AtlanVIII
    naja ich hoffe und bete nur das es dem menschen niemals gelingen wird wirklich eine KI zu erschaffen

    das wäre wahrscheinlich das erste und das letzte mal das der mensch etwas erschaffen hätte

    ja, Terminator gehört auch zu meinen Lieblingsfilmen :D
    (zumindest 1+2)

  • Obwohl sich mir da die Frage stellt: Warum sollte eine KI solches tun?
    Und sollten wir nicht lieber auf eine EI (emotionale Intelligenz) hinarbeiten?
    Da gefällt mir die KI aus "I, Robot" ziemlich gut, deren Motivation war eine andere...

  • naja irgendwann würde die ki sich so weit entwickelt haben, dass der mensch es nicht mehr komplett verstehen würde (dürfte doch recht fix gehen das mans nimma versteht wenns denn mal funzt) und was der mensch nicht versteht fürchtet er ergo wird er versuchen es zu vernichten ergo springt bei der ki die selbsterhaltung an und schon haben wir den salat

  • Nun ja, Skynet war ja z.B. nur böse und das ohne Grund. Obwohl... sie war eine Militärmaschine...
    Was ich realistischer finde, ist sowas wie HAL. Die KI zerbricht an der Unlogik der Menschen...
    Gibt auch nette Geschichten über KIs... was tun, wenn eine KI vor Gericht zieht, weil sie nicht mehr abgeschaltet werden will? *G*
    Nett auch der Film "Der 200-Jahre-Mann" (oder so). Ist eine solche Entwicklung nicht viel realistischer? Wenn wir eine "echte" KI schaffen, wieso soll die gleich alles wissen und können? Sie müsste doch erst lernen, wie ein Kind. Eine echte KI sollte nämlich nicht nur superschlau sein, sie sollte auch Gefühle kennen. Denn sonst bleibt es nur eine Maschine. Eine KI, besser EI, sollte doch dem Menschen ähnlich sein. Wie sonst soll sie uns verstehen? Siehe Data, der hat auch immer Probleme mit den feineren Gefühlsregungen...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!