Es gehört längst zum Alltag, mit Maschinen zu sprechen. Jonas Freiknecht zeigt, wie Sie Ihren eigenen Open-Source-Sprachassistenten bauen. Quasi nebenher versorgt er Sie mit fundiertem Wissen rund um KI, ML und Data Science.
In seinem Praxishandbuch “KI-Sprachassistenten mit Python entwickeln – datenbewusst, Open Source und modular” hält Autor Jonas Freiknecht definitiv, was er im Untertitel verspricht. Gleich auf den ersten Seiten des Werks beschäftigt er sich mit dem für zahlreiche Menschen wunden Punkt im Zusammenhang mit Sprachassistenten: Datensouveränität und Datenschutz. Doch nicht nur aus Gründen der Datenhoheit ist es sinnvoll, die Python-Anwendung On-Premises zu betreiben. Insgesamt beschreibt Freiknecht nicht nur, wo die Gefahren lauern (Cloud-Dienste etc.), sondern geht auch auf die Motive der Hersteller ein. Die großen Player wie Google, Microsoft, Amazon und Co. sammeln zwar Unmengen an Daten, haben dafür aber mehr Gründe, als nur, möglichst viel Umsatz zu generieren. Diese Perspektive kommt häufig nicht ganz so deutlich zur Sprache wie in Freiknechts Buch. Ein minimalistisches Gerät, das “nur ein Datentransporteur oder Proxy” ist, senkt die Zahl der potenziellen Fehlerquellen, vereinfacht deren Behebung und erleichtert Updates.
Schon beim Einrichten der Entwicklungsumgebung zeigt sich, welches erklärte Ziel der Autor verfolgt und auch durchaus erreicht. Neben einer anschaulich, mitunter humorvollen Bauanleitung eines eigenen Sprachassistenten versorgt Freiknecht die Lesenden mit reichlich Hintergrundwissen etwa zur Geschichte von künstlicher Intelligenz, zu neuronalen Netzen sowie zur maschinellen Verarbeitung von Sprache und Trainingsdaten für KI-Modelle. Diese Exkurse dienen der Einordnung in einen breiten Gesamtkontext und ziehen sich wie ein roter Faden durch das Buch. Gut dosiert nehmen sie weder überhand noch lenken sie unnötig zu weit von der eigentlichen Entwicklungsarbeit ab. Zudem unterfüttert der Autor den Text kontinuierlich mit Hinweis- und Tippboxen, die Wesentliches aus der Peripherie hervorheben und auf den Punkt bringen.
Nach jeweils einem Kapitel zur Erzeugung künstlicher Sprache und dem Implementieren einer Spracherkennung wendet sich der Autor dem Thema Dialoge und Intentionen zu. Dabei erläutert er eingangs prägnant, wie sich zwischenmenschliche Kommunikation von der zwischen Mensch und Maschine unterscheidet. Daraus formuliert er die Forderung an Sprachassistentenentwickler, “dem Computer beizubringen, unsere Intentionen einzuordnen und zu interpretieren”. Stück für Stück führt Freiknecht in die Welt von Intents (Funktionen) ein und baut gleichzeitig eine Microservice-Architektur auf, bevor es ans sprichwörtlich Eingemachte geht.
Im sechsten und umfangreichsten Kapitel bekommt das inzwischen implementierte Framework seine Funktionen, beispielsweise einen Wikipedia-Intent, den Sie komfortabel mithilfe eines entsprechenden Python-Packages und einer simplen API umsetzen. Beim Entwickeln von Intents deckt das Buch die gängigen Funktionen für einen Sprachassistenten ab. So kann das Modell Marke Eigenbau zum Beispiel über das Wetter informieren, sich bei der Wikipedia bedienen, als Gedächtnisstütze fungieren, Streams abspielen oder Smart-Home-Geräte steuern. Zudem spendiert Freiknecht dem Assistenten noch eine minimalistische Benutzerschnittstelle. Zu guter Letzt lernen Sie außerdem, wie sich eine Python-Anwendung kompilieren und paketieren lässt. Danach haben Sie einen fertigen Installer in der Tasche, mit dem Sie Ihren Sprachassistenten stolz präsentieren können. Nach der Lektüre des Buchs können Sie sich auf die Fahnen schreiben, mit mindestens drei künftig sicher relevanten Tätigkeitsfeldern direkt in Berührung gekommen zu sein: Software Engineering, Data Engineering und Data Science.
In seinem Schlusswort nimmt Jonas Freiknecht einige Kritikpunkte bereits vorweg. Beispielsweise klammert er das Kompilieren des Sprachassistenten für den Raspberry Pi zunächst aus und verzichtet auf automatisierte Tests für Framework und Intents. Er verspricht jedoch, diese Punkte in einer folgenden Ausgabe des Buchs nachzuliefern. Außerdem lädt er in bester Open-Source-Manier dazu ein, sich mit den fehlenden oder auch sonstigen verwandten Themen zu beschäftigen und die Lösungen dafür fleißig zu teilen.






