Inhaltsverzeichnis:

So erstellen Sie eine KI Teil 2: 9 Schritte
So erstellen Sie eine KI Teil 2: 9 Schritte

Video: So erstellen Sie eine KI Teil 2: 9 Schritte

Video: So erstellen Sie eine KI Teil 2: 9 Schritte
Video: So löst du deinen Zauberwürfel mit nur 2 Schritten 😍 2024, Juli
Anonim
So erstellen Sie eine KI Teil 2
So erstellen Sie eine KI Teil 2

Dies ist Teil 2 über die Schritte, die ich unternommen habe, um eine KI auf einem Windows-Computer zu erstellen, unter Verwendung einer kostenlosen Datenbank, eines Programmierentwicklungstools und der kostenlosen integrierten TTS-Engine, die mit Windows geliefert wird.

Das Wort "Windows" gehört zu Microsoft.

Das Wort "Drache" gehört zu Nuance.

Schritt 1: So erstellen Sie eine KI Teil 2

So erstellen Sie eine KI Teil 2
So erstellen Sie eine KI Teil 2

Wählen Sie eine Programmiersprache und besorgen Sie sich einige Tools

Es gibt viele Programmiersprachen. Einige sind auf KI spezialisiert. Mein Favorit ist Visual Basic, also habe ich es verwendet. Ich arbeite auch mit SQL-Server-Datenbanken, also habe ich das auch verwendet.

Sie können kostenlose Versionen davon von der Microsoft-Website herunterladen. Suchen Sie einfach nach „EXPRESS“auf der Microsoft-Website. [Visual Studio Express und SQL Server Express]

Andere Sprachen, die Sie uns wünschen könnten, sind: Python, C#, C++, Java, Prolog, Lisp, IPL

und viele andere. AIML ist eine sehr interessante „Markup Language“.

Ich wollte ein besseres „Spracherkennungsprogramm“als das, das mit Windows geliefert wird, also kaufte ich die DRAGON-Software. Ich verwende das Standardprogramm "Text-to-Speech", das mit Windows geliefert wurde.

Schritt 2: Entwerfen Sie Ihr System:

Entwerfen Sie Ihr System
Entwerfen Sie Ihr System

Teilen Sie Ihre großen Projekte in eine Reihe kleinerer Projekte auf. Ich habe meinen Programmcode in Module unterteilt.

Ich habe meinen Code in verschiedene Module unterteilt, damit eine bestimmte Funktion leichter zu finden ist.

Ich habe Module namens „Process Input“, „Process AI“, „Process Output“, „User Interface“und einige andere. Einige meiner Funktionen müssen für alle anderen Codemodule zugänglich sein, also lege ich diese Funktionen in ein „gemeinsames“Modul, in dem alles geteilt wird

Schritt 3: In die Programmiersprache integrierte Funktionen:

In die Programmiersprache integrierte Funktionen
In die Programmiersprache integrierte Funktionen

Verschiedene Sprachen können dafür unterschiedliche Namen haben, aber alle höheren Sprachen haben ähnliche Funktionen.

LCase oder ToLower: Wandelt einen String in Kleinbuchstaben um. Ich wandele alles in Kleinbuchstaben um, bevor ich eine Datenbanksuche durchführe – obwohl die meisten Dinge „unempfindlich“sind – Nur für den Fall.

Ersetzen: Ersetzt einen String innerhalb eines Strings durch einen anderen String. Sie können einen String durch einen leeren String „“ersetzen, um ihn loszuwerden. Ich entferne Punkte, Fragezeichen, Kommas und andere Satzzeichen.

Split: Zerlegt einen String in einzelne Teile und fügt sie in ein Array ein. Diese Funktion teilt eine Zeichenfolge mit einem beliebigen Zeichen oder „Trennzeichen“auf. Ich teile einen Satz mit einem „Leerzeichen“„“auf, um ein Array von Wörtern zu erstellen. Dies wird von den KI-Gurus „Tokenisieren“genannt.

Ich verwende die einzelnen Wörter, um Abfragen zu erstellen, die zum Durchsuchen der Datenbank verwendet werden. (Mehr dazu in meinem nächsten Artikel)

Schritt 4: Kombinieren Sie integrierte Funktionen, um Ihre eigenen Funktionen zu erstellen

Dies ist ein „visuelles Basic“-Beispiel. Verwenden Sie Ihre Programmiersprache, um so etwas zu erstellen.

Natürlich müssen Sie viel Code schreiben und viele Funktionen erstellen, indem Sie die Programmiersprache Ihrer Wahl verwenden.

Schritt 5: Was machen die Module? „Eingabeprozessor“

Was leisten die Module? „Eingabeprozessor“
Was leisten die Module? „Eingabeprozessor“

Es kann hundert verschiedene Möglichkeiten geben, der KI dieselbe Frage zu stellen. Zum Beispiel; „Wie spät ist es?“, „Hast du Zeit?“„Weißt du, wie spät es ist?“, „Kannst du mir die aktuelle Uhrzeit sagen?“Da der Benutzer nur nach der Zeit fragt, wandele ich jede dieser Eingaben mithilfe einer Datenbank-Suchtabelle in eine einzelne Ausgabe namens "Abfragezeit" um.

Sie können Code schreiben, um eine Tabelle zu durchlaufen, bis eine Übereinstimmung gefunden wird, oder wenn Sie eine SQL-Datenbank verwenden, können Sie eine SQL-Abfrage schreiben, wie …

„Select Output from TableName where Input = ‚“was auch immer ‚“

…Und dann schicke ich die Ausgabe „Query Time“an das nächste Codemodul; „Prozess-KI“

Neben Fragen gibt es viele Möglichkeiten, „Hallo“zu sagen

Hallo, hallo, was ist los, hey, hola, wie geht es dir?, Grüße, Willkommen, Grüße, Howdy ….

All dies reduziert sich auf „Gruß“

Wenn der KI-Prozessor „Begrüßung“sieht, sendet er „Begrüßung“an den Ausgabeprozessor, der eine zufällige Begrüßung aus einer Datenbanktabelle auswählt und laut ausspricht.

Schritt 6: „KI-Prozessor“

„KI-Prozessor“
„KI-Prozessor“

Process AI ist das größte Codemodul. Es ist so groß, dass ich es auch in Abschnitte unterteilt habe.

Die Eingabe wird überprüft, um zu sehen, ob der Benutzer einen Befehl gesprochen oder eine Frage gestellt hat. Außerdem kann sich die KI in einem von mehreren „Modi“befinden, was bedeutet, dass der Code „KI verarbeiten“erwartet, dass der Benutzer eine Frage ANTWORT, anstatt eine Frage zu STELLEN.

Wenn der Benutzer keinen Befehl gesprochen hat und sich die KI nicht in einem speziellen „Modus“befindet, erstellt und führt sie eine Reihe von Abfragen aus Kombinationen der Wörter im „Wörter-Array“aus. Alle Abfrageergebnisse werden in einer Tabelle gespeichert, und jedes Abfrageergebnis erhält eine „Punktzahl“, wie genau das Ergebnis mit dem übereinstimmt, was der Benutzer gesprochen hat. Die Tabelle wird nach der Punktzahl sortiert und das Ergebnis mit der höchsten Punktzahl wird an die Ausgabe gesendet, wenn es einen bestimmten Schwellenwert überschreitet. Liegen alle Punkte unter dem Schwellenwert, antwortet die KI möglicherweise mit „Ich weiß nicht“oder „Das rechnet sich nicht“.

Schritt 7: Die Tabelle "Ausgabe und Punktzahlen"

Die
Die

Die Ausgabe der KI aus meiner Eingabe „Was hat das Huhn getan?“

Schritt 8: „Ausgabeprozessor“

„Ausgabeprozessor“
„Ausgabeprozessor“

Dies führt zu mehreren "nicht zusammenhängenden" aussehenden Dingen, die jedoch alle damit zu tun haben, den Text vom KI-Prozessor an den Benutzer zu senden.

Hier ist eine Liste.

1. Text aus der Datenbank darf nur in Kleinbuchstaben geschrieben werden und darf keine Satzzeichen enthalten.. Subroutinen schreiben den ersten Buchstaben groß und setzen am Ende einen Punkt oder ein Fragezeichen.

2. Eine andere Subroutine setzt Apostrophe zurück in Kontraktionen oder wandelt Kontraktionen wieder in vollständige Wörter um (d. h. „cant“wird durch „can not“ersetzt).

3. Die Text-to-Speech-Engine spricht einige Wörter nicht so aus, wie ich es mag, daher ersetzt der „Ausgabeprozessor“diese Wörter durch eine phonetische Schreibweise im „Eingabeprozessor“

4. Findet die KI keine passende Antwort in der Datenbank, kann sie „Ich weiß nicht“sagen, aber ich möchte nicht, dass sie dies immer und immer wieder sagt. Echte Menschen variieren ihre Reaktionen. Es gibt also eine Tabelle mit „Common Output“-Phrasen und einer Funktion, die zufällig eine auswählt (und niemals dieselbe zweimal hintereinander auswählt).

5. Die kostenlose „Text-to-Speech“-Engine (TTS) bietet einem Programmierer nicht viele Optionen für die Art und Weise, wie Sätze gesprochen werden, aber Sie haben ein wenig Kontrolle über die Tonhöhe und die Geschwindigkeit der Phoneme. Der Begriff dafür ist „Prosodie“. Ich habe dem Text in meiner Datenbank einige „Prosodie“-Codes hinzugefügt, und wenn der „Ausgabeprozessor“diese sieht, passt er die Tonhöhe und Geschwindigkeit in der TTS-Engine an, während jedes Wort gesprochen wird.

6. Manchmal ist das TTS einfach nur schwer zu verstehen, daher spreche ich Wörter nicht nur laut aus, sondern zeige sie auch in großen Buchstaben auf meinem Computerdisplay an. Dieser Teil der „Benutzeroberfläche“ist ein Raster, das die letzten 6 Zeilen einer Konversation (Benutzereingabe und KI-Ausgabe) anzeigt und nach oben scrollt, wenn neue Zeilen hinzugefügt werden.

Schritt 9: Arbeiten Sie weiter daran

Arbeiten Sie weiter daran
Arbeiten Sie weiter daran

Meine Eingabe war „Erzähl es niemandem“

Ich arbeite noch an meinem KI-System, und es wird wahrscheinlich nie wirklich „fertig“sein. Wenn ich weitere Funktionen hinzufüge, werde ich weitere Artikel schreiben.

Vielleicht inspirieren dich einige meiner Ideen, eine KI zu bauen, die besser ist als meine

Empfohlen: