Sprache zu Text

01/02/2017 19:59 Mr.Tr33#1
Hallo,

mir kratzt immer öfter der Gedanke so etwas wie Jarvis zu bauen, dass auf eigene Befehle reagiert.

Nun habe ich recht oft und lange recherchiert und bemerkt, dass man gar nicht viele Möglichkeiten hat die Sprache zu Text umzuwandeln. Natürlich will ich etwas was schnell und offline funktioniert, aber da gibt es halt Bedenken.

Folgendes habe ich gefunden:
  • online: Google
  • online: Amazon
  • online: api.ai
  • online: wit.ai
  • offline: Julius
  • offline: Lucida
  • offline: Sphinx

Gegen die online Varianten spricht eigentlich nur, dass die eine Internetverbindung brauchen.
- Google hat eine Begrenzung an Requests
- Amazon habe ich mich noch nicht genug eingelesen ob es mir überhaupt meine Sprache als Text zurück liefert
- api.ai, genauso wie Amazon
- wit.ai hat eigentlich keine Grenzen, aber dazu komme ich später noch

Gegen die offline Varianten spricht leider recht vieles. Keins der angegeben versteht die deutsche Sprache einigermassen. Und gut trainierte Bibliotheken habe ich bis jetzt nicht gefunden.

Theoretisch kann ich eine online Variante nehmen, jedoch müsste ich es irgendwie hinbekommen, dass es auf einen Namen hört, denn ein Knopf oder App ist doof. Wenn ich somit ALLES an z.B. wit.ai schicke, dann überschreite ich die "1 Request die Sekunde" Grenze. Somit müsste man dafür irgendwie mit einer offline Variante einen Namen erkennen lassen.

Viel Gerede, wenig Sinn ... habt ihr euch damit schon mal beschäftigt?
Wie würdet ihr so etwas umsetzen?
Kennt ihr gute offline STT die die deutsche Sprache verstehen?
01/02/2017 20:43 Jeoni#2
Dann vielleicht mit einer der offline-Lösungen auf das Triggerworten lauschen, ab da dann aufzeichnen und das ganze online analysieren lassen. Wenn das Triggerwort ein Name oder so ist, braucht die offline Bibliothek dafür auch kein deutsch zu verstehen.
Mit freundlichen Grüßen
Jeoni

/Edit: Dursch war schneller, aber naja.
01/03/2017 01:20 Mr.Tr33#3
Was dagegen spricht ist, dass die offline Varianten eben nur schlecht Wörter richtig erkennen in der deutschen Sprache.
Es gibt YouTube Videos wo jemand die deutsche Sprache verwendet, aber diese Personen haben mir bis jetzt nicht geantwortet und mit deren Lösungen habe ich es entweder nicht zum laufen bekommen oder es erkennt meine Stimme anscheinend viel schlechter als deren.
01/05/2017 12:26 mrapc#4
Wieso Microsofts Programmiersprachen VB.NET und C# liefern nicht nur eine TTS funktion sondern auch eine STT.

Das ganze funktioniert mit Befehlssätzen die du in ein XML Dokument einpflegst. so kannst du dann Schlagwörter verwenden. Teilweise musst du dann mit der Schreibweise Spielen, denn es gibt Wörter die sich nunmal anders schreiben als Sprechen.

Hier ein Beispiel womit ich das damals machen wollte:
[Only registered and activated users can see links. Click Here To Register...]

Ein "J.A.R.V.i.S" lässt sich aber nicht mal eben so programmieren, das wissen über KIs und Mathe das man dafür haben muss ist enorm.

Was ich gerade vergessen habe ist natürlich:
Cortana
Wenn du schon Windows 10 verwendest kannst du dir die Cortana Klassen mal angucken. So bist du in der Lage mit dem Selben Sprachsystem was Windows verwendet auch gleich deine Anwendungen zu steuern.
01/05/2017 16:49 Mr.Tr33#5
Danke für den Ansatz, aber ich bin gedanklich eher auf einem Raspberry Pi :D
Und mit JARVIS meine ich eher, das Wetter sagen, Lampen an/aus machen. Es soll mir ja meine, nicht existierenden, Mathehausaufgaben machen :D

Ich habe jetzt zum Testen AlexaPi genommen: [Only registered and activated users can see links. Click Here To Register...]
AlexaPi benutzt Sphinx um auf "Alexa" zu hören, den Rest schickt es dann an Amazon.

Ich werde das vermutlich mit Java nachbauen, dann aber wit.ai und nicht Amazon.
Jetzt hört sich das schon nach einer Menge Spaß an :)
01/09/2017 10:46 TheÐeciSion#6
Wenn du etwas äquivalentes tun Jarvis haben möchtest musst du weiter denken. Eine simple Stimme die in der Lage ist 3000 Wörter - in etwa einen Grundwortschatz, sprich 80% einer Sprache - wiederzugeben und zu verstehen ist die eine Sache. Bei Jarvis handelt es sich eher um eine fortschrittliche Intelligenz, ich würde fast behaupten eine KI. Jarvis besitzt eine Art Bewusstsein mit einem Filter für unwichtige Informationen und ist über jegliche Naturwissenschaft gelehrt. Wenn du es schaffst etwas vergleichbares zu entwickeln würdest du nicht nur props von mir bekommen, sondern wärst wahrscheinlich nur einen Schritt von einer KI und dem Untergang der Menschheit entfernt. Denk mal darüber nach, warum jede KI in Filmen am Ende vernichtet werden muss und warum sie fiktiv bleibt.
01/09/2017 12:40 Krotus#7
Quote:
3000 Wörter - in etwa einen Grundwortschatz, sprich 80% einer Sprache
3000 Wörter sollen 80% einer Sprache sein? Die Deutsche Alltagssprache besteht laut Duden aus 500.000 Wörtern von denen 75.000 zum Standardwortschatz gezählt werden. Mit 3000 Wörtern bist Du also eher auf dem Niveau eines 3-4 Jährigen.
01/09/2017 18:34 mrapc#8
Quote:
Originally Posted by Krotus View Post
3000 Wörter sollen 80% einer Sprache sein? Die Deutsche Alltagssprache besteht laut Duden aus 500.000 Wörtern von denen 75.000 zum Standardwortschatz gezählt werden. Mit 3000 Wörtern bist Du also eher auf dem Niveau eines 3-4 Jährigen.
Naja wenn er tatsächlich nur vor hat das Wetter auszugeben und licht an und aus zu schalten reichen 3000 Wörter locker.

Wahrscheinlich sogar 200, denn nur er wird dieses Programm nutzen und kennt daher alle Wörter.


Du kannst mit C# auch für den Pi Programmieren. Mono machts möglich:
[Only registered and activated users can see links. Click Here To Register...]

Es gibt meine ich sogar eine Windows Version die das ganze zulässt und auf dem Pi läuft müsstest du aber Googlen.
01/09/2017 21:23 Mr.Tr33#9
Eigene KI zu programmieren ... näh :D
Mir reicht es, wenn es auf einen Namen hört und der Rest z.B. an Google geschickt wird, damit ich es dann als String wiederbekomme.

Am Ende soll es wirklich nur z.B. Heizung steuern, die Tür aufmachen, Fernsehen an/aus machen, Raumtemperatur abfragen und fragen ob z.B. die Heizung angemacht werden soll, schauen ob jemand zu Hause ist bzw. ob ich zu Hause bin (z.B. über Beacons) und mir dann bescheid sagen wenn jemand fremdes da ist :D. Dinge die man halt über so eine Steuerung steuern könnte.

Ps: wenn ihr eine Fenstersteuerung kennt, die man ans Fenster ran baut und die dann das Fenster auf Kip öffnen und schliessen kann, dann sagt mal bitte bescheid :D