Automatic message management utilizing speech analytics

Embodiments are provided for utilizing speech analytics for automatically managing messages in a communications network. A message from a calling party to an unavailable called party is recorded in a messaging management module. The messaging management module automatically identifies a category for assigning to the content of the message based on information associated with the unavailable called party or a calling party and associates a language model with the message content based on the category. An analysis module utilizes the language model to identify grammar making up the message content. The messaging management module automatically performs a messaging management function on the message content based on a set of rules. The messaging management function may include automatically determining a priority for the message (enabling the message to be retrieved out of order) or automatically triggering an action in response to the message which is directed to the unavailable called party.

BACKGROUND

In communication networks, voice messaging services provide subscribers with a recording of missed calls as well as call information which may be utilized to preview saved messages or later search for specific messages in a network voicemail box. In addition to “audio only” voice messaging services, which provide users with a message waiting light as a visual alert of received messages, multimodal (i.e., audio and visual) voice messaging services provide subscribers with a visual alert graphic or icon in addition to the visual delivery of caller identification, time called, and length of call information associated with the calling party leaving the message.

Current voice messaging services however, suffer from a number of drawbacks. For example, one drawback associated with audio only voice messaging services is that they require subscribers to listen to each call in the order received. Furthermore, subscribers to both audio only and multimodal messaging services must listen to each call to understand the content of the message and manually take action after reviewing or listening to each call. Thus, if a number of calls are received, they all must be reviewed regardless of their importance to the called party. Another drawback associated with current voice messaging services is that messages stored in a database can only be queried by caller name, phone number, or a keyword manually annotated to the message when it is reviewed.

SUMMARY

Embodiments are provided for utilizing speech analytics for automatically managing messages in a communications network. In one embodiment, a message from a calling party to an unavailable called party is recorded in a messaging management module. The messaging management module automatically identifies a category for assigning to the content of the message based on information associated with the unavailable called party or the calling party and associates a language model with the message content based on the identified category. An analysis module utilizes the language model to identify grammar comprising the message content. The messaging management module then automatically performs a messaging management function with respect to the message content based on a set of rules. The messaging management function may include automatically determining a priority for the message (enabling the message to be retrieved out of order), refining the category or automatically triggering an action in response to the message which may be immediately directed to the unavailable called party.

These and other features and advantages will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such features and advantages be included within this description, be within the scope of the present invention, and be protected by the accompanying claims. It is to be understood that both the foregoing general description and the following detailed description are illustrative only and are not restrictive of the invention as claimed.

DETAILED DESCRIPTION

Embodiments are provided for utilizing speech analytics for automatically managing messages in a communications network. In one embodiment, a message from a calling party to an unavailable called party is recorded in a messaging management module. The messaging management module automatically identifies a category for assigning to the content of the message based on information associated with the unavailable called party or the calling party and associates a language model with the message content based on the identified category. An analysis module utilizes the language model to identify grammar comprising the message content. The messaging management module then automatically performs a messaging management function with respect to the message content based on a set of rules. The messaging management function may include automatically determining a priority for the message (enabling the message to be retrieved out of order), refining the identified category or automatically triggering an action in response to the message which is directed to the unavailable called party or its representative.

In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These embodiments may be combined, other embodiments may be utilized, and structural changes may be made without departing from the spirit or scope of the present invention. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.

Referring now to the drawings, in which like numerals represent like elements through the several figures, various aspects of the present invention and an illustrative network environment will be described. In particular,FIG. 1and the corresponding discussion are intended to provide a brief, general description of a suitable network in which the invention may be implemented.

Embodiments of the invention may be implemented as a computer process, a computing device, or as an article of manufacture, such as a computer program product or computer-readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.

Referring now toFIG. 1, an illustrative network environment100for the several embodiments, utilizing the techniques described herein, will be described. As shown inFIG. 1, the network environment100may comprise a communications network including a Service Platform102. The Service Platform102is in communication with a calling party location140and a called party location160over a network4. The calling party location140may include, without limitation, a calling party142, a landline telephone144, and/or a wireless telephone146while the called party location160may include, without limitation, a called party162, a Personal Digital Assistant (“PDA”) or “smartphone”164, a wireless or cordless telephone166, and/or personal computer168. It should be appreciated by those skilled in the art that the PDA or smartphone164may comprise a mobile or wireless telephone phone with features typically available on a personal computer system such an operating system, and a processor and a memory for executing and storing various application programs, Internet access (including sending and receiving electronic mail (“e-mail”)), and a graphics-capable display.

In accordance with one embodiment, the network4may comprise a circuit switched network, such as the conventional public switched telephone network (“PSTN”), utilizing time division multiplexing (“TDM”) for communicating voice and data between wireline and wireless communication devices. In accordance with an alternative embodiment, the network4may comprise a wide area packet switched computing network, such as the Internet, for communicating voice and data utilizing, for example, Voice over Internet Protocol (“VOIP”). Those skilled in the art should appreciate that communication between the network4and the Service Platform102, the calling party location140and the called party location160may be facilitated by TDM or VoIP communication links which may include, but are not limited to two-wire and four-wire copper telephone lines (including digital subscriber lines (“DSL”)), coaxial cable lines, wireless communication links (including Wi-Fi), and the like. The Service Platform102may connect to the network4as a bridged connection to a point-to-point TDM or VoIP call (e.g., a call from the calling party location140to the called party location160) to provide voicemail functionality or alternatively to an existing voicemail platform to capture or utilize created voice messages left for an unavailable called party. It should be understood by those skilled in the art that the messages recorded on the Service Platform102may be accomplished utilizing a number of standards and formats including, but not limited to, the G.711, G.729, GSM, and VOX.

In accordance with one embodiment, the Service Platform102may be configured to communicate with the network4through a firewall170and may comprise various modules and databases for receiving, recording, and processing communications between the calling party station140and the called party station160in real-time. Each module may comprise, without limitation, a server, general purpose desktop, laptop, handheld, tablet, or other type of computer having at least a central processing unit, a system memory, storage capable of storing one or more application programs and other data. It should be understood that the storage may include computer-readable media such as a hard disk or CD-ROM drive, or any other available media that can be accessed or utilized by a computer. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.

The modules and databases may include, without limitation, an analysis module104which executes an analysis application116, a messaging storage module (“MSM”)106which stores messages (e.g., voicemail messages)118, a messaging management module (“MMM”)108which hosts business rules120and executes a messaging management application122, a database110which stores language models126, a gateway module (“GW”)112(if needed for TDM or VoIP conversion), and an authentication, authorization, and accounting module (“AAA”)114. Each of the modules104,106,108,112,114and the database110may be connected to and communicate with each other over a system bus124. It should be appreciated that, in accordance with another embodiment, the modules104,106,108,112,114may comprise software program modules including routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. It should be understood that, in accordance with various embodiments, the Service Platform102and the aforementioned modules, databases, and applications contained therein may also be incorporated within a TDM/circuit or Session Initiated Protocol (“SIP”) based network switch (shown as Service Platform102A). For example, the Service Platform102A may include an MSM106A for storing messages. Alternatively, the aforementioned modules, databases, and applications contained in the Service Platform102may also be incorporated as software modules and data stored in a dedicated premise based computing unit180in communication with a subscriber telephone182(shown as Service Platform102B) or stored on a personal computer154associated with a network subscriber (shown as Service Platform102C). Thus, it should be understood that although the discussion of the aforementioned modules, databases, and applications in the foregoing description refers to the Service Platform102, it will be appreciated that the various embodiments disclosed herein may also be implemented on the Service Platforms102A,102B, and102C.

In accordance with various embodiments, the analysis module104may be configured to execute the analysis application116which may utilize the language models126to identify grammar (i.e., words or phrases) in a recorded voicemail message. In accordance with various embodiments, the language models126may include, but are not limited to established language models (with phonetic based speech recognition) or language and semantic frame models (with large vocabulary continuous speech recognition). The language models126may comprise general language models and/or custom language models for recognizing grammar associated with a specific industry such as the financial industry, the medical industry, the telecommunications industry, construction industry, etc.

In accordance with various embodiments, the MSM106may be configured to store the recorded messages118in a messaging database (not shown). As will be discussed in greater detail with respect toFIGS. 2-3below, the MSM106may further be configured to automatically save the messages118for a predetermined period (which may be defined by a subscriber) based on a priority or identified category associated with the message by the messaging management application122on the MMM108. For example, high priority voicemail messages may be saved on the MSM106for a forty-five or sixty day period. Similarly, a call involving a specific category may be saved on the MSM106for a forty-five or sixty day or longer period.

In accordance with various embodiments, the MMM108hosts the business rules120and the messaging management application122. The MMM108may be configured to execute the messaging management application122to record a message (e.g., a voicemail message left for the called party162by the calling party142on any of the devices164,166, or168, or on a network based voicemail platform106A), automatically identify a message category based on information associated with the calling party142(e.g., caller identification information) or information associated with the called party162(i.e., the unavailable called party), associate a language model (e.g., the language models126) with the message based on the message category, and automatically perform a messaging management function on the message based on the business rules120. For example, in accordance with one embodiment, the business rules120may be utilized by the messaging management application122to prioritize messages based on keywords identified by the analysis application116. In particular, the business rules120may stipulate that messages containing certain key words or phrases such as “missed orders,” “late orders,” “late deliveries,” “medical emergency,” “missed appointments,” etc. be given priority over other words and phrases. It should be understood that the aforementioned list is not exhaustive and that one skilled in the art may configure business rules based on additional key words or phrases.

In accordance with one embodiment, the messaging management function performed by the messaging management application122may include automatically prioritizing the message based on the business rules120, generating a flag for the message based on the message priority, communicating an indicator of the message flag to the unavailable called party, and ranking the message based on the priority. In accordance with another embodiment, the messaging management function performed by the messaging management application122may include automatically triggering an action directed to the unavailable called party based on the business rules120. The triggered action may include, for example, the forwarding of a recorded voicemail message to the called party's personal cellular telephone or the telephone of a colleague of the called party. In accordance with another embodiment, the messaging management function performed by the messaging management application122may automatically refine the message's identified category by applying related business rules120to manage the stored message. The related management may include, for example, retaining the recorded voicemail message for a longer than a standard period for the determined priority. Another related management function may allow retrieval of a message by its category, it priority and/or its “action.” The functionality of the MMM108and the messaging management application122will be described in greater detail below with respect toFIGS. 2 and 3.

The database110stores the business rules120utilized by the messaging management application122on the MMM108. The GW112may be a conventional gateway for converting TDM signals to User Datagram Protocol/Internet Protocol (“UDP/IP”) data in a manner known to those skilled in the art.

Referring now toFIG. 2, an illustrative routine200will be described illustrating a process performed by the Service Platform102in the network environment100for the utilization of speech analytics to automatically prioritize recorded messages in a communications network, in accordance with various embodiments. When reading the discussion of the routines presented herein, it should be appreciated that the logical operations of various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated inFIG. 2-3and making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.

The routine200begins at operation205, where the messaging management application122executing on the MMM108records a message (i.e., a voicemail message) which may be left by the calling party142in a voicemail box associated with an unavailable called party such as the called party162in the called party location160in the network environment100. For example, the message may represent a communication of a missed appointment with the unavailable called party.

From operation205, the routine200continues to operation210, where the messaging management application122automatically identifies a message category for the message based on information associated with the unavailable caller or the calling party. In particular, the messaging management application122may retrieve caller identification information via the bridged connection to the telephone call from the calling party to the unavailable called party162to determine an identity of the calling party location140. For example, if the caller identification information associated with the calling party location140identifies the call as coming from a sales department of a business organization, the messaging management application122may identify a sales category for the message. It should be understood that if the caller identification information associated with the calling party142is unavailable or is associated with a residential telephone line, the messaging management application122may identify a general category for the message or apply a back-up policy such as time-of-day to categorize the call.

From operation210, the routine200continues to operation215, where the messaging management application122associates a language model126with the message based on the category identified at operation210. For example, if the category identified for the message is a sales category, then the messaging management application122may associate a customized language model126including grammar utilized by the sales department in a business organization. It will be appreciated that in accordance with various embodiments, if the message is associated with a general category, then a general language model for recognizing grammar used by the general public, for example, may be associated with the message.

From operation215, the routine200continues to operation220where the analysis application116executing on the application module104utilizes the language model126associated with the message at operation215to identify grammar (i.e., words and/or phrases) and possibly context in the message. The analysis application116then sends the identified grammar to the messaging management application122for prioritization.

From operation220, the operation200continues to operation225where the messaging management application122automatically determines a priority for the message based on the business rules120. In one embodiment, the priority may be determined by filtering the grammar identified in the message in real-time utilizing the language model126based on the set of business rules120. For example, if the message is directed to a sales organization and includes grammar such as “missed delivery,” the messaging management application122may determine that the message is a high priority message if any of the business rules120specifies that missed deliveries are a high priority to the sales organization.

From operation225, the operation200continues to operation230where the messaging management application122flags the message based on the priority assigned at operation225. In particular, the messaging management application122in flagging the message may assign a visual indicator (such as a color) or a keyword to the message for communication to a communications device associated with the unavailable called party162. For example, urgent messages may be assigned the color red or the keyword “urgent” so that the unavailable called party162, when retrieving messages, is immediately notified of urgent messages. From operation230, the operation200continues to operation235where the messaging management application122communicates the indicator of the message flag (e.g., the visual indicator or the keyword) to the unavailable called party162.

From operation235, the operation200continues to operation240where the messaging management application122ranks the prioritized message with respect to other messages118stored for the unavailable called party162in the MSM106. In particular, the messaging management application122may assign a high rank to high priority messages118and a low rank to messages118having a low or no priority. It will be appreciated that the ranking of messages118in this manner facilitates the unavailable called party162to retrieve high priority messages118in a voicemail box regardless of the order the messages118were received. Accordingly, the called party when checking for messages may be prompted (if using an audio-only interface) by a summary greeting alerting him to the number of high priority messages followed by other message partitions. The called party may then retrieve the partition of interest as directed by the greeting. If using a visual interface, the called party may see the summary message-waiting information reflecting the categories by priority and corresponding messages. The called party may then retrieve the partition and/or message of interest. In one embodiment, the described functionality may reflect an integration between the messaging management application122, the MSM106(or106A) and a related voicemail platform within the Service Platform102A (not shown).

From operation240, the operation200continues to operation245where the messaging management application122instructs the MSM106to automatically save the prioritized and ranked message118for a predetermined period based on the assigned priority level. For example, the messaging management application122may instruct the MSM106to retain high priority messages118for a longer period than low or no priority messages118to increase the number of opportunities for the unavailable party162to hear the message118. It will be appreciated that the messaging management application122may be configured with a graphical user interface (not shown) to enable the party162to establish the aforementioned periods. It should be appreciated that in accordance with an embodiment, the option for setting a period for retaining messages may include a default setting in which all messages saved for the same period, regardless of priority. The routine200then ends.

Turning now toFIG. 3, an illustrative routine300for the utilization of speech analytics to automatically trigger an action with respect to recorded messages in a communications network, will now be described in accordance with various embodiments. The routine300begins at operation305where the messaging management application122executing on the MMM108records a message which may be left by the calling party142in a voicemail box associated with an unavailable called party such as the called party162in the called party location160in the network environment100.

From operation305, the routine300continues to operation310, where the messaging management application122automatically identifies a message category for the message based on information associated with the unavailable caller. From operation310, the routine300continues to operation315, where the messaging management application122associates a language model126with the message based on the category identified at operation310. From operation315, the routine300continues to operation320where the analysis application116executing on the application module104utilizes the language model126associated with the message at operation215to identify grammar (i.e., words and/or phrases) in the message.

From operation320, the operation300continues to operation325where the messaging management application122automatically triggers an action directed to the unavailable called party based on the business rules120. For example, the business rules120may specify that voicemail messages left for the unavailable called party should be automatically forwarded to the telephone of a colleague or to an alternate telephone number associated with the called party from which the called party may listen to recorded messages without having to manually retrieve them from a voicemail box. The routine300then ends.