Sprachassistent in Java?

3 Antworten

Hallo Leon2703567,

warum direkt einen Sprachassistenten?? Für den Anfang gibt es doch deutlich einfachere Java-Projekte. Versuch dich doch mal an einem kleineren Spiel wie z.B. TicTacToe. Auch dort kannst du eine kleine KI bauen, was du mit deinem Sprachassistenten auch tun würdest. ;-) .. Nur ist die TTT-KI etwas leichter in der Umsetzung.

PS.: Ein Sprachassistent, der nur Input und Output kann, ist um ehrlich zu sein sehr sinnlos. Das wäre nicht mal eine sinngemäße Übungsaufgabe.

Ich hoffe, dass dir das weitergeholfen hat.

Freundliche Grüße

Woher ich das weiß:eigene Erfahrung

Der erste Ansatz wäre wohl, dass du ganz auf die Sprache verzichtest und dir nur das Ziel setzt, eine solche Methode zu implementieren:

string getAnswer(string input)

Als Ansatz etwa:

input = input.trim().toLower();
splittedInput = input.split(" ", 2);

switch (splittedInput[0]) {
    case "hallo":
    case "hi":
        return "hallo";
    case "berechne":
        return "Das macht " + solveTerm(splittedInput[1]);
    case "spiele":
        playMusic(splittedInput[1]);
        return "Mache ich";
    case "herunterfahren"
        shutdown();
        return "bye-bye";
    // ...
}

Es kommt natürlich ganz darauf an, was dein Assistent genau können wird. Etwas googlegleiches, alexalike, siri-similar wirst du als einzelner Programmierer mit wenig Erfahrung wohl kaum hinbekommen, aber individuelle Bedürfnisse erfüllen schon.

Geh systematisch vor, gute Software entsteht nicht als Code sondern auf dem Papier/Whiteboard und benutze viel Google. Bibliotheken helfen, sich auf das Wesentliche zu konzentrieren (etwa zur Spracherkennung/-ausgabe). Das obige Beispiel ist natürlich ein äußerst primitiver Entwurf, so etwas würde man als Datenmodell umsetzen.

Woher ich das weiß:Studium / Ausbildung – Studiere Informatik und programmiere aus Leidenschaft

Schau dir mal die Doc von DialogFlow an. Damit kannst Requests starten, die beispielsweise der Google Home dann ausgibt.

https://dialogflow.com/