{"id":989,"date":"2018-04-01T18:41:50","date_gmt":"2018-04-01T16:41:50","guid":{"rendered":"http:\/\/mgf-lab.mgf-kulmbach.de\/?p=989"},"modified":"2018-09-15T09:47:38","modified_gmt":"2018-09-15T07:47:38","slug":"kuenstliche-intelligenz-auf-dem-raspi","status":"publish","type":"post","link":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/2018\/04\/01\/kuenstliche-intelligenz-auf-dem-raspi\/","title":{"rendered":"K\u00fcnstliche Intelligenz auf dem RasPi"},"content":{"rendered":"<p style=\"text-align: justify;\">Nicht erst seit den letzten Enth\u00fcllungen \u00fcber die Praktiken von Facebook ist der Autor skeptisch gegen\u00fcber Ger\u00e4ten aus dem Hausautomationsbereich wie Amazon Echo, Google home oder Apple homekit, sind all diese Ger\u00e4te doch internetbasiert und beruhen auf Diensten, \u00fcber die nur die entsprechenden Firmen Bescheid wissen. Der Benutzer wei\u00df allerdings nicht, wann die Ger\u00e4te Daten sammeln und was mit diesen gesammelten Daten in der Cloud dann tats\u00e4chlich passiert.<\/p>\n<p style=\"text-align: justify;\">Umso erfreuter war ich, als mir ein Bekannter beim letzten Skiurlaub von einer Spracherkennungssoftware erz\u00e4hlte, die ausgereifte Algorithmen verwendet, auf einem RaspberryPi, einer ausgewachseneren Linuxmaschine oder einem Androidger\u00e4t l\u00e4uft und open-source ist! <a href=\"https:\/\/snips.ai\/\" target=\"_blank\">Snips<\/a> hei\u00dft das Programm und ist nach einer kurzen Anmeldung (braucht man auch um seine Assistenten zu generieren und herunterzuladen) unter https:\/\/snips.ai\/ downloadbar.<!--more--><img decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-1012 alignright\" src=\"https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips1-300x200.jpg\" alt=\"snips1\" width=\"300\" height=\"200\" srcset=\"https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips1-300x200.jpg 300w, https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips1-450x300.jpg 450w, https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips1.jpg 480w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: justify;\">Leider ist die Dokumentation noch nicht optimal, weshalb es uns viel Zeit und Suche in den verschiedensten Quellen bei git-hub und Discord gekostet hat, das System zum Laufen zu bekommen. Seitdem sind wir aber absolut geflasht, was k\u00fcnstliche Intelligenz auf einem RaspberryPi zustande bringt! Die Macher von Snips haben sich n\u00e4mlich privacy-by-design auf ihre Fahnen geschrieben und es geschafft, die Spracherkennung ohne cloudbasierte Unterst\u00fctzung nur auf dem Einplatinenrechner stattfinden zu lassen (einfach \u00fcberpr\u00fcfbar, indem man dem RasPi den Internetzugang kappt)! Das bedeutet dann f\u00fcr den User, dass seine Daten tats\u00e4chlich bei ihm bleiben und nicht von profitgetriebenen Firmen ausgewertet werden! Und nur so lassen sich verantwortungsbewusste Menschen dazu bringen, Vorurteile abzubauen und der <a href=\"https:\/\/snips.ai\/content\/intro-to-ai\/#ai-metrics\" target=\"_blank\">k\u00fcnstlichen Intelligenz ein St\u00fcck mehr zu vertrauen<\/a>.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-1015 alignleft\" src=\"https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips3-300x190.jpg\" alt=\"snips3\" width=\"300\" height=\"190\" srcset=\"https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips3-300x190.jpg 300w, https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips3-474x300.jpg 474w, https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips3.jpg 480w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>Nachdem man das RaspberryPi-Image auf die SD-Karte geschrieben hat, ein (einfaches USB-) Mikrofon und Lautsprecher eingesteckt hat kann es auch schon losgehen. F\u00fcr einen ersten Versuch haben wir den Wetterassistenten von der <a href=\"https:\/\/console.snips.ai\/intent-editor\/intent_49Glr8n3vKe\" target=\"_blank\">snips-console<\/a> heruntergeladen und auf den RasPi gespielt. Nach der Erkennung des Hotwords &#8222;Hey Snips&#8220; wird der von der ASR (automatic speech recognition) &#8222;geh\u00f6rte&#8220; und von der NLU (natural language understanding) interpretierte Text, seine Zuordnung zu den im Assistenten hinterlegten &#8222;Intents&#8220;, also Absichten (z.B. &#8222;Wettervorhersage&#8220; oder &#8222;aktuelles Wetter&#8220;) nebst berechneter Wahrscheinlichkeit, die f\u00fcr diese Intents aus den W\u00f6rtern erkannten &#8222;Slots&#8220;, also Bearbeitungsdaten (z.B. welche Stadt oder welcher Zeitraum) vom DialogueManager per MQTT weitergeleitet (eine ausf\u00fchrliche Beschreibung der zu Grunde liegenden Konzepte gibt es <a href=\"https:\/\/github.com\/snipsco\/snips-platform-documentation\/wiki\/5.-Build-rich-interactions\" target=\"_blank\">hier<\/a>).<\/p>\n<p style=\"text-align: justify;\">Der MQTT-Bus muss dann von einem z.B. in Python programmierten handler abgeh\u00f6rt werden, die ankommenden Daten aus einem JSON-String geparst und entsprechende Aktionen ausgef\u00fchrt werden. Eine ausf\u00fchrlichere Anleitung nebst handler f\u00fcr den Wetter-Assistenten gibt es <a href=\"https:\/\/medium.com\/snips-ai\/build-a-weather-assistant-with-snips-4253541f1684\">hier<\/a>.<\/p>\n<p style=\"text-align: justify;\">Seit der Autor nun Erfahrungen mit Snips sammelt ist er absolut begeistert. Eine <img decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-1011 alignright\" src=\"https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips2-300x158.jpg\" alt=\"snips2\" width=\"300\" height=\"158\" srcset=\"https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips2-300x158.jpg 300w, https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2018\/04\/snips2.jpg 480w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>hervorragend funktionierende Technologie auf einem der zukunftstr\u00e4chtigsten M\u00e4rkte (die Automobilindustrie arbeitet aktuell an Sprachsteuerungsassistenten im Auto, scheitert aber oft noch an einer unterwegs unzureichenden Datenanbindung in die Cloud f\u00fcr die o.g. gro\u00dfen Player) mit einer offenen Plattform, die sich der Privatsph\u00e4re verpflichtet und von einer gro\u00dfen Community getragen wird. Und weil er nun wei\u00df, was mit seinen Daten geschieht, wird zu Hause aktuell an einer Heimautomationsl\u00f6sung mit <a href=\"https:\/\/www.home-assistant.io\/\" target=\"_blank\">HomeAssistant<\/a> und <a href=\"https:\/\/www.home-assistant.io\/components\/snips\/\" target=\"_blank\">Snips<\/a> gearbeitet. Das ist demn\u00e4chst aber ein neuer Beitrag &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nicht erst seit den letzten Enth\u00fcllungen \u00fcber die Praktiken von Facebook ist der Autor skeptisch gegen\u00fcber Ger\u00e4ten aus dem Hausautomationsbereich wie Amazon Echo, Google home oder Apple homekit, sind all diese Ger\u00e4te doch internetbasiert und beruhen auf Diensten, \u00fcber die nur die entsprechenden Firmen Bescheid wissen. Der Benutzer wei\u00df allerdings nicht, wann die Ger\u00e4te Daten sammeln und was mit diesen gesammelten Daten in der Cloud dann tats\u00e4chlich passiert. Umso erfreuter war ich, als mir ein Bekannter beim letzten Skiurlaub von&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/2018\/04\/01\/kuenstliche-intelligenz-auf-dem-raspi\/\">Weiterlesen<span class=\"screen-reader-text\"> Weiterlesen<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1012,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[18],"tags":[],"_links":{"self":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts\/989"}],"collection":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/comments?post=989"}],"version-history":[{"count":13,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts\/989\/revisions"}],"predecessor-version":[{"id":1017,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts\/989\/revisions\/1017"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/media\/1012"}],"wp:attachment":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/media?parent=989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/categories?post=989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/tags?post=989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}