Schnelleinstieg Sprachdialogsystem Telekom Tropo, Teil 1

Ein Interactive Voice Response System (IVR) oder umgangssprachlich Sprachdialogsystem erlaubt es Menschen und Maschinen durch Sprache oder Tastentöne (DTMF, Dual-tone multi-frequency signaling) miteinander zu interagieren. Im Falle von Tropo sind außerdem noch Textnachrichten als Short Message Service (SMS) für die Kommunikation verfügbar.

channel

Sprache, DTMF und SMS als weitere Kanäle zwischen Mensch und Maschine.

Damit bietet letztendlich ein Sprachdialogsystem nur weitere Kanäle zwischen Mensch und Maschine. Auch wenn das auf den einen oder anderen altbacken wirkt, haben Sprachanrufe und Textnachrichten abhängig vom Szenario durchaus Vorteile – hinsichtlich der Ergonomie und Gebrauchstauglichkeit (Stichwort Handsfree) genauso wie hinsichtlich der Reichweite: Über ein Mobilfunktelefon erreicht man weltweit 5,2 der zurzeit rund 7 Milliarden Menschen, mit SMS sind es immerhin noch rund 4,2 Milliarden und damit laut Tomi T. Ahonen mehr, als mit einem FM Radio.

Schritt 1: Registrieren

Update: Der Registrierungsprozess wurde Vereinfacht. Eine kurze Beschreibung des neuen Registrierungsprozesses findet sich auf Englisch hier im Blog.

Der Einstieg in diese Welt gestaltet sich mit Telekom Tropo denkbar einfach, sobald man einmal die vermeintlich größte Hürde der Registrierung genommen hat. Da diese Registrierung eh in Zukunft vereinfacht wird, gehe ich hier nicht weiter darauf ein außer, dass der direkte Weg dahin zurzeit über den Telekom Developer Center führt. Dort kann man sich kostenlos registrieren und dann anschließend Telekom Tropo aktivieren und Anwendungen einrichten: Hier erfolgt auch die Zuordnung von Telefonnummern zu Anwendungen.

Schritt 2: Programmieren

Eine Anwendung ist aus Sicht von Tropo nichts anderes als eine URL, die JSON zurückliefert und so einen Anruf steuert.

1
2
3
4
5
6
7
8
9
10
// Telekom Tropo API (JSON)
{
"tropo":[
   {
   "say":[
      {
         "value":"Hello World!"
      }]
   }]
}

Um diesen Dialog zwischen Tropo und der eigentlichen Anwendung zu vereinfachen, habe ich für PHP entsprechende Basisklassen angehängt (anders als bei den ursprünglichen Klassen ist hier auch ein kleiner Patch für Umlaute drin) – für andere Sprache gibt es vergleichbare vorgefertigte Pakete.

Für ein „Hallo Welt“ PHP Skript wird nun nur ein Tropo-Objekt benötigt und durch die Methode say eine Sprachausgabe vorbereitet. Die Methode renderJson erledigt die Aufbereitung des für Tropo erforderlichen JSON.

1
2
3
4
5
6
7
8
9
10
11
<?php
// Include Tropo classes. 
require('tropo.class.php'); 
$tropo = new Tropo(); 
$tropo->say("Hello World!");
$tropo->renderJson();
 
// Configure/Log at 
// http://www.developercenter.telekom.com
// for e.g. +49 211 2409089
?>

Schritt 3: Nutzen

Sobald also nun jemand die im Developer Center mit der Anwendung verknüpfte Telefonnummer anruft, wird dies zu Tropo weitergeleitet. Tropo wiederum ruft die Anwendung auf, nimmt das zurückgegebene JSON-Objekt und arbeitet die darin enthaltenen Befehle Schritt-für-Schritt ab – in diesem Fall wird dem Anrufer einfach „Hello World!“ vorgelesen (oder optional als SMS gesandt).

Natürlich gibt es zahlreiche weitere Befehle. Darunter solche, um einen Anruf zu starten (call), weiterzuleiten (transfer) und aufzuzeichnen (record) – Konferenzen sind ebenfalls möglich (conference). Außerdem kann der Anrufer eingaben per Sprache und DTMF tätigen (ask) und so den Dialog steuern. Mehr Infos zu den Befehlen und Tropo gibt es im Developer Garden…

2 thoughts on “Schnelleinstieg Sprachdialogsystem Telekom Tropo, Teil 1

Comments are closed.