-
VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung 61/315,719, eingereicht am 19. März 2010, deren Inhalt durch diese Erwähnung hier vollständig mit aufgenommen wird.
-
HINTERGRUND
-
1. Technischer Bereich
-
Die vorliegende Offenlegung betrifft Kommunikationen und im Besonderen Konferenzverbindungen und ähnliche Kommunikationen.
-
2. Einleitung
-
Wird ein Anwender zu einer Konferenzverbindung eingeladen, oder baut er eine Konferenzverbindung auf, so erhält er eine Menge von Informationen, wie zum Beispiel eine Telefonnummer und einen Zugangs-Code oder einen Web-Konferenz-Link, um der Konferenz beizutreten. Ist der Zeitpunkt der Konferenz gekommen, müssen der Anwender und die anderen eingeladenen Parteien zunächst die Konferenz-Einwahl oder andere Informationen zum Beitritt zur Konferenz lokalisieren. Oft benötigt der Anwender außerdem Zugriff auf zusätzliche Ressourcen, wie zum Beispiel Dokumente, Tabellenkalkulationen, Kontaktinformationen oder To-Do-Listen für die Konferenz. Oft nimmt die Suche nach den richtigen Ressourcen Zeit in Anspruch und lenkt den Anwender von einer effizienten Teilnahme an der Konferenz ab, während er die richtigen Dokumente oder Informationen ausfindig macht. Alternativ können Konferenzteilnehmer eine erhebliche Zeit für die Vorbereitung der Konferenz aufwenden, einschließlich des Erinnerns und Ausfindigmachens der richtigen Dokumente oder Informationen. Dies führt zu großer Zeitverschwendung und Verlust an Arbeitseffizienz.
-
Eine Lösung bei dieser Vorgehensweise besteht darin, zusammen mit der Einladung zur Konferenzverbindung Anhänge per E-Mail zu versenden, jedoch bringt dies zahlreiche Probleme mit sich in Bezug auf die Kontrolle der Version, übermäßig große E-Mail-Anhänge, unterschiedliche Mengen von Dokumenten für verschiedene Teilnehmer an der Konferenzverbindung und andere Probleme. Eine weitere Vorgehensweise besteht darin, den Anwender zu veranlassen, die benötigten Informationen strukturiert einzugeben, in Wirklichkeit jedoch geben die Leute immer noch häufig all diese Informationen in unstrukturiertem Klartext an. Diese Vorgehensweisen sind nicht zeiteffektiv und/oder bringen zusätzliche Probleme mit sich, welche die Effizienz und den Anwendungskomfort einer Konferenzverbindung schmälern.
-
ZUSAMMENFASSUNG
-
Weitere Merkmale und Vorteile der Offenlegung werden in der nachfolgenden Beschreibung dargelegt und sind teilweise aus der Beschreibung offensichtlich oder können durch praktische Anwendung der hier offengelegten Prinzipien erfahren werden. Die Merkmale und Vorteile der Offenlegung können mit Hilfe der in den beigefügten Ansprüchen besonders hervorgehobenen Instrumente und Kombinationen verwirklicht und erzielt werden. Diese und weitere Merkmale der Offenlegung gehen ausführlicher aus der folgenden Beschreibung und den beigefügten Ansprüchen hervor oder können durch praktische Anwendung der hier dargelegten Prinzipien erfahren werden.
-
Offengelegt werden hier Systeme, Verfahren und nichttransitorische computerlesbare Speichermedien für einen automatischen Beitritt zu einer Konferenzverbindung und für einen automatischen Abruf von der Konferenzverbindung zugeordneten Ressourcen. Das System kann der Konferenzverbindung aufgrund eines Auslöseereignisses automatisch beitreten, und/oder das System kann der Konferenzverbindung aufgrund einer Anwendereingabe, wie zum Beispiel einem Klick oder einem Sprachbefehl, beitreten. In einer Ausführungsform empfängt ein das Verfahren nutzendes System zunächst eine Einladung an einen Anwender zum Beitritt zu einer Konferenzverbindung. Das System extrahiert aus der Einladung eine eingeplante Zeit der Konferenzverbindung, Adressinformationen der Konferenzverbindung, Authentifizierungsinformationen der Konferenzverbindung und eine Modalität der Konferenzverbindung. Das System kann diese Informationen mittels Fuzzy-Logik, Maschinenlernen und/oder eines regulären Ausdrucks extrahieren. Ferner kann das System eine Menge von der Konferenzverbindung zugeordnete Ressourcen, wie zum Beispiel Dokumente, Telefonnummern, Bilder und so weiter erkennen. Das System kann dann ein Ereignis zur Zuschaltung des Anwenders zur Konferenzverbindung zur eingeplanten Zeit der Konferenzverbindung anhand der Adressinformationen der Konferenzverbindung und der Authentifizierungsinformationen der Konferenzverbindung mittels der Modalität der Konferenzverbindung einplanen. Das System kann auch Links zu den Ressourcen, eine Liste oder ein Verzeichnis aller Ressourcen oder einzelne oder gemeinsam genutzte Kopien der Ressourcen in das Ereignis mit aufnehmen. Unter Verwendung dieses eingeplanten Ereignisses kann das System dann zum eingeplanten Zeitpunkt das Ereignis abrufen, anhand der gespeicherten Informationen automatisch der Konferenz beitreten und automatisch die Ressourcen oder Links zu den Ressourcen für die Konferenz abrufen.
-
In einer Ausgestaltung überwacht das System auch Anwenderkommunikationen auf Änderungen der Konferenzverbindung nach Einplanung des Ereignisses, wie zum Beispiel das Senden einer E-Mail durch einen Konferenzmoderator, mit dem er den eingeladenen Konferenzteilnehmern mitteilt, dass die Verbindung auf den nächsten Tag verschoben worden ist, und, wenn eine Änderung der Konferenzverbindung gefunden wird, aktualisiert das System das Ereignis aufgrund der Änderung. In einer weiteren Ausgestaltung extrahiert das System aus einem Anwenderprofil oder einer anderen Quelle optionale Anwenderinformationen, die für den Beitritt zur Konferenzverbindung nicht notwendig sind, wie zum Beispiel den Vornamen eines Anwenders, und legt die optionalen Anwenderinformationen beim Beitritt zur Konferenzverbindung vor, wie zum Beispiel durch Umwandlung des Namens des Anwenders in Sprache und hörbare Bekanntgabe des Namens des Anwenders, wenn das System im Namen des Anwenders der Konferenz beitritt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Um zu beschreiben, auf welche Weise die vorgenannten und andere Vorteile und Merkmale der Offenlegung erzielt werden können, wird eine speziellere Beschreibung der weiter oben kurz beschriebenen Prinzipien gegeben, mit Bezug auf spezielle Ausführungsformen dieser Prinzipien, die in den beigefügten Zeichnungen veranschaulicht sind, wobei zu verstehen ist, dass diese Zeichnungen Lediglich Ausführungsbeispiele der Offenlegung zeigen und deshalb nicht als Einschränkung von deren Umfang zu betrachten sind. Die Prinzipien werden durch Verwendung der beigefügten Zeichnungen mit zusätzlicher Genauigkeit und Ausführlichkeit beschrieben und erläutert.
-
1 veranschaulicht eine beispielhafte Ausführungsform des Systems;
-
2 veranschaulicht eine beispielhafte Einladung zu einer Konferenzverbindung;
-
3 veranschaulicht eine beispielhafte Infrastruktur des Systems;
-
4 veranschaulicht eine erste beispielhafte Ausführungsform des Verfahrens; und
-
5 veranschaulicht eine zweite beispielhafte Ausführungsform des Verfahrens.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Verschiedene Ausführungsformen der Offenlegung werden im Folgenden ausführlich erörtert. Zwar werden spezielle Implementierungen erörtert, es ist jedoch zu verstehen, dass dies lediglich zum Zweck der Veranschaulichung erfolgt. Ein entsprechender Fachmann wird erkennen, dass andere Komponenten und Konfigurationen verwendet werden können, ohne vom Gedanken und Umfang der Offenlegung abzuweichen.
-
Die vorliegende Offenlegung richtet sich an die Notwendigkeit in der betreffenden Technik, Konferenzverbindungen auf effizientere und anwenderfreundlichere Art und Weise beizutreten. Es werden ein System, ein Verfahren und nichttransitorische computerlesbare Medien beschrieben, die einen automatischen Eintritt in eine Konferenzverbindung einplanen und die der Konferenzverbindung zugeordnete Ressourcen automatisch aufrufen. Eine kurze einführende Beschreibung eines grundlegenden Allzwecksystems oder -rechengeräts, das für die Durchführung der Konzepte eingesetzt werden kann, wird hier in 1 beschrieben. Darauf folgt eine ausführlichere Beschreibung der Verfahren. Bei der Darlegung der verschiedenen Ausführungsformen wird hier eine Reihe von Varianten erörtert. Die Offenlegung befasst sich nun mit 1 und wendet sich anschließend wieder einer Erörterung von Konferenzverbindungen zu.
-
Mit Bezug auf 1 weist ein beispielhaftes System 100 ein Allzweckrechengerät 100 auf, einschließlich einer Verarbeitungseinheit (CPU oder Prozessor) 120 und eines System-Bus 110, der verschiedene Systemkomponenten, einschließlich des Systemspeichers 130, wie zum Beispiel eines Festspeichers (ROM) 140 und eines Direktzugriffsspeichers (RAM) 150, mit dem Prozessor 120 koppelt. Das System 100 kann einen Hochgeschwindigkeits-Cache-Speicher aufweisen, der direkt mit dem Prozessor 120 verbunden ist, sich in dessen unmittelbarer Nähe befindet oder als Teil des Prozessors 120 integriert ist. Das System 100 kopiert Daten aus dem Speicher 130 und/oder dem Speichergerät 160 in den Cache zum schnellen Zugriff seitens des Prozessors 120. Auf diese Weise bietet der Cache einen Leistungsschub, der während des Wartens auf Daten Verzögerungen des Prozessors 120 vermeidet. Diese und andere Module können den Prozessor 120 so steuern, dass er verschiedene Aktionen ausführt, oder so konfiguriert sein, dass sie den Prozessor 120 steuern. Ein weiterer Systemspeicher 130 kann ebenfalls zur Verwendung verfügbar sein. Der Speicher 130 kann mehrere verschiedene Speicherarten mit unterschiedlichen Leistungsmerkmalen beinhalten. Man versteht, dass die Offenlegung für ein Rechengerät 100 mit mehr als einem Prozessor 120 oder für eine Gruppe oder einen Cluster von Rechengeräten gelten kann, die miteinander vernetzt sind, um eine höhere Verarbeitungsfähigkeit bereitzustellen. Der Prozessor 120 kann jeglichen Allzweckprozessor und ein Hardware-Modul oder Software-Modul, wie zum Beispiel die im Speichergerät 160 gespeicherten Modul 1 162, Modul 2 164 und Modul 3 166, aufweisen, die für die Steuerung des Prozessors 120 konfiguriert sind, sowie einen Spezialprozessor, bei dem Software-Befehle in das tatsächliche Prozessor-Design eingebracht sind. Der Prozessor 120 kann im Wesentlichen ein vollkommen in sich geschlossenes Rechensystem sein, das mehrfache Kerne oder Prozessoren, einen Bus, einen Speicher-Controller, einen Cache usw. enthält. Eine Mehrkern-Prozessor kann symmetrisch oder asymmetrisch sein.
-
Der System-Bus 110 kann ein beliebiger von mehreren Arten von Bus-Strukturen sein, einschließlich eines Speicher-Bus oder Speicher-Controllers, eines Peripherie-Bus und eines örtlichen Bus, der eine aus einer Vielzahl von Bus-Architekturen verwendet. Eine im ROM 140 gespeicherte Grund-Eingabe/Ausgabe (BIOS) oder Ähnliches kann das Grundprogramm liefern, das dazu beiträgt, Informationen zwischen Elementen innerhalb des Rechengeräts 100 zu überfragen, wie zum Beispiel während des Starts. Das Rechengerät 100 beinhaltet ferner Speichergeräte 160, wie zum Beispiel ein Festplattenlaufwerk, ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk oder Ähnliches. Das Speichergerät 160 kann Software-Module 162, 164, 166 zur Steuerung des Prozessors 120 aufweisen. Weitere Hardware- oder Software-Module sind geplant. Das Speichergerät 160 ist durch eine Laufwerksschnittstelle mit dem System-Bus 110 verbunden. Die Laufwerke und dazugehörigen computerlesbaren Speichermedien bieten eine nichtflüchtige Speicherung von computerlesbaren Befehlen, Datenstrukturen, Programm-Modulen und anderen Daten für das Rechengerät 100. In einer Ausgestaltung beinhaltet ein Hardware-Modul, das eine bestimmte Funktion ausführt, die in einem nichttransitorischen computerlesbaren Medium gespeicherte Software-Komponente, in Verbindung mit den notwendigen Hardware-Komponenten, wie zum Beispiel dem Prozessor 120, dem Bus 110, der Anzeige 170 und so weiter, um die Funktion auszuführen. Die Grundkomponenten sind dem Fachmann bekannt, und geeignete Varianten sind geplant, je nach Art des Geräts, wie zum Beispiel, ob das Gerät 100 ein kleines Hand-Rechengerät, ein Tisch-Computer oder ein Computer-Server ist.
-
Zwar verwendet die hier beschriebene beispielhafte Ausführungsform die Festplatte 160, der Fachmann wird jedoch verstehen, dass in der beispielhaften Betriebsumgebung auch andere Arten computerlesbarer Medien, die über einen Computer zugängliche Daten speichern können, wie zum Beispiel Magnetbandkassetten, Flash-Speicherkarten, DVDs, Kassetten, Direktzugriffsspeicher (RAMs) 150, ein Festspeicher (ROM) 140, ein einen Bit-Strom enthaltendes drahtgebundenes oder drahtloses Signal und Ähnliches, verwendet werden können. Nichttransitorische computerlesbare Speichermedien schließen Medien wie zum Beispiel Energie, Trägersignale, elektromagnetische Wellen und Signale an sich ausdrücklich aus.
-
Um dem Anwender eine Interaktion mit dem Rechengerät 100 zu ermöglichen, stellt ein Eingabegerät 190 eine beliebige Anzahl von Eingabemechanismen dar, wie zum Beispiel ein Mikrofon für Sprache, einen berührungsempfindlichen Bildschirm für Gesten oder grafische Eingaben, eine Tastatur, eine Maus, eine Bewegungseingabe, Sprache und so weiter. Ein Ausgabegerät 170 kann ebenfalls ein oder mehrere einer Anzahl von dem Fachmann bekannten Ausgabemechanismen sein. In manchen Fällen erlauben multimodale Systeme einem Anwender, mehrfache Eingabearten für die Kommunikation mit dem Rechengerät 100 bereitzustellen. Die Kommunikationsschnittstelle 180 regelt und verwaltet grundsätzlich die Anwendereingaben und Systemausgaben. Es gibt keine Einschränkungen für den Betrieb auf jeglicher bestimmten Hardware-Anordnung, und deshalb können die hier genannten Grundmerkmale ohne Weiteres durch später entwickelte verbesserte Hardware- oder Firmware-Anordnungen ersetzt werden.
-
Zur klareren Erklärung wird die veranschaulichende Ausführungsform des Systems so dargestellt, dass sie einzelne Funktionsblöcke einschließlich ”Prozessor” oder Prozessor 120 genannte Funktionsblöcke aufweist. Die Funktionen, die diese Blöcke darstellen, können durch Verwendung gemeinsam genutzter oder dedizierter Hardware bereitgestellt werden, einschließlich, ohne jedoch darauf beschränkt zu sein, Hardware, die in der Lage ist, Software und Hardware auszuführen, wie zum Beispiel ein Prozessor 120, der speziell gefertigt ist, um als Äquivalent für auf einem AllzweckProzessor laufende Software zu arbeiten. Zum Beispiel können die Funktionen eines oder mehrerer der in 1 dargestellten Prozessoren durch einen einzigen gemeinsam genutzten Prozessor oder mehrfache Prozessoren bereitgestellt werden. (Die Verwendung des Begriffs ”Prozessor” ist nicht so auszulegen, dass er sich ausschließlich auf Hardware bezieht, die in der Lage ist, Software auszuführen.) Veranschaulichende Ausführungsformen können Mikroprozessor- und/oder Digital Signal Prozessor(DSP)-Hardware, einen Festspeicher (ROM) 140 zum Speichern von Software, welche die weiter unten erörterten Operationen durchführt, und einen Direktzugriffsspeicher (RAM) 150 zum Speichern der Ergebnisse aufweisen. Es können auch Very Large Scale Integration(VLSI)-Hardware-Ausführungsformen sowie kundenspezifische VLSI-Schaltungen in Kombination mit einer Allzweck-DSP-Schaltung bereitgestellt werden.
-
Die logischen Operationen der verschiedenen Ausführungsformen sind implementiert als: (1) eine Folge von computer-implementierten Schritten, Operationen oder Prozeduren, die in einem Allzweck-Computer auf einer programmierbaren Schaltung laufen, (2) eine Folge von computer-implementierten Schritten, Operationen oder Prozeduren, die auf einer programmierbaren Schaltung für eine spezielle Verwendung kaufen; und/oder (3) zusammengeschaltete Maschinenmodule oder Programm-Maschinen innerhalb der programmierbaren Schaltungen. Das in 1 gezeigte System 100 kann all oder einen Teil der genannten Verfahren durchführen, kann ein Teil der genannten Systeme sein und/oder kann gemäß Befehlen in den genannten nichttransitorischen computerlesbaren Speichermedien arbeiten. Derartige logische Operationen können implementiert sein als Module, die so konfiguriert sind, dass sie den Prozessor 120 so steuern, dass er bestimmte Funktionen gemäß der Programmierung des Moduls ausführt. 1 veranschaulicht zum Beispiel drei Module Mod1 162, Mod2 164 und Mod3 166, welche für die Steuerung des Prozessors 120 konfigurierte Module sind. Diese Module können im Speichergerät 160 gespeichert und zum Zeitpunkt der Laufzeit in den RAM 150 oder den Speicher 130 geladen werden, oder sie können, wie nach dem bisherigen Stand der Technik bekannt, an anderen computerlesbaren Speicherorten gespeichert werden.
-
Nachdem einige grundlegende Rechengerätskomponenten beschrieben wurden, wendet sich die Offenlegung wieder einer Erörterung darüber zu, auf welche Weise Anwendereffizienz und Anwendungskomfort bei Konferenzverbindungen erhöht werden können. Die hier beschriebenen Vorgehensweisen können in einer Ausführungsform alle Ressourcen vereinen, die ein Anwender benötigt, um mit einem einzigen Klick oder ohne jegliche Interaktion des Anwenders einer Konferenz beizutreten. Das System kann die Datenquellen schürfen und eine Ansicht dessen organisieren, was ein Anwender für eine Konferenzverbindung benötigt, und die Ressourcen mit einem Klick oder automatisch aktivieren. Das System kann die Konferenzverbindung für den Anwender einberufen oder ihr beitreten, einschließlich der Eingabe des Konferenz-Codes, der Öffnung eines Web-Konferenz-Links, des Abrufs von Dokumenten und so weiter. Das System kann sogar automatisch den Namen des Anwenders bekanntgeben, wenn der Anwender der Konferenzverbindung beitritt. Diese Vorgehensweise gilt allgemein für Konferenzverbindungen, sie kann jedoch auch für andere Kommunikationen, wie zum Beispiel einen Gruppen-Chat-Raum (d. h. IRC oder eine andere Instant-Message-Anwendung) oder eine Video-Konferenz, gelten. Im Falle eines Gruppen-Chats kann das System den Gruppen-Chat-Client öffnen (oder zum geeigneten URL navigieren), sich für den Anwender anmelden, die richtige Gruppen-Chat-Sitzung auswählen und ihr automatisch beitreten. Das System kann Fuzzy-Logik, Maschinenlernen und/oder den Vergleich regulärer Ausdrücke verwenden, um Informationen der Konferenzverbindung zu extrahieren, ermitteln, welche Ressourcen für die Konferenzverbindung abzurufen sind, und so weiter.
-
In einer Ausgestaltung benötigen verschiedene Anrufer unterschiedliche Ressourcen. Zum Beispiel benötigt ein Konferenzorganisator oder ein leitender Geschäftsführer möglicherweise eine umfangreichere Menge von Dokumenten und Ressourcen als einer der Teilnehmer. Ebenso ist es möglich, dass ein Teilnehmer Zugriff auf eine spezielle Menge von Informationen haben muss, auf die andere keinen Zugriff haben müssen, aufgrund der besonderen Zuständigkeiten oder zuvor zugewieener Aufgaben jenes Teilnehmers.
-
Ein Vorteil der hier dargelegten Vorgehensweisen besteht darin, dass ein Kommunikationssystem eine Konferenzverbindung oder andere Gruppenkommunikation erkennen und sich automatisch mit ihr verbinden kann, sowie automatisch relevante Dokumente und Ressourcen in einem Just-in-Time-Kontext für die Konferenzverbindung abrufen oder vorschlagen kann, statt dass eine Person manuell entscheidet, welche Dokumente und Ressourcen benötigt werden, und dann diese Dokumente sucht, während sie gleichzeitig versucht, in der Konferenzverbindung zu kommunizieren.
-
Diese Vorgehensweise kann anhand einer Einladung zur Konferenzverbindung oder anderer Kommunikationsinformationen die für eine Konferenzverbindung relevanten und potenziell relevanten Ressourcen (wie zum Beispiel Dokumente, Informationen, vorherige Korrespondenz, Kontakte, usw.), einschließlich automatischer Anmeldeinformationen, automatisch abrufen. Lässt dieses System einen Anwender automatisch zu einer Konferenzverbindung beitreten, so erhöht das System die Effizienz des Anwenders/Kunden, indem es ihm zum Beispiel erspart, sich zu erinnern, welche Ressourcen eine Konferenzverbindung betreffen, diese Ressourcen zu suchen und diese Ressourcen zu öffnen, und all das, während er gleichzeitig an der Konferenzverbindung teilnimmt. Diese Vorgehensweise erspart dem Anwender/Kunden auch die Mühe, ein Ereignis im Terminkalender einzutragen, daran zu denken, sich einzuwählen, Einwählnummer und Pass-Code nachzuschlagen, und so weiter.
-
2 veranschaulicht eine beispielhafte Einladung 200 zu einer Konferenzverbindung. Diese Einladung 200 ist eine E-Mail, Einladungen zu Konferenzen können jedoch auch in vielen anderen Formen erfolgen, wie zum Beispiel Textnachrichten, Telefonanrufe und Web-Links. Das System 100 extrahiert Informationen aus der Einladung 200. Das System 100 kann Informationen durch einen regulären Ausdruck, Mustervergleich, Fuzzy-Logik, Maschinenlernen, Anwendung einer Informationenvorlage auf die Einladung, und so weiter, extrahieren. Das System kann Informationen, wie zum Beispiel eine Telefonnummer 202, einen Sicherheits-Code 204, eine Web-Adresse 206, eine Kommunikationsmodalität 208, wie zum Beispiel Telefon- oder Video-Konferenz, ein Thema der Konferenz 210 und Datum und Uhrzeit 212, erkennen. Das System 100 kann einfache Mustervergleiche anstellen, wie zum Beispiel die Prüfung auf Strings 'http' oder 'www' für Web-Adressen 206. Das System kann einen komplexeren regulären Ausdruck oder anderen Algorithmus anwenden, um Telefonnummern 202 und deren mehrfache Variationen zu vergleichen. Ein solcher, auf Telefonnummern abzielender regulärer Ausdruck ist folgender:
^([0-9](|-)?)?(\(?[0-9]{3}\)?|[0-9]{3})(|-)?([0-9]{3}(|-)?[0-9]{4}|[eine-zA-Z0-9]{7})$
-
Weitere Informationen, wie zum Beispiel das Konferenzthema 210, können erfordern, dass das System eine kompliziertere und bedeutungsvollere Analyse des Inhalts der Nachricht vornimmt.
-
Das System, das die Informationen extrahiert, kann in einem Netzwerk gespeichert oder Teil eines Kommunikationsgeräts eines Anwenders sein. Zum Beispiel kann ein Mail-Server, wie zum Beispiel ein Microsoft-Exchange-Server, Informationen der Konferenzverbindung abfangen und extrahieren, während er eingehende und/oder ausgehende E-Mails verarbeitet. Extrahiert der Server erfolgreich eine Einladung zur Konferenzverbindung, kann der Server den Terminkalendern der entsprechenden Anwender Ereignisse hinzufügen, um zu dem in der Einladung zur Konferenzverbindung genannten Zeitpunkt und in der genannten Art und Weise den Beitritt zur Konferenz automatisch auszulösen. In einem Beispiel eines Anwender-Client empfängt das Smartphone eines Anwenders eine Einladung zu einer Konferenzverbindung in Form einer Textnachricht. Die Textnachricht kann ein optionales Identifizierungskennzeichen oder einen anderen Schlüsselzusatz beinhalten, welcher das empfangende Smartphone veranlasst, die Textnachricht auf Informationen der Konferenzverbindung zu analysieren. Erkennt das Smartphone Informationen der Konferenzverbindung, so plant das Smartphone ein Ereignis ein, um den Anwender automatisch zur Konferenz beitreten zu lassen und/oder dem Anwender während der Konferenz zusätzliche Ressourcen anzubieten. In jeder dieser beiden Ausführungsformen plant das Smartphone oder der Mail-Server ein Terminkalenderereignis ein, das in einem oder mehreren Geräten eine oder mehrere Aktionen auslöst, um der Konferenz beizutreten. Zum Beispiel kann das Terminkalenderereignis in mehrfachen Geräten eine Folge von Schritten auslösen, die zumindest einige der folgenden Schritte ausführen: Verbindung mit der Konferenz, Eingabe von Authentifizierungsinformationen, Bekanntgabe des Anwenders und Verbindung des Anwender mit der Konferenz.
-
3 veranschaulicht eine beispielhafte Systeminfrastruktur 300 zum automatischen Beitritt von Anwendern zu Konferenzverbindungen. In dieser Infrastruktur 300 empfängt ein Anwender 302 über ein Smartphone 302a oder einen Tisch-Computer 302b eine Einladung zur Konferenzverbindung. Weitere Anwender 304, 306, 308 erhalten eine Einladung zu derselben Konferenzverbindung. Eines oder mehrere der Geräte extrahieren Informationen aus der Einladung. Eines oder beide der Geräte 302a, 302b des Anwenders können ein Ereignis zu einer Terminkalenderdatenbank 316 hinzufügen oder anhand der extrahierten Informationen über einen Terminplaner 318 ein zeitbasiertes Ereignis zum automatischen Beitritt zur Konferenzverbindung erzeugen.
-
In einer Ausgestaltung wird die Konferenzverbindung zum Beitritt zu einer über einen zentralen Konferenz-Server 312 gehosteten Konferenzverbindung eingeplant. In diesem Fall kann das System dem Konferenz-Server 312 eine Antwort auf die Einladung mit Empfangsbestätigung und Bestätigung der geplanten Teilnahme des Anwenders senden. Das System kann dem Anwender auch eine Benachrichtigung, wie zum Beispiel ein Popup-Fenster, bereitstellen, dass das System im Namen des Anwenders automatisch ein Ereignis zum automatischen Beitritt zur Konferenzverbindung eingeplant hat. Das System kann auch einplanen, der Konferenzverbindung zugeordnete Ressourcen 314 automatisch zu öffnen. Die Ressourcen 314 können im Netzwerk gespeichert sein, mit der Einladung zur Konferenzverbindung empfangen werden, örtlich gespeichert sein oder in einem anderen Gerät des Konferenzteilnehmers gespeichert sein.
-
Zum Zeitpunkt der Konferenz oder kurz zuvor kann das System 100 anhand von Präferenzen des Anwenders und/oder Anwesenheitsinformationen des Anwenders auswählen, welches Gerät zum eingeplanten Zeitpunkt der Konferenzverbindung zugeschaltet werden soll. Befindet sich der Anwender zum Beispiel im Büro, kann das System ein Tischtelefon für die Zuschaltung zur Konferenz verwenden. Befindet sich der Anwender an einem Flughafen, kann das System ein Smartphone oder ein Tablet-Gerät für die Zuschaltung zur Konferenz verwenden. Besucht der Anwender gerade eine Büro, das nicht sein reguläres Büro ist, kann das System über Voice over IP (VoIP) oder das Telefon im Gastbüro die Verbindung zur Konferenz herstellen. Präferenzen des Anwenders können auch eine Rolle spielen. Zum Beispiel könnten die Präferenzen des Anwenders bestimmen, dass zu bestimmten Tageszeiten der Beitritt zu Konferenzverbindungen ausschließlich über ein Tischtelefon erfolgen soll.
-
Nachdem einige grundlegende Systemkomponenten und Konzepte beschrieben wurden, wendet sich die Offenlegung jetzt den zwei in 4 und 5 dargestellten beispielhaften Ausführungsformen der Verfahren zu. Zwecks größerer Klarheit werden die Verfahren mit Bezug auf ein beispielhaftes, für die Durchführung der Verfahren konfiguriertes System 100, wie in 1 gezeigt, erörtert. 4 veranschaulicht eine erste beispielhafte Ausführungsform des Verfahrens zur Einplanung eines automatischen Beitritts zu einer Konferenzverbindung. Das System 100 empfängt eine Einladung an einen Anwender, einer Konferenzverbindung beizutreten (402). In einer gängiges Implementierung senden die Anwender und/oder die automatisierten Systeme Einladungen zur Konferenzverbindung per E-Mail, Einladungen zur Konferenzverbindung können jedoch auch mittels anderer Modalitäten, wie zum Beispiel einer Textnachricht, versandt werden. Als weiteres Beispiel kann das System bei einer mündlich übermittelten Einladung zur Konferenzverbindung eine Spracherkennung durchführen, indem es eine Sprachnachricht verarbeitet oder einen Telefonanruf überwacht.
-
Das System 100 extrahiert aus der Einladung eine eingeplante Zeit der Konferenzverbindung, Adressinformationen der Konferenzverbindung, Authentifizierungsinformationen der Konferenzverbindung und eine Modalität der Konferenzverbindung (404). Das System 100 kann Informationen mittels Fuzzy-Logik, Maschinenlernen und/oder regulärer Ausdrücke extrahieren. Das System 100 kann eine in Perl, Python, Ruby geschriebene reguläre Ausdrucksmaschine und/oder eine andere geeignete Sprache verwenden. Das System 100 kann den Anwender auffordern, die extrahierten Informationen der Konferenzverbindung zu bestätigen. In einer Ausgestaltung fordert das System 100 den Anwender auf, die extrahierten Informationen zu bestätigen, wenn die Gewissheit der extrahierten Informationen unterhalb einer Schwelle liegt.
-
Um das Extrahieren von Informationen aus der Einladung zu unterstützen, kann das System auch eine Vorlage der Konferenzinformationen identifizieren, welche mit der Einladung übereinstimmt. Zum Beispiel versenden bestimmte Konferenzsysteme Einladungen in unterschiedlichen Formaten mit unterschiedlichen Anordnungen von Text und Daten. Wenn das System 100 ein bestimmtes Format der Daten identifizieren kann, ist das Extrahieren von Informationen daraus trivial. Weiß das System 100 zum Beispiel, dass ein Konferenzsystem der Marke ABC die Einladung versandt hat, kann das System 100 anhand der Vorlage der Konferenzinformationen für die Marke ABC die eingeplante Zeit der Konferenzverbindung, Adressinformationen der Konferenzverbindung, Authentifizierungsinformationen der Konferenzverbindung und die Modalität der Konferenzverbindung extrahieren. Das System 100 kann eine Liste häufig verwendeter oder vorgefundener Vorlagen nach Lieferern, Marken, Anwendern und so weiter beinhalten. In einer Ausgestaltung empfängt das System 100 von den Lieferern oder von anderen Anwendern Aktualisierungen der Vorlage. Die Anwender können solche Vorlagen editieren, um zusätzliche Informationen zu sammeln, Fehler beim Extrahieren zu beheben, und aus anderen Gründen. Im Folgenden werden drei beispielhafte Vorlagen gezeigt:
-
Beispiel Nr. 1
-
Einladung zur Konferenzverbindung von [INVITING_PARTY] für den [DATE] um [TIME]
-
- Einwählnummer: [ACCESS_NUMBER]
- Teilnehmer-Code: [ACCESS_CODE]
- Moderatoren-Code: [MODERATOR_ACCESS_CODE]
-
Beispiel Nr. 2
-
[INVITING_PARTY] lädt Sie zur Teilnahme an einer Konferenzverbindung ein.
Datum – [DATE]
Uhrzeit – [TIME]
Tel. – [ACCESS_NUMBER]
Code – [ACCESS_CODE]
-
Beispiel Nr. 3
-
Wir schlagen eine Konferenzverbindung am nächsten Montag, den 13. September um 12.00 Uhr mittags vor, um über die bevorstehenden Ereignisse zu sprechen. Wegen des Sommers liegen wir etwas hinter dem Plan zurück, wir hoffen jedoch, dass wir unsere regelmäßigen Konferenzverbindungen jeweils am ersten Montag im Monat um 12.00 Uhr mittags fortsetzen können. Bitte teilen Sie mir mit, wenn Sie nicht teilnehmen können oder wenn Sie einen Punkt auf die Tagesordnung setzen möchten.
Konferenzeinwählnummer: [ACCESS_NUMBER]
Zugangs-Code: (ACCESS_CODE]
-
Im ersten obigen Beispiel werden einige Informationen in strukturierter Form und weitere Informationen in einer Kopfzeile gespeichert. Im zweiten obigen Beispiel werden weitere Informationen, wie zum Beispiel die Telefonnummer, der Zugangs-Code, Datum und Uhrzeit, in strukturierter Form angeboten. Im dritten obigen Beispiel stellt die Vorlage lediglich eine Führung für die Zugangsnummer und den Zugangs-Code bereit, das System 100 muss jedoch eine zusätzliche Verarbeitung des Textkörpers der Nachricht vornehmen, um Datum und Uhrzeit zu extrahieren. Das System kann auch den Textkörper der Nachricht verarbeiten, um eine wiederkehrende Besprechungsstruktur (d. h. die 'regelmäßigen Konferenzverbindungen jeweils am ersten Montag im Monat um 12.00 Uhr mittags') zu erkennen und eine wiederkehrendes Muster eingeplanter Ereignisse zu erstellen.
-
In einer Ausgestaltung schließt das System anhand der Vorlage oder anhand der extrahierten Informationen auf die Kommunikationsmodalität. Extrahiert das System 100 zum Beispiel eine als xxx-xxx-xxxx formatierte Nummer, kann das System 100 daraus schließen, dass die Kommunikationsmodalität das Telefon ist. Extrahiert das System 100 eine Adresse wie http://www.myconference.com/1234/index.html, kann das System daraus schließen, dass die Kommunikationsmodalität eine Web-Konferenz ist.
-
In einigen Fällen, in denen ein Konferenzorganisator manuell eine Einladung zur Konferenzverbindung erzeugt, kann das System oder ein Anwender eine fuzzy Vorlage erzeugen, welche den Stil des Organisators abgleicht und dazu beitragen kann, nützliche Informationen der Konferenzverbindung aus späteren Einladungen anhand des Stils des Organisators zu identifizieren.
-
In einigen Fällen ermittelt das System 100, dass die Konferenz zusätzliche, optionale Informationen, wie zum Beispiel eine hörbare Bekanntgabe des Namens eines Konferenzteilnehmers, akzeptieren kann. Das System kann optionale Anwenderinformationen extrahieren, die für den Beitritt zur Konferenzverbindung nicht notwendig sind, wie zum Beispiel eine Audioaufzeichnung des Namens des Anwenders, und kann die optionalen Anwenderinformationen beim Beitritt zur Konferenzverbindung vorlegen. Das System kann diese optionalen Anwenderinformationen aus einem Anwenderprofil extrahieren. Zum Beispiel kann der Anwender im Voraus eine hörbare Bekanntgabe seines Namens zur Verwendung beim Beitritt zu Konferenzen aufzeichnen. Alternativ kann das System 100 durch ein Text-zu-Sprache-Modul den Namen des Anwenders als Text verarbeiten, um eine synthetische hörbare Bekanntgabe des Namens des Anwenders zu erzeugen. Beispiele für optionale Anwenderinformationen sind ein Textname, ein gesprochener Name, ein Bild, ein Titel, eine maximale Zeitdauer, während der der Anwender an der Konferenzverbindung teilnehmen kann, eine Rückruftelefonnummer, Termininformationen, Anwesenheitsinformationen und Kontaktinformationen.
-
Das System 100 plant ein Ereignis zur Zuschaltung des Anwenders zur Konferenzverbindung zur eingeplanten Zeit der Konferenzverbindung anhand der Adressinformationen der Konferenzverbindung und der Authentifizierungsinformationen der Konferenzverbindung mittels der Modalität der Konferenzverbindung ein (406). Das Ereignis zur Zuschaltung des Anwenders zur Konferenz kann eine minimale oder gar keine Interaktion des Anwenders erfordern. Zum Beispiel kann das Ereignis ein Ein-Klick-Popup auf dem Bildschirm des Anwenders sein, mit dem zum Beitritt zur Konferenz aufgefordert wird. In einer weiteren Ausführungsform stellt das System dem Anwender einen Hinweis oder ein Warnsignal bereit, dass das System im Begriff ist, der Konferenz beizutreten oder der Konferenz beitritt. Der Anwender kann den Hinweis oder das Warnsignal ignorieren und warten, bis das System automatisch zur Konferenz zuschaltet, oder der Anwender kann mit dem Hinweis interagieren, um die Zuschaltung zu modifizieren oder zu annullieren. In einer Ausgestaltung baut das System aufgrund des Ereignisses zunächst eine Testverbindung zur Konferenzverbindung auf, empfängt ein Feedback von der Testverbindung und aktualisiert aufgrund des Feedbacks die Adressinformationen der Konferenzverbindung und/oder die Authentifizierungsinformationen der Konferenzverbindung und/oder die Modalität der Konferenzverbindung. Verschiedene Konferenzeinstellung können zum Testen der Verbindung mit der Konferenz erlaubt sein oder auch nicht.
-
In einer optionalen Variante identifiziert das System 100 außerdem eine der Konferenzverbindung zugeordnete Ressource und plant das Ereignis so ein, dass es außerdem die Ressource in Verbindung mit der Zuschaltung des Anwenders zur Konferenzverbindung öffnet. Hat zum Beispiel der Initiator der Konferenzverbindung eine Einladung zur Konferenzverbindung per E-Mail mit einer Tabellenkalkulation als Anhang versandt, kann das System die Tabellenkalkulation in Verbindung mit dem Beitritt zur Konferenzverbindung für den Anwender automatisch öffnen.
-
Das System 100 kann Anwenderkommunikationen auf Änderungen der Konferenzverbindung nach Einplanung des Ereignisses überwachen. Findet das System in einer späteren E-Mail, Telefongespräch oder Instant Message eine Änderung der Konferenzverbindung, aktualisiert das System das Ereignis aufgrund der Änderung. Die Änderung kann auch die Annullierung oder Aufschiebung der Konferenzverbindung sein.
-
5 veranschaulicht eine zweite beispielhafte Ausführungsform des Verfahrens zur Einplanung eines automatischen Beitritts zu einer Konferenzverbindung. Das System 100 ruft ein in einer Ereignisdatenbank eines Anwenders eingeplantes Konferenzverbindungsereignis ab (502). Das System kann die eingeplante Konferenzverbindung vor einem für das eingeplante Konferenzverbindungsereignis eingeplanten Zeitpunkt abrufen. in einer Ausgestaltung ruft das System die eingeplante Konferenzverbindung einen Zeitraum vor dem eingeplanten Zeitpunkt ab. Der Zeitraum kann auf einer erwartungsgemäß für die Zuschaltung zur Konferenzverbindung benötigten Zeitdauer basieren.
-
Das System 100 extrahiert aus dem eingeplanten Konferenzverbindungsereignis Adressinformationen, Authentifizierungsinformationen und eine Modalität (504). Die Adressinformationen können zum Beispiel eine Telefonnummer, eine Web-Adresse, eine Video-Konferenzadresse oder eine IP-Adresse sein. Die Authentifizierungsinformationen können ein Passwort, ein Pass-Code und/oder eine persönliche Identifikationsnummer sein.
-
Das System 100 baut anhand der Adressinformationen und der Authentifizierungsinformationen über die Modalität eine Verbindung zur Konferenzverbindung auf (506) und schaltet den Anwender der Verbindung zu (508). In einer Ausgestaltung identifiziert das System, um dem Anwender weitere Zeit und Mühe zu sparen, eine der Konferenzverbindung zugeordnete Ressource und plant das Ereignis so ein, dass es außerdem die Ressource in Verbindung mit der Zuschaltung des Anwenders zur Konferenzverbindung öffnet. Die Ressource kann ein Dokument, ein Bild, eine Tabellenkalkulation, Kontaktinformationen, ein Terminkalender, ein E-Mail-Anhang oder eine andere Ressource sein.
-
Die Offenlegung wendet sich nun einer gründlicheren Erörterung der weiter oben genannten Vorgehensweisen des Maschinenlernens zum Extrahieren von Informationen zu. Maschinenlernalgorithmen können aus E-Mails oder Terminen von Anwendern Informationen der Kommunikationssitzung, wie zum Beispiel Konferenzbrückennummer und Teilnehmer-Code, extrahieren. Das System kann dann die abgerufenen Informationen zur einfachen Einrichtung einer Kommunikationssitzung verwenden, zum Beispiel durch Wahl der Konferenzbrückennummer und Eingabe eines Teilnehmer-Codes sowie durch Pop-up von Web-Konferenz-Links mit beschränkter oder ganz ohne Interaktion des Anwenders. Das System kann auch durch Überwachung der Kommunikationssitzungen der Anwender die abgerufenen Informationen überprüfen.
-
Die Identifizierung von Telefonnummern kann zumindest einige Verarbeitung natürlicher Sprache erfordern. Außerdem kann das System, wenn die Zielnummer eine Konferenzbrückennummer ist und einen Teilnehmer-Code für den Beitritt zur Konferenz erfordert, auch den Teilnehmer-Code identifizieren. Das System kann für die Zuschaltung zur Konferenz die Konferenznummer wählen und den Teilnehmer-Code als eine Folge eingeben. Das einfache Anklickbarmachen von auf einer Web-Seite erscheinenden Nummern ist keine geeignete Abwicklung komplizierter Szenarien, wie zum Beispiel der Beitritt zu einer Konferenz.
-
Die Verwendung von Verarbeitung natürlicher Sprache und Textanalysetechniken zur Erfassung der semantischen Bedeutungen von Nummern in einem Dokument kann sicherlich bei der Identifizierung von Telefonnummern helfen. Die Verarbeitung natürlicher Sprache muss sich mit fast unendlichen Variationen der Art und Weise, wie Menschen ihre Besprechungsinformationen spezifizieren, befassen. Zum Beispiel ist der nachfolgende String (bei dem die echten Nummern aus Sicherheits- und Datenschutzgründen geändert wurden) eine Kopie eines echten Termins, der eine Konferenzbrückennummer mit Teilnehmer-Code und Host-Code spezifiziert:
720 300 2000 p 022222 h 922222
-
Diese Arten von Strings werden oft verwendet, um Besprechungstermine in Unternehmen einzurichten. Dieser String ist für eine semantische Analyse nicht allgemein geeignet, weil er nur wenige oder gar keine bedeutungsvollen Wörter enthält. Wenn jedoch die Menschen bei der Spezifizierung von Terminen ähnliche Muster befolgen und das System die Muster lernen kann, kann das System dann bedeutungsvolle Nummern aus den Strings extrahieren.
-
Testtermine ergaben, dass Menschen in unterschiedlichen Organisationen gewöhnlich ähnliche Muster oder Mustermengen verwenden, um ihre Konferenzinformationen zu spezifizieren. Das Extrahieren bedeutungsvoller Nummern ist nur der erste Schritt für eine Ein-Klick- und/oder automatische Einrichtung der Sitzung. Das System muss auch zumindest die Wählfolge und die Rolle der wählenden Partei identifizieren. Zum Beispiel muss bei einem regulären Telefonanruf lediglich eine Telefonnummer gewählt werden, während ein Konferenzteilnehmer eine Brückennummer und einen Teilnehmer-Code wählen muss. Ferner muss ein Konferenz-Host eine Brückennummer, gefolgt von einem Host-Code, wählen. Mit den richtigen Informationen kann das System die Einrichtung der Sitzung automatisieren.
-
Das System kann auch einen Feedback-Mechanismus aufweisen, um den Maschinenlernalgorithmus zu verbessern, wenn das System die korrekten Nummern nicht einwandfrei extrahieren kann. Der Feedback-Mechanismus kann dem System helfen, neue Muster zu lernen, vorhandene Muster zu aktualisieren und veraltete Muster zu entfernen.
-
Eine Ein-Klick-Konferenz ist ein Beispiel, das die Vorgehensweise der automatischen Einrichtung der Sitzung aufgrund von Maschinenlernen veranschaulicht. In Unternehmen verbringen die Menschen oft mehrere Minuten damit, die Brückennummer, den Teilnehmer-Code, den Web-Konferenz-Link usw. zu erfassen und dann vom Telefon aus zu wählen und die Links in Browsers zu kopieren. Für Wissensarbeiter, für die mehrere Besprechungen an einem Tag eingeplant sein können, kann das Ein-Klick-Konferenz-System durch Verkürzung der Konferenzeinrichtzeit deren Produktivität stark verbessern. Das System, das Maschinenlernen verwendet, kann mit viel weniger Anwendermitarbeit und Verwaltungsarbeit in der Datenerfassung trainiert werden, Wählfolgen und Anwenderrollen ermitteln und Feedback-Informationen und Nachtrainings erfassen. Das System kann einen im Folgenden beschriebenen effizienten Entscheidungsbaum-Lernalgorithmus implementieren. Das System kann über das Session Initiation Protocol (SIP) kommunizieren.
-
Bei der Vorgehensweise des Maschinenlernens wendet das System einen sehr speziellen Gebrauch des Textschürfens an, um die Bedeutungen von Nummern herauszufinden. Im Besonderen kann sich das System auf wählbare Nummern zur Tätigung von Anrufen konzentrieren. Außerdem ist es möglich, dass die Bedeutungen der Nummern nicht in Form eines wohlformatierten Strings vorliegen, wie im vorherigen Abschnitt dargelegt. Um die Bedeutungen zu identifizieren, kann das System Informationen aus den Telekommunikationsaktionen der Menschen erfassen.
-
Der Bereich des Maschinenlernens beinhaltet viele verschiedene Maschinenlernalgorithmen, wie zum Beispiel Entscheidungsbäume, Bayessche Statistik, künstliche neurale Netzwerke und Regressionsanalyse. In einer beispielhaften Implementierung verwendet das System Entscheidungsbäume, um die Muster für seine Einfachheit und Effizienz darzustellen. Das System kann jedoch auch unter Verwendung eines beliebigen oder mehrerer Maschinenlernalgorithmen implementiert werden. Das beispielhafte System kann einen oder alle von drei Teilen aufweisen: einen Client-Teil, einen Server-Teil und einen Datenquellen-Teil. Der Client-Teil beinhaltet Anwendungen, die für Brows- und Anrufsteuerungs-Funktionen auf den Tisch-Computern der Anwender sowie auf den Telefonen der Anwender laufen. Der Server-Teil beinhaltet einen Web-Server und Anwendungen zum Aufrufen, Verarbeiten, Lernen und Klassifizieren von Daten. Der Server-Teil besitzt auch eine Datenbank zur Datenpflege, einen Communication Manager (CM) als Kommunikations-Server und einen Konferenz-Server. Der Datenquellen-Teil speist über verschiedene Adapter am Web-Server E-Mails oder Termine in den Server-Teil ein.
-
Die Offenlegung wendet sich nun einer Erörterung des Steuerflusses bei der Abwicklung von Ein-Klick-Konferenzen zu. Wenn sich die Offenlegung auf eine 'Ein-Klick-Konferenz' bezieht, kann dieser Ausdruck auch auf andere Interaktionen des Anwenders als Maus-Klicks und sogar auf Aktionen des Systems, die keine Interaktion des Anwenders erfordern, angewandt werden. Zunächst erfasst das System Termine und Verbindungsdaten, um den anfänglichen Trainingssatz aufzubauen. Der Lernende kann dann aus dem Trainingssatz lernen und einen Klassifikator einrichten, um verschiedene Nummern in verschiedene Klassen einzuordnen. Geht ein neuer Termin ein, gewinnt der Klassifikator die Bedeutungen der Nummern im Termin, konstruiert die Wählfolge und sendet die Informationen an den Anrufsteuerungs-Agenten, zum Beispiel über eine JavaServer Page (JSP). Der Anrufsteuerungs-Agent gibt dann dem Telefon oder anderen Kommunikationsgerät den Befehl, die Verbindung aufzubauen und zu wählen oder sonstwie den Zugangs-Code einzugeben.
-
Das System erfasst die Trainingsdaten automatisch durch Überwachung der Kommunikationsaktivitäten der Anwender, zum Beispiel durch Abonnieren des Communication Managers für SIP-Dialog-Ereignisse und Tastendruck-Ereignisse (KPML). Durch Überprüfung der zeitlichen Beziehung zwischen den Ereignissen und den Terminen der Anwender kann das System die Bedeutungen der Nummern in Terminen erkennen. Der folgende Pseudo-Code zeigt, wie man einen Trainingseintrag erhält:
-
Im Pseudo-Code enthält der Kontext einer Nummer folgende Informationen: die Wörter vor und nach der Nummer, die Meta-Informationen, wie zum Beispiel Absender und Empfänger einer E-Mail, Größe der E-Mails und Position der Nummer in einer E-Mail oder einem Termin, z. B. Betreffzeile, Anfang, Mitte oder Ende einer E-Mail. Die Kontextinformationen und die Nummer selbst können dazu beitragen, Entscheidungsregeln für die Klassifizierung der Nummern zu erstellen.
-
Der obige Pseudo-Code unterscheidet nicht zwischen einem Host-Code (ein Host-Code gehört dem Host der Konferenz, der die Konferenz steuern kann) und einem Teilnehmer-Code für eine Konferenz. Das System kann ferner die Wahlfolgen anderer Anwender überprüfen und folgende Annahmen verwenden, um Host-Code und Teilnehmer-Code zu unterscheiden: erstens wird üblicherweise nur ein Anwender den Host-Code wählen, während mehrfache Anwender den Teilnehmer-Code wählen können. Zweitens wählt üblicherweise der Organisator der Besprechung den Host-Code. Drittens setzt meistens der Absender den Host-Code nicht in den Termin, wählt jedoch den Code, wenn er die Konferenz hostet.
-
Der folgende Pseudo-Code zeigt eine Vorgehensweise für die Gewinnung der Wählrolle:
-
Sobald das System genügend Trainingsdaten erworben hat, kann es dann das Maschinenlernen zur Erzeugung von Mustern verwenden. Das System kann das gelernte Ergebnis als Klassifikator in der Datenbank speichern, die geladen wird, wenn das System anläuft, und angewandt wird, wenn ein neuer Termin hereinkommt, um eine Wählfolge zu erhalten. Die Offenlegung erörtert im Folgenden den Lernalgorithmus im Einzelnen ausführlich.
-
Der Teil zur Anrufsteuerung tätigt Anrufe anhand der Wählfolgen. Das System kann die Anrufsteuerung durch die erste Partei verwenden, um IP-Telefone direkt zu steuern. Bei dieser Implementierung der Anrufsteuerung ist vom Standpunkt des Anwenders aus gesehen die Anrufsteuerung durch die erste Partei natürlicher. Das System kann hinauswählen, wie es Anwender normalerweise tun. Es ist zwar möglich, in diesem System eine Anrufsteuerung durch einen Dritten zu verwenden, dies erfordert jedoch, dass Anwender an sie selbst gerichtete Anrufe beantworten, um ausgehende Anrufe zu tätigen.
-
Klassifiziert das System die Nummern für eine Besprechung nicht richtig, kann der Anwender sich entscheiden, eine andere Nummer zu wählen, um der Besprechung beizutreten. In diesem Fall sollte das System in der Lage sein, erstens eine geeignete Anwenderschnittstelle bereitzustellen, damit der Anwender die Wählnummern leicht ändern kann, und zweitens die geänderten Nummern erfassen und einen neuen Trainingseintrag hinzufügen, um unseren Entscheidungsbaum nachzutrainieren. Die Offenlegung erörtert im Folgenden ausführlicher, wie das Feedback abzuwickeln ist.
-
Die Offenlegung wendet sich nun ausführlicher dem Entscheidungsbaumlernen aufgrund des Trainingssatzes zu, einschließlich der Art und Weise, wie die Trainingsinformationen anzuwenden sind, wie das Trainingsergebnis anzuwenden ist und wie die Entscheidungsbäume nachzutrainieren sind. Im Folgenden sind einige beispielhafte Termine aus tatsächlicher Korrespondenz genannt, wobei die Telefonnummern geändert wurden. Manche beispielhaften Termine sind kurz und können als E-Mail-Betreff genannt werden, während andere länger sind und im Textkörper einer E-Mail zu finden sein können.
- • Besprechung mit Sommer-Praktikanten 123-456-7890 TC 123456
- • Überprüfung des Produktrückstands 123-456-7890 oder 666-AVAYA-77, Teilnehmer-Code 654321
- • Team-Besprechung +1 123-456-7890: Teilnehmer-Code: 123456 #
- • https://webconferencing.avaya.com/default.htm?ConfRef=111111&Pin=123456
- • 123 456 7890 T 987654 H 567890
- • Durchsicht der Dias mit Anmerkungen des Sprechers 111-222-3333 Pass-Code 7777777#
- • Marketingplan-Brücke: 123-456-7890 Teilnehmer-Code: 654321
- • Wählnummer +1-234-456-7890: PC: 987654; HC: 567890
- • BT Angaben zur Konferenzverbindung: Tel.: +44 (0)1296 619 850 Pin-Nr.: 748908#
- • Einwähl-Nr. 888.285,4585 Host-Code: 869944 (Greg) Teilnehmer-Code: 107058
- • Einwähl-Nr.: 216-0900 Pass-Code: 5879# Vorsitz: Rob Hemstock
- • Einwähl-Nummer: 203-719-0070 gebührenfreier Anruf innerhalb der USA: 877-315-5218 Pin-Nummer: 910410
- • Der Host (oder Moderator) wählt sich ein mit 1 (888) 689-5736, gibt den Pass-Code 6945190 und dann den Moderator-Code 1998190 ein.
- • Inlands-Einwähl-Nummer: 1-800-713-8600 Internationale Einwähl-Nummer: 1-801-983-4017 Pass-Code: 56871
- • Einwähl-Informationen: Netzwerk: 19-337-0070 für externes Einwählen: +1-203-719-0070 gebührenfreier Anruf innerhalb der USA: 1-877-315-5218 Konferenz-Pin: 553815
-
Anhand dieser Termine verwenden die Menschen verschiedene Muster, um Konferenzinformationen zu spezifizieren. In den meisten Fällen jedoch sind in beiden Firmen für eine Nummer im Termin die Nicht-Nummer-Wörter vor der Nummer sehr wichtig für die Ermittlung, wofür die Nummer verwendet wird. Zum Beispiel verwendet dieselbe Person üblicherweise ähnliche Muster, Nummern am Ende einer langen E-Mail enthalten üblicherweise die Unterschrift und keine Besprechungsinformationen (die Größe der E-Mails und die Position von Nummern sind hilfreiche Informationen), und Nummern in der Betreffzeile sind mit größerer Wahrscheinlichkeit Besprechungsinformationen. Anhand dieser und ähnlicher Beobachtungen kann das System und/oder ein menschlicher Bediener einen Trainingssatz konstruieren, welche die folgenden Informationen aufweist und einen Trainingseintrag in Form eines durch Kommas unterteilten Strings darstellt: <Absender>, <Größe>, Position>, <Wort1>, <Wort2>, <Wort3>, <Nummer>, <Klasse>
-
Bei diesem Trainingseintrag beziehen sich <Wort1>, <Wort2> und <Wort3> auf die drei Nicht-Nummer-Wörter vor einer Nummer, und <Klasse> bezieht sich auf die Klassifizierung der <Nummer>, die aus dem Programm für die Erfassung von Trainingssätzen gewonnen wurde. Jeder durch Komma abgetrennte Werk ist ein Attribut für das Lernen.
-
Der C4.5-Algorithmus ist eine Vorgehensweise, um einen Entscheidungsbaum aufgrund der Beinhaltung von Baumqualitätsmessmechanismen aufzubauen, wobei inkrementelles Lernen ermöglicht und ein Reduzieren des Baums unterstützt wird. Zwar wird der C4.5-Algorithmus als beispielhafter Algorithmus erörtert, das System kann jedoch diesen und/oder andere Algorithmen verwenden. Der C4.5-Algorithmus versucht, den Entscheidungsbaum mit der geringstmöglichen Entropie aufzubauen, was bedeutet, dass er das wichtigste Attribut verwendet, um den Entscheidungsbaum an einem beliebigen Zweigknoten aufzuspalten. Daraus folgt, dass das System im Durchschnitt, wenn das Lernergebnis angewandt wird, um eine Nummer zu klassifizieren, die geringstmögliche Anzahl von Vergleichen verwendet, um das Ergebnis zu erhalten. Ein auf C4.5 basierender Algorithmus namens Incremental Tree Induction (ITI) kann inkrementelles Lernen durchführen, was bedeutet, dass das System für neue Trainingsdaten nicht den gesamten Entscheidungsbaum erneut aufbauen muss. Außerdem ermöglicht sowohl C4.5 als auch ITI ein Reduzieren der Entscheidungsbäume, was dazu beitragen kann, Attribute, die für die Nummernklassifizierung nicht relevant sind, zu entfernen. Der Entscheidungsbaum kann Knoten aufweisen, die Informationen, wie zum Beispiel Wörter, Teilnehmer, Teilnehmer-Codes, Nummern und so weiter, darstellen. Der Entscheidungsbaum verbindet Knoten mit Pfeilen, die Entscheidungsergebnisse, wie zum Beispiel ”=Teilnehmer”, ”!=Teilnehmer”, ”=Code”, ”!=Code”, ”ist_numerisch” oder ”ist_nicht_numerisch”, darstellen. Die Entscheidungsergebnisse können auf binären, ternären, quaternären oder anderen Entscheidungen basieren.
-
Nach dem Training kann das System die Trainingsergebnisse sowie den Trainingssatz speichern. Die Trainingsergebnisse können als Klassifikator in binärem Format gespeichert werden, während der Trainingssatz als durch Kommas unterteilte Strings gespeichert werden kann. Beim Start des Systems lädt das System die Trainingsergebnisse zur Klassifizierung neuer Termine.
-
Es ist unvermeidlich, dass der Maschinenlernalgorithmus manchmal falsche Nummern zum Wählen falsch klassifiziert (falsch positiv) oder die richtigen Nummern zum Wählen nicht identifizieren kann (falsch negativ). In diesem Fall kann das System das Anwender-Feedback mit den korrekten Informationen erfassen und den Entscheidungsbaum nachtrainieren. Selbst wenn es keine Falschklassifizierung gibt, kann das System diese Aktion in einen Trainingsprozess implementieren, um die Regel durchzusetzen. Diese Durchsetzung kann auch die Struktur des Entscheidungsbaums ändern. Zum Beispiel kann das System einen Knoten näher an die Wurzel des Baums rücken, um die Entropie des gesamten Entscheidungsbaums zu minimieren. Bei der Durchführung von Validierung und Nachtraining kann das System das Nachtraining inkrementell berücksichtigen, so dass sich die Leistung des Systems mit wachsender Größe des Trainingssatzes nicht verschlechtert. Das System kann auch berücksichtigen, wie Anwendern der Zugriff auf potenziell korrekte Informationen, wie zum Beispiel andere Nummern in einem Termin, zu verschaffen ist.
-
Für die erste leistungsbasierte Berücksichtigung kann das System den ITI-Algorithmus zum Lernen in unserem Forschungsprototypen verwenden. Der ITI-Algorithmus kann jeden neuen Trainingseintrag in einer konstanten Zeit abwickeln, während die Zeit der Verwendung des C4.5-Algorithmus zum Training des Entscheidungsbaums mit wachsender Größe des Trainingssatzes linear zunimmt. Für die zweite Berücksichtigung des Anwenderzugriffs kann das System einem Anwender die Originalnachricht anbieten und dem Anwender gestatten, eine beliebige Nummer in das Wählfeld zu ziehen und dort abzulegen. Der Anwender kann mit dem System über eine grafische Anwenderschnittstelle, Sprachbefehle, einen Touchscreen, Schaltflächen oder andere Anwenderschnittstellengeräte interagieren.
-
In einer beispielhaften Implementierung läuft das System für die Automatisierung der Einrichtung einer Kommunikationssitzung auf einem JBoss-Anwendungs-Server mit MySQL als Back-End-Datenbank. WebDAV kann E-Mails und Termine aus einem Microsoft-Exchange-Server erfassen. J48, eine Java-basierte C4.5-Implementierung in einem Open-Source-Maschinenlernpaket namens Weka, kann einen anfänglichen Entscheidungsbaum erlernen. Das System kann eine Anrufsteuerung über ein Extensible Markup Language (XML)-basiertes Protokoll, wie zum Beispiel SparkXML, abwickeln. Das System kann Klassifizierung und Nachtraining als Web-Dienste bereitstellen. Kommunikationsmerkmale, wie zum Beispiel Ein-Klick-Konferenzen, können das Simple Object Access Protocol (SOAP) für den Zugriff auf diese beiden Dienste verwenden. In einer Web-Implementierung ist ein Ein-Klick-Konferenz-Merkmal als Widget implementiert, in dem ein Anwender eine beliebige Nummer auswählen, ziehen und in einem beliebigen Eintragsfeld ablegen kann. Das bietet dem Anwender eine bequeme Möglichkeit, Falschklassifizierungen zu korrigieren. Das System kann auch die in Terminen oder E-Mails spezifizierten URLs extrahieren. Enthält der URL Host-Code oder Teilnehmer-Code, wenn ein Anwender durch die Web-Schnittstelle einer Besprechnung beitritt, kann das Widget anhand des spezifizierten URL automatisch die Zuschaltung zur Web-Konferenz-Seite bewirken.
-
Diese Offenlegung beinhaltet die Architektur für die Verwendung von Maschinenlernen zur Erzeugung einer automatischen Wählfolge für die Einrichtung einer Kommunikationssitzung. Das System kann zum Beispiel als Ein-Klick-Konferenz-Widget implementiert sein, um den Maschinenlernprozess zu zeigen. Dieses System kann in einem kontextbasierten Kommunikationssystem eingebettet sein und für tägliche Kommunikationsaktivitäten verwendet werden.
-
Ausführungsformen im Bereich der vorliegenden Offenlegung können auch körperliche und/oder nichttransitorische computerlesbare Speichermedien zum Tragen oder Besitzen computerausführbarer Befehle oder darauf gespeicherter Datenstrukturen beinhalten. Solche nichttransitorischen computerlesbaren Speichermedien können jegliche verfügbaren Medien sein, auf die ein Allzweck- oder Spezial-Computer zugreifen kann, einschließlich der funktionalen Gestaltung eines beliebigen Spezialprozessors, wie weiter oben erörtert. Als Beispiel, ohne darauf beschränkt zu sein, kann ein solches nichttransitorisches computerlesbares Speichermedium ein RAM, ROM, EEPROM, CD-ROM oder ein anderer optischer Plattenspeicher, Magnetplattenspeicher oder ein anderes magnetisches Speichergerät sein oder jegliches andere Medium, das dazu verwendet werden kann, gewünschte Programm-Code-Mittel in Form von computerausführbaren Befehlen, Datenstrukturen oder einem Prozessor-Chip-Design zu tragen oder zu speichern. Werden Informationen über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder drahtgebunden, drahtlos oder eine Kombination von beiden) an einen Computer übertragen oder dort bereitgestellt, sieht der Computer die Verbindung ordnungsgemäß als computerlesbares Medium an. Somit wird jegliche derartige Verbindung ordnungsgemäß als computerlesbares Medium bezeichnet. Kombinationen des Vorgenannten sollen auch in den Bereich computerlesbarer Medien fallen.
-
Computerausführbare Befehle sind zum Beispiel Befehle und Daten, die einen Allzweck-Computer, einen Spezial-Computer oder ein Spezial-Verarbeitungsgerät veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. Zu den computerausführbaren Befehlen gehören auch Programm-Module, die von Computern in dezentralen oder Netzwerk-Umgebungen ausgeführt werden. Allgemein gehören zu den Programm-Modulen Routinen, Programme, Komponenten, Datenstrukturen, Objekte und die Funktionen, die der Gestaltung von Spezial-Prozessoren usw. innewohnen, welche bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Computerausführbare Befehle, dazugehörige Datenstrukturen und Programm-Module sind Beispiele für die Programm-Code-Mittel zur Ausführung von Schritten der hier offengelegten Verfahren. Bestimmte Folgen solcher ausführbaren Befehle oder dazugehörigen Datenstrukturen sind Beispiele für entsprechende Aktionen zur Implementierung der in solchen Schritten beschriebenen Funktionen.
-
Der Fachmann wird erkennen, dass weitere Ausführungsfarmen der Offenlegung in Netzwerk-Rechenumgebungen mit vielen Arten von Computersystemkonfigurationen, einschließlich PCs, tragbarer Geräte, Multiprozessorsystemen, mikroprozessorbasierter oder programmierbarer Verbraucherelektronik, Netzwerk-PCs, Minicomputern, Großrechnern und Ähnlichem betrieben werden können. Ausführungsformen können auch betrieben werden in verteilten Rechenumgebungen, in denen die Aufgaben durch örtliche und entfernte Verarbeitungsgeräte durchgeführt werden, die (entweder durch drahtgebundene Links, drahtlose Links oder eine Kombination von beiden) über ein Kommunikationsnetzwerk verknüpft sind. In einer verteilten Rechenumgebung können sich Programm-Module sowohl in örtlichen als auch in entfernten Speichergeräten befinden.
-
Die weiter oben beschriebenen verschiedenen Ausführungsformen sind lediglich zur Veranschaulichung angegeben und sind nicht so auszulegen, dass sie den Bereich der Offenlegung einschränken. Zum Beispiel können die hier genannten Prinzipien als Teil eines netzwerkbasierten Servers oder als Teil eines Verbrauchergeräts implementiert werden. Der Fachmann wird ohne Weiteres verschiedene Modifikationen und Änderungen erkennen, die an den hier beschriebenen Prinzipien vorgenommen werden können, ohne den hier veranschaulichten und beschriebenen Ausführungsbeispielen und Anwendungen zu folgen und ohne vom Gedanken und Bereich der Offenlegung abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- http://www.myconference.com/1234/index.html [0038]
- https://webconferencing.avaya.com/default.htm?ConfRef=111111&Pin=123456 [0064]