SYSTEMS AND METHODS FOR ADVANCED VOICE MONITORING AND ANALYSIS

A computer system is provided and is programmed to: (1) receive an audible caller statement originating from a caller being routed to the representative; (2) parse the audible caller statement; (3) identify one or more key words from the parsed audible caller statement; (4) search an information database for one or more items of information based upon the one or more key words; (5) identify at least one of the one or more items of information to present to the representative; and (6) transmit the at least one identified items of information to be presented to the representative.

FIELD OF THE DISCLOSURE

The present disclosure relates to monitoring and analyzing speech, and more particularly, to a network-based system and method for electronically monitoring and analyzing audio data to provide relevant information from knowledge databases.

BACKGROUND

Chatbots may be used, for example, to answer questions, obtain information from, and/or process requests from a user. In many cases, these chatbots may be used to handle phone calls. In some of these cases, interacting with a chatbot may be irritating to the callers. In some cases, callers may feel like they must repeat themselves to be understood, or they may be placed in a loop of responses which makes them feel like they are not getting where they need to be in the system. This may lead to the point where the caller continues to repeat themselves and they quickly want to talk to a real person.

In many cases, a live representative that handles customer support or is otherwise responsible for other customer interactions may have to provide information about a large number of different topics to a caller. In taking time to look up materials associated with the caller's reason for calling may make the representative look unknowledgeable or rude for not paying attention to the call. Additionally, the representative may have to put the caller on hold to look up the relevant information. Furthermore, rarely used data files may have been renamed, moved, or otherwise become difficult for the representative to locate quickly in the computer system they may be using. Conventional techniques may have other efficiencies, encumbrances, ineffectiveness, and/or drawbacks as well.

BRIEF SUMMARY

The present embodiments may generally relate to, inter alia, systems and methods that allow a representative to more quickly look-up, be presented, and/or access relevant information without ignoring the caller and/or potentially putting the caller on hold. More specifically, the present systems and methods may provide for electronically monitoring and analyzing audio data (e.g., conversations) to provide relevant information from knowledge databases. The system may include a conversation monitoring and analysis (CMA) computer system and/or one or more user computer devices. In one aspect, the present embodiments may be configured to monitor real-time conversations and provide relevant items of information (in either visual, textual, audible, or other digestible formats) in real-time. For instance, with the present embodiments, a system is provided that can understand complex statements and provide relevant information in response thereto.

In one aspect, a system for electronically monitoring and analyzing audio data may be provided. The system may include a computing device that may include at least one processor in communication with at least one memory device. The computer device may be in communication with a user device associated with a representative servicing a caller. The at least one processor may be configured to: (1) receive data representing an audible caller statement that originates from a caller having been routed to the representative; (2) parse the audible caller statement; (3) electronically identify one or more key words from the parsed audible caller statement; (4) initiate a key word search within a reference database for one or more items of information based upon the one or more key words; (5) identify at least one of the one or more items of information to present to the representative; and/or (6) transmit the at least one identified items of information to be presented to the representative via the user device. The system may include additional, less, or alternate functionality, including that discussed elsewhere herein.

In another aspect, a computer-implemented method for monitoring and analyzing conversations may be provided. The computer-implemented method may be performed by a conversation monitoring and analysis (CMA) computer device including at least one processor in communication with at least one memory device. The CMA computer device may be in communication with a user computer device associated with a user. The method may include: (1) receiving data representing an audible caller statement that originates from a caller having been routed to the representative; (2) parsing the audible caller statement; (3) electronically identifying one or more key words from the parsed audible caller statement; (4) initiating a key word search within a reference database for one or more items of information based upon the one or more key words; (5) identifying at least one of the one or more items of information to present to the representative via the user device; and/or (6) transmitting the at least one identified items of information to be presented to the representative. The computer-implemented method may include additional, less, or alternate actions, including those discussed elsewhere herein.

In another aspect, at least one non-transitory computer-readable media having computer-executable instructions embodied thereon may be provided. When executed by a computing device including at least one processor in communication with at least one memory device and in communication with a user device associated with a representative, the computer-executable instructions may cause the at least one processor to: (1) receive data representing an audible caller statement that originates from a caller having been routed to the representative; (2) parse the audible caller statement; (3) electronically identify one or more key words from the parsed audible caller statement; (4) initiate a key word search within a reference database for one or more items of information based upon the one or more key words; (5) identify at least one of the one or more items of information to present to the representative via the user device; and/or (6) transmit the at least one identified items of information to be presented to the representative. The computer-executable instructions may direct additional, less, or alternate functionality, including that discussed elsewhere herein.

DETAILED DESCRIPTION OF THE DRAWINGS

The present embodiments may relate to, inter alia, systems and methods for parsing multiple intents and, more particularly, to a network-based system and method for electronically monitoring and analyzing data representative of audio conversations using natural language speech analysis to identify key words to be used to conduct searches and provide relevant information from knowledge databases. In one exemplary embodiment, the process may be performed by a conversation monitoring and analysis (“CMA”) computer device. In the exemplary embodiment, the CMA computer device may be in communication with a call handler that routes calls between a caller and a representative who provides help to the caller. In the exemplary embodiment, the CMA computer device may be in communication with a user device associated with the representative or computer device that allows the CMA computer device to communicate with the representative. In the exemplary embodiment, the CMA computer device may also be in communication with a reference or information database. The information database may provide information about different topics that may be of concern to the caller.

The representative may use the information in the information database to help the caller resolve an issue or reason for their call. For example, if the caller is calling for tech support, the information database may include instructions for specific steps for the caller to perform to resolve the caller's issue and/or help to diagnose the caller's issue. The representative may use these steps provided in the information database to help the caller.

In the exemplary embodiment, the CMA computer device may receive data representative of an audio conversation between a caller and a representative in real-time. The CMA computer device receives the audio statements made by the caller and the representative in real-time as the audio statements are streamed to the CMA computer device from the call handler. In real-time and/or near real-time, the CMA computer device parses the audio statements to determine the intent and/or concepts behind the audio statements. In some embodiments, the CMA computer device may be in communication with a natural language processor to parse the audio statements.

In real-time and/or near real-time, the CMA computer device then uses the intent and/or concepts to determine one or more items of information in the information database to assist the representative. In some embodiments, the items of information may include, but are not limited to, scripts, articles, checklists, descriptions, how to guides, and/or other information as needed. Then the CMA computer device may provide the determined one or more items to the representative in real-time and/or near real-time. For example, the CMA computer device may cause the item and/or a link to the item to be displayed on the screen of the representative's computer device.

In some of these embodiments, the CMA computer device may determine a relevance score for each retrieved item and only provide retrieved items that exceed a predetermined threshold. The relevance score may indicate how relevant each item retrieved is to the translated audio file. Relevancy may be determined based upon the number of associations between one or more key words and the items in the information database. Furthermore, these associations may be updated by the representative in real-time based upon the representative's feedback.

In some further embodiments, the representative may provide feedback as to whether the item is relevant to the caller's inquiry or issue. For example, the representative may provide the feedback as a thumb up or thumb down as to whether the item was relevant to the call. For instance, in one call, the representative may say “Good afternoon, my name is Bob. How may I help you today?” The caller may then reply with “I am having trouble logging into my computer/account. It says that my password is wrong.” The CMA computer device may parse the statements to determine that the issue may be related to passwords. The CMA computer device may then search the database to find three potential options for relevant item. The CMA computer device calculates a relevance score for each item. A first item may have an 80% relevancy score, a second item has a 10% relevancy score, and a third item has a 30% relevancy score.

In one embodiment, the CMA computer device may determine that only the first article exceeds the relevancy threshold and only provides that first article to the representative. In another embodiment, the CMA computer device may provide a predetermined number of items to the representative and include the corresponding relevancy scores. For example, the CMA computer device provides the three items with the highest relevancy scores. The representative may then provide an thumbs up or down to each item. The CMA computer device then uses the feedback to improve the searches and/or relevancy scoring for future calls. This feedback is taken into account when future relevancy scores are calculated.

In the exemplary embodiment, a caller may use their caller device (e.g., a mobile phone or other computing device with telephone call capabilities including voice over internet protocol (VOIP)) to place a phone call. The CMA computer device may receive the phone call and interpret the user's speech. In other embodiments, the CMA computer device may be in communication with a phone system computer device, where the phone system computer device receives the phone call and transmits the audio to the CMA computer device. In the exemplary embodiment, the CMA computer device may be in communication with one or more computer devices that are being used by representatives that are speaking to the caller. In one example, the caller may be placing a phone call to order a pizza. The additional computer devices may be capable of providing additional information to the representative, such as an account associated with the phone number and caller preferences.

In the exemplary embodiment, an audio stream may be received by the CMA computer device via a websocket. In some embodiments, the websocket may be opened by the phone system computer device. In real-time, the CMA computer device may use speech to text natural language processing to interpret the audio stream. In the exemplary embodiment, the CMA computer device may interpret the translated text of the speech. When the CMA computer device detects a long pause, the CMA computer device may determine if the long pause is the end of a statement or the end of the user talking.

If the pause is the end of a statement, the CMA computer device may flag (or tag) the text as a statement and may process the statement. The CMA computing device may further identify pauses within the statement and identify portions of the statement between the pauses as utterances. The CMA computer device may identify the caller intent by having a model of utterances and keywords that is capable of identifying the intents of the statement. The CMA computer device may extract data (e.g., a meaning of the utterance) from the identified intents.

If the pause is the end of the caller's talking, the CMA computer device may process the caller's statements (also known as the user's turn). The CMA computer device may also process the caller's statements in real-time to provide the items of information quickly to the representative. The CMA computer device may sort and prioritize all of the intents based upon stored business logic and pre-requisites.

In some further embodiments, the caller may state their name. This may be in response to a prompt from the representative. The CMA computer device may parse the caller's audible statement to retrieve their name. Then the CMA computer device transmits the parsed name to the representative's computer device to be displayed on a screen to the representative. The representative can then either accept the name from the CMA computer device, ask the caller for clarification, and/or correct the provided name. In some embodiments, the caller may state an account number. The CMA computer device may parse the audibly stated account number, look-up the account number in the database, and provide account information to the representative, rather than requiring the representative to type in the account number. For example, the caller may be asking or providing information about an insurance policy and the account is the insurance policy.

In still additional embodiments, the CMA computer device may determine a portion of the retrieved item that is relevant to the conversation between the caller and the representative. For example, the retrieved item may have information about changing passwords on different systems, i.e., iOS and Android. The CMA computer device may determine that the caller has an iOS device and provide the item to the representative so that the item opens to the corresponding section, the corresponding section is highlighted, and/or there is a bookmark at the corresponding section of the item.

While the above describes the audio translation of speech, the systems described herein may also be used for interpreting text-based communication with a user, such as through a text-based chat program. In some embodiments, the CMA computer device monitors the chat with the caller/user and provides relevant items of information to the representative.

In additional embodiments, the CMA computer system may be monitoring audible statements provided through a virtual reality system. For example, the caller is using virtual reality and/or augmented reality to communicate with the representative and the CMA computer system provides the items of information to be provided to the representatives through one or more virtual reality devices.

In still further embodiments, the CMA computer system may also analyze pitch, tone, inflection, words used, and/or phrases to determine a current mood and/or sentiment of the caller. The CMA computer system may then provide that analysis of current mood/sentiment to the representative to help the representative communicate with the caller. For example, the CMA computer device may determine that the caller is angry and inform the representative that there is a 60% chance that the caller is angry. The CMA computer system may then provide one or two items of information on how to assist an angry caller. Furthermore, the CMA computer system may analyze a plurality of calls between callers and representatives to determine the sentiments of different callers, how those moods/sentiments changed over the call, and what the representative did to cause those changes to moods/sentiments. The CMA computer system may then provide that changing mood/sentiment information to improve representative training.

Furthermore, the CMA computer system may then use that changing mood/sentiment information to provide information to the representative to assist in their call with the caller. This information may include suggestions on how to respond and what terms to use to response. These responses would also include the associated help data items that the representative would be providing to the caller. In some embodiments, a user interface would be provided to show both the proposed responses and the needed data. Furthermore, the representative may be able to provide feedback on how the steps worked and any comments from the caller for future reference.

At least one of the technical problems addressed by this system may include: (i) unsatisfactory user experience when interacting with a chatbot application; (ii) inability of a computing device to automatically identify appropriate information to assist user; (iii) inability of a representative to efficiently find appropriate information to assist user; (iv) providing the user with additional methods of providing information; and/or (v) inefficiency in parsing and routing data to assist user.

A technical effect of the systems and processes described herein may be achieved by performing at least one of the following steps: (i) receiving an audible caller statement being routed to the representative; (ii) parsing the audible caller statement; (iii) identifying one or more key words from the parsed audible caller statement; (iv) searching an information database for one or more items of information based upon the one or more key words; (v) identifying at least one of the one or more items of information to present to the representative; and/or (vi) transmitting the at least one identified items of information to be presented to the representative.

The technical effect achieved by this system may be at least one of: (i) improved user experience when interacting with a chatbot application; (ii) improved user experience when interacting with a representative; (iii) reduced call time required to assist user; (iv) improved user experience; (v) reduced need for direct user/chatbot interaction; (vi) increased efficiency in retrieving data requested by a user via a chatbot application; and/or (vii) increased efficiency in generating speech responses to statements submitted by a user via a chatbot application.

Exemplary System for Monitoring and Analyzing Conversations

FIG.1illustrates a simplified block diagram of an exemplary computer system100for electronically monitoring and analyzing data representative of audio conversations to provide relevant information from knowledge databases in accordance with at least one embodiment of this disclosure.

In the exemplary embodiment, a caller105is a user who places a call through a caller device110. In some embodiments, the caller device110is a phone. In other embodiments, the caller device110is a computer device that places the call through an application and/or a voice over IP (VOIP) connection. In at least some embodiments, caller devices110may be computers that include a web browser or a software application, which enables caller devices110to access remote computer devices, such as the call handler115, using the Internet or other network. More specifically, caller devices110may be communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a local area network (LAN), a wide area network (WAN), or an integrated services digital network (ISDN), a dial-up-connection, a digital subscriber line (DSL), a cellular phone connection, and a cable modem. Caller devices110may be any device capable of accessing the Internet including, but not limited to, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smartphone, a tablet, a phablet, wearable electronics, smart watch, virtual headsets or glasses (e.g., AR (augmented reality), VR (virtual reality), or XR (extended reality) headsets or glasses), chat bots, voice bots, ChatGPT bots or ChatGPT-based bots, or other web-based connectable equipment or mobile devices.

In some embodiments, the voice bots or chatbots discussed herein may be configured to utilize AI and/or ML techniques. For instance, the voice bot or chatbot may be a ChatGPT chatbot. The voice bot or chatbot may employ supervised or unsupervised machine learning techniques, which may be followed or used in conjunction with reinforced or reinforcement learning techniques. The voice bot or chatbot may employ the techniques utilized for ChatGPT. The voice bot or chatbot may deliver various types of output for user consumption in certain embodiments, such as verbal or audible output, a dialogue output, text or textual output (such text or graphics presented on a computer or mobile device screen or display), visual or graphical output, and/or other types of outputs.

In the exemplary embodiment, calls from the caller device110connect to a call handler115. A call handler115is a server for routing incoming calls to representatives120via their user devices. In some embodiments, the call handler115is a VOIP server that routes audio streams between the caller device110and the user device125. In some embodiments, the call handler115requests some information from the caller, such as via an automated menu. This information may be provided by a keyboard or other input device of the caller device110. This information may also be provided audibly by the caller105via the caller device110. For example, the call handler115may audibly request that the caller105state their name, enter or say their account number, or may one or more menu selections before connecting the caller105to a representative120. The call handler115may then provide that information to the representative120via the user device125. In still further embodiments, the call handler115keeps the caller105on hold until a representative120is available.

In the exemplary embodiment, call handler115may be a computer that includes a web browser or a software application, which enables call handler115to access remote computer devices, such as a plurality of caller devices110, a plurality of user devices125and/or a CMA server130, using the Internet or other network. More specifically, call handler115may be communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a local area network (LAN), a wide area network (WAN), or an integrated services digital network (ISDN), a dial-up-connection, a digital subscriber line (DSL), a cellular phone connection, and a cable modem. Call handler115may be any device capable of accessing the Internet including, but not limited to, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smartphone, a tablet, a phablet, wearable electronics, smart watch, or other web-based connectable equipment or mobile devices. In some embodiments, the system100includes a plurality of call handlers115to handle calls from a plurality of caller devices110.

In the exemplary embodiment, each representative120corresponds to a user device125. The user device125allows the representative120to communicate with the caller105via their caller device110. In the exemplary embodiment, user devices125may be computers that include a web browser or a software application, which enables user devices125to access remote computer devices, such as the call handler115, using the Internet or other network. More specifically, user devices125may be communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a local area network (LAN), a wide area network (WAN), or an integrated services digital network (ISDN), a dial-up-connection, a digital subscriber line (DSL), a cellular phone connection, and a cable modem. User devices125may be any device capable of accessing the Internet including, but not limited to, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smartphone, a tablet, a phablet, wearable electronics, smart watch, virtual headsets or glasses (e.g., AR (augmented reality), VR (virtual reality), or XR (extended reality) headsets or glasses), chat bots, or other web-based connectable equipment or mobile devices.

In the exemplary embodiment, a call monitor and analysis (“CMA”) server130is in communication with the call handler115. The call handler115provides audio streams from caller devices110and user devices125to the CMA server130. The CMA server130is configured to parse the audio streams to determine statements, keyworks, intents, moods, and/or sentiments expressed by the caller105and/or the representative120. In the exemplary embodiment, the CMA server130is in communication with one or more reference or information databases135. The information databases135include a plurality of items of information including, but not limited to, scripts, articles, checklists, descriptions, how to guides, and/or other information as needed. The CMA server130searches the information database135for relevant items of information and provides those items of information to the representative120via the user device125during the conversation between the caller105and the representative120. The CMA server130may also be in communication with a natural language processor140that provides speech to text services and translates audible statements into text for the CMA server130to analyze. The representative120may use these steps provided in the information database135to help the caller105.

In the exemplary embodiment, CMA server130may be a computer that includes a web browser or a software application, which enables CMA server130to access remote computer devices, such as a plurality of user devices125and/or the call handler115, using the Internet or other network. More specifically, the CMA server130may be communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a local area network (LAN), a wide area network (WAN), or an integrated services digital network (ISDN), a dial-up-connection, a digital subscriber line (DSL), a cellular phone connection, and a cable modem. The CMA server130may be any device capable of accessing the Internet including, but not limited to, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smartphone, a tablet, a phablet, wearable electronics, smart watch, or other web-based connectable equipment or mobile devices. In some embodiments, the system100includes a plurality of call handlers115to handle calls from a plurality of caller devices110. In some embodiments, the call handler115and the CMA server130may be separate. In other embodiments, the call handler115and the CMA server130may be combined into a single device.

In one embodiment, information database135may include scripts, articles, checklists, descriptions, how to guides, and/or other information as needed. In the exemplary embodiment, information database135may be stored remotely from CMA server130. In some embodiments, information database135may be decentralized. In the exemplary embodiment, a user may access information database135via a user computer device (not shown) by logging onto the CMA server130, as described herein.

In the exemplary embodiment, the natural language processor140may be a computer that includes a web browser or a software application, which enables natural language processor140to access remote computer devices, such as CMA server130, using the Internet or other network. More specifically, the natural language processor140may be communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a local area network (LAN), a wide area network (WAN), or an integrated services digital network (ISDN), a dial-up-connection, a digital subscriber line (DSL), a cellular phone connection, and a cable modem. The natural language processor140may be any device capable of accessing the Internet including, but not limited to, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smartphone, a tablet, a phablet, wearable electronics, smart watch, or other web-based connectable equipment or mobile devices. In the exemplary embodiments, natural language processor140provides speech to text translation services. In some further embodiments, the natural language processor140may also provide text to speech services as needed. In some embodiments, the natural language processor140and the CMA server130may be separate. In other embodiments, the natural language processor140and the CMA server130may be combined into a single device. In some further embodiments, the natural language processor140provides close captioning of the caller's audio input to the representative120to assist the representative in understanding the caller105.

Exemplary Process for Monitoring and Analyzing Conversations

FIG.2illustrates a timing chart of an exemplary process200of electronically monitoring and analyzing data representative of audio conversations to provide relevant information from knowledge databases using the system100(shown inFIG.1).

In the exemplary embodiment, the caller device110provides S205audio input from the caller105(shown inFIG.1) to the call handler115. In some embodiments, the audio input is provided S205via a phone call. In other embodiments, the audio input is provided S205via an application through the Internet, such as VOIP.

The call handler115routes S210the audio input to the user device125of the representative120(shown inFIG.1) that is handling the call from the caller105. The call handler115also routes S215a copy of the audio input to the CMA server130. For the duration of a conversation S220between the caller105and the representative120, the call handler115routes audio inputs between the caller device110and the user device125, while transmitting copies of the audio inputs to the CMA server130.

While the conversation S220occurs, the CMA server130transmits S225the audio input to the natural language processor140. The natural language processor140acts as a speech to text translator and translates S230the audio input into text. The natural language processor140returns S235the text to the CMA server130. Then the CMA server130uses the provided text to search S240one or more reference or information databases135to determine S245relevant information based upon the text of the conversation S220. The CMA server130retrieves S250the relevant information from the information database135. The CMA server130provides S255to the user device125, to assist the representative120with their conversation S220with the caller105. The representative120may use these steps provided in the information database135to help the caller105. The relevance score may indicate how relevant each item retrieved is to the translated audio file. Relevancy may be determined based upon the number of associations between one or more key words and the items in the information database. Furthermore, these associations may be updated by the representative in real-time based upon the representative's feedback.

In some embodiments, the CMA server130uses text to determine the intent and/or concepts being conveyed by the caller105to determine one or more items of information in the information database135to assist the representative120. In some embodiments, the items of information may include, but are not limited to, scripts, articles, checklists, descriptions, how to guides, and/or other information as needed. Then the CMA server130may provide S255the determined one or more items to the representative120via the user device125. For example, the CMA server130may cause the item and/or a link to the item to be displayed on the screen of the representative's computer device.125

In some of these embodiments, the CMA server130may determine a relevance score for each retrieved item and only provide retrieved items that exceed a predetermined threshold. In some further embodiments, the representative120may provide feedback as to whether or not the item is relevant to the caller's inquiry or issue. For example, the representative120may provide the feedback as a thumb up or thumb down as to whether the item was relevant to the conversation S220. For example, in one call, the representative120may say “Good afternoon, my name is Bob. How may I help you today?” The caller105may then reply with “I am having trouble logging into my computer/account. It says that my password is wrong.” The CMA server130may parse the statements to determine that the issue may be related to passwords. The CMA server130may then search the database135to find three potential options for relevant item. The CMA server130calculates a relevance score for each item. A first item may have an 80% relevancy score, a second item has a 10% relevancy score, and a third item has a 30% relevancy score.

In one embodiment, the CMA server130may determine that only the first article exceeds the relevancy threshold and only provides that first article to the user device125. In another embodiment, the CMA server130may provide a predetermined number of items to the representative and include the corresponding relevancy scores. For example, the CMA server130provides the three items with the highest relevancy scores. The representative120may then provide an thumbs up or down to each item. The CMA server130then uses the feedback to improve the searches and/or relevancy scoring for future calls. The CMA server130may provide any number of items for each statement, keyword, concept, intent, and/or idea based upon one or more settings, such as user preferences. The CMA server130may limit the number of provided items based upon one or more limits to prevent overloading the representative120with too much information.

In the exemplary embodiment, an audio input may be received by the CMA server130via a websocket. In some embodiments, the websocket may be opened by the phone system computer device. In real-time, the CMA server130may use speech to text natural language processing to interpret the audio stream, such as through the natural language processor140. In the exemplary embodiment, the CMA server130may interpret the translated text of the speech. When the CMA server130detects a long pause, the CMA server130may determine if the long pause is the end of a statement or the end of the caller105or representative talking.

If the pause is the end of a statement, the CMA server130may flag (or tag) the text as a statement and may process the statement. The CMA server130may further identify pauses within the statement and identify portions of the statement between the pauses as utterances. The CMA server130may identify the caller intent by having a model of utterances and keywords that is capable of identifying the intents of the statement. The CMA server130may extract data (e.g., a meaning of the utterance) from the identified intents.

In some further embodiments, the caller105may state their name. This may be in response to a prompt from the representative120. The CMA server130may parse the caller's audible statement to retrieve their name. Then the CMA server130transmits the parsed name to the representative's computer device to be displayed on a screen to the representative120via the user device125. The representative120can then either accept the name provided by the CMA server130, ask the caller105for clarification, and/or correct the provided name. In some embodiments, the caller105may state an account number. The CMA server130may parse the audibly stated account number, look-up the account number in the database135, and provide account information to the representative120, rather than requiring the representative120to type in the account number. For example, the caller105may be asking or providing information about an insurance policy and the account is the insurance policy.

In still additional embodiments, the CMA server130may determine a portion of the retrieved item that is relevant to the conversation S220between the caller105and the representative120. For example, the retrieved item may have information about changing passwords on different systems, i.e., iOS and Android. The CMA server130may determine that the caller has an iOS device and provide the item to the representative120so that the item opens to the corresponding section, the corresponding section is highlighted, and/or there is a bookmark at the corresponding section of the item.

In additional embodiments, the CMA server130may be monitoring audible statements provided through a virtual reality system. For example, the caller105is using virtual reality and/or augmented reality to communicate with the representative120and the CMA server130provides the items of information to be provided to the representatives120through one or more user devices125that are virtual reality devices.

While the above describes the audio translation of speech, the systems100described herein may also be used for interpreting text-based communication with a user, such as through a text-based chat program. In some embodiments, the CMA server130monitors the chat with the caller/user105and provides relevant items of information to the representative120.

In still further embodiments, the CMA server130may also analyze pitch, tone, inflection, words used, and/or phrases to determine a current mood and/or sentiment of the caller105. The CMA server130may then provide that analysis of current mood/sentiment to the representative120to help the representative120communicate with the caller105. For example, the CMA server130may determine that the caller105is angry and inform the representative120that there is a 60% chance that the caller105is angry. The CMA server130may then provide one or two items of information on how to assist an angry caller105.

Furthermore, the CMA server130may analyze a plurality of calls between callers105and representatives120to determine the sentiments of different callers105, how those moods/sentiments changed over the call, and what the representative120did to cause those changes to moods/sentiments. The CMA server130may then provide that changing mood/sentiment information to improve representative120training.

Additionally, the CMA server130may then use that changing mood/sentiment information to provide information to the representative120to assist in their call with the caller105. This information may include suggestions on how to respond and what terms to use to respond. These responses would also include the associated help data items that the representative120would be providing to the caller105. In some embodiments, a user interface would be provided to show both the proposed responses and the needed data. Furthermore, the representative120may be able to provide feedback on how the steps worked and any comments from the caller105for future reference.

Exemplary Process for Monitoring and Analyzing Conversations

FIG.3illustrates an exemplary process300of electronically monitoring and analyzing data representative of audio conversations to provide relevant information from knowledge databases using the system100(shown inFIG.1). In the exemplary embodiment, process300is performed by the CMA server130(shown inFIG.1).

In the exemplary embodiment, the CMA server130(also known as the CMA computer device130receives302an audible caller statement originating from a caller105being routed to the representative120(both shown inFIG.1). In some embodiments, the CMA computer device130receives302the audible caller statement from the call handler115, while the call handler115also forwards the audible call statement to the user device125(shown inFIG.1) to be presented to the representative120. In other embodiments, the CMA server130receives302the audible caller statement from the caller device110(shown inFIG.1). In still further embodiments, the CMA server130receives302the audible caller statement from the user device125.

In the exemplary embodiment, the CMA server130parses304the audible caller statement. The CMA server130may parse304the audible caller statement using natural language processing, such as from a natural language processor140(shown inFIG.1).

In the exemplary embodiment, the CMA server130identifies306one or more concept and/or key words from the parsed audible caller statement.

In the exemplary embodiment, the CMA server130searches308an information database135for one or more items of information based upon the one or more key words. The items of information may include, but are not limited to, a script, an article, a checklist, a description, and a how to guide.

In the exemplary embodiment, the CMA server130determines310a relevancy for each of the one or more items. The CMA server130identifies at least one of the one or more items to present to the representative120based upon the corresponding relevancy score. The CMA server130may compare the plurality of relevancy scores to a threshold. The CMA server130identify items where the relevancy score exceeds the threshold. For example, the relevancy score threshold may be 80% so that only those items of information with a relevancy score of 80% or greater are presented to the representative120via the corresponding user device125.

In some further embodiments, the CMA server130identifies312a predetermined number of items of information that exceeds the threshold and has those items presented to the representative120via the user device125. For example, there may be five items of information that exceed the relevancy score threshold. Then the CMA server130only identifies312the top three items to be presented to the representative120. In some of these embodiments, the CMA server130transmit the corresponding relevancy score with the at least one identified items of information to be presented to the representative.

In the exemplary embodiment, the CMA server130identifies312at least one of the one or more items of information to present to the representative120.

In the exemplary embodiment, the CMA server130transmits314the at least one identified items of information to be presented to the representative120. The CMA server130transmits314the at least one identified item of information to a user device125associated with the representative120. In some embodiments, the CMA server130may generate instructions to cause the user device to display the at least one identified item of information via a display of the user device125. Then the CMA server130transmits314the instructions to the user device125associated with the representative120.

In some additional embodiments, the CMA server130may receive feedback from the representative120for the at least one identified items of information. For example, the representative120may provide a thumbs up/thumbs down rating to show if the corresponding item of information is relevant to the current conversation S220(shown inFIG.2). In some of these embodiments, the CMA server130may adjust at least one subsequent relevancy score based upon the feedback. The CMA server130may change one or more weights for calculating relevancy scores or one or more key words for the corresponding item of information based upon the feedback.

In further embodiments, the CMA server130receives one or more audible representative statements. The CMA server130parses the received one or more audible representative statements. Then the CMA server130may combine the parsed audible representative statements and the parsed audible caller statements to determine a plurality of key word. The CMA server130may then determine at least one item of information associated with the plurality of key words.

In additional embodiments, the CMA server130may detect a mood of the caller105based upon one or more parsed statements. The CMA server130may identify the at least one item of information based upon the detected mood of the caller105. The CMA server130may train a model to detect the mood of a caller105based upon a plurality of historical conversations between callers105and representatives120.

Exemplary Client Device

FIG.4depicts an exemplary configuration400of user computer device402, in accordance with one embodiment of the present disclosure. In the exemplary embodiment, user computer device402may be similar to, or the same as, caller device110and user device125(both shown inFIG.1). User computer device402may be operated by a user401.

User computer device402may include a processor405for executing instructions. In some embodiments, executable instructions may be stored in a memory area410. Processor405may include one or more processing units (e.g., in a multi-core configuration). Memory area410may be any device allowing information such as executable instructions and/or transaction data to be stored and retrieved. Memory area410may include one or more computer readable media.

User computer device402may also include at least one media output component415for presenting information to user401. Media output component415may be any component capable of conveying information to user401. In some embodiments, media output component415may include an output adapter (not shown) such as a video adapter and/or an audio adapter. An output adapter may be operatively coupled to processor405and operatively couplable to an output device such as a display device (e.g., a cathode ray tube (CRT), liquid crystal display (LCD), light emitting diode (LED) display, or “electronic ink” display) or an audio output device (e.g., a speaker or headphones).

In some embodiments, media output component415may be configured to present a graphical user interface (e.g., a web browser and/or a client application) to user401. A graphical user interface may include, for example, an interface for viewing items of information provided by the CMA server130(shown inFIG.1). In some embodiments, user computer device402may include an input device420for receiving input from user401. User401may use input device420to, without limitation, provide information either through speech or typing.

Input device420may include, for example, a keyboard, a pointing device, a mouse, a stylus, a touch sensitive panel (e.g., a touch pad or a touch screen), a gyroscope, an accelerometer, a position detector, a biometric input device, and/or an audio input device. A single component such as a touch screen may function as both an output device of media output component415and input device420.

User computer device402may also include a communication interface425, communicatively coupled to a remote device such as CMA server130. Communication interface425may include, for example, a wired or wireless network adapter and/or a wireless data transceiver for use with a mobile telecommunications network.

Stored in memory area410are, for example, computer readable instructions for providing a user interface to user401via media output component415and, optionally, receiving and processing input from input device420. A user interface may include, among other possibilities, a web browser and/or a client application. Web browsers enable users, such as user401, to display and interact with media and other information typically embedded on a web page or a website from CMA server130. A client application may allow user401to interact with, for example, CMA server130. For example, instructions may be stored by a cloud service, and the output of the execution of the instructions sent to the media output component415.

Exemplary Server Device

FIG.5depicts an exemplary configuration500of a server computer device501, in accordance with one embodiment of the present disclosure. In the exemplary embodiment, server computer device501may be similar to, or the same as, call handler115, CMA server130, and/or natural language processor140(all shown inFIG.1). Server computer device501may also include a processor505for executing instructions. Instructions may be stored in a memory area510. Processor505may include one or more processing units (e.g., in a multi-core configuration).

Processor505may be operatively coupled to a communication interface515such that server computer device501is capable of communicating with a remote device such as another server computer device501, CMA server130, user devices125, and caller devices110(both shown inFIG.1) (for example, using wireless communication or data transmission over one or more radio links or digital communication channels). For example, communication interface515may audio input from caller devices110via the Internet, as illustrated inFIG.1.

Processor505may also be operatively coupled to a storage device534. Storage device534may be any computer-operated hardware suitable for storing and/or retrieving data, such as, but not limited to, data associated with information database135(shown inFIG.1). In some embodiments, storage device534may be integrated in server computer device501. For example, server computer device501may include one or more hard disk drives as storage device534.

In other embodiments, storage device534may be external to server computer device501and may be accessed by a plurality of server computer devices501. For example, storage device534may include a storage area network (SAN), a network attached storage (NAS) system, and/or multiple storage units such as hard disks and/or solid-state disks in a redundant array of inexpensive disks (RAID) configuration.

In some embodiments, processor505may be operatively coupled to storage device534via a storage interface520. Storage interface520may be any component capable of providing processor505with access to storage device534. Storage interface520may include, for example, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and/or any component providing processor505with access to storage device534.

Processor505may execute computer-executable instructions for implementing aspects of the disclosure. In some embodiments, the processor505may be transformed into a special purpose microprocessor by executing computer-executable instructions or by otherwise being programmed. For example, the processor505may be programmed with the instruction such as illustrated inFIGS.2,3, and6.

Exemplary Process for Customer Voice Analysis for Searching a Knowledge/Article/Content Database

FIG.6illustrates a flow chart of an exemplary process600for customer voice analysis for searching a knowledge/article/content database, such as the information database135(shown inFIG.1). In the exemplary embodiment, process600is performed by one or more of the call handler115, CMA server130, and the user device125(all shown inFIG.1).

In the exemplary embodiment, the CMA server130trains602one or more voice bots to Recognize Speech and Voice Content. This training may be performed by one or more of Machine Learning, Natural Language Processing, and/or other Speech-to-Text Techniques to Identify Keywords or Phrases.

In some embodiments, the CMA server130analyzes604A an interaction or conversation S220(shown inFIG.2) in real-time between (i) a customer/caller105(shown inFIG.1), and (ii) virtual content or a virtual representative in the metaverse or other virtual environment via the trained voice bot to that is trained to identify keywords or phrases.

In other embodiments, the CMA server130analyzes604a conversation S220in real-time between (i) a customer/caller105, and (ii) call center representative120(shown inFIG.1) or voice bot via a trained voice bot that is trained to identify keywords or phrases

In the exemplary embodiment, the CMA server130searches606one or more knowledge databases135(shown inFIG.1) for articles or content based upon identified keywords or phrases identified. The CMA server130may score the most relevant articles.

In some embodiments, the CMA server130presents or displays608A to the representative120, via the user device125, the most relevant virtual content to customer/caller105. The relevant content may be presented by, but not limited to, a virtual reality headset, augmented reality glasses, etc.

In other embodiments, the CMA server130presents or displays608the most relevant articles or content to call center representative120via the user device125.

In the exemplary embodiment, the CMA server130instructs610the call center representative120or voice bot alter their conversation S220with the customer/caller105based upon articles or content identified.

Machine Learning and Other Matters

The computer-implemented methods discussed herein may include additional, less, or alternate actions, including those discussed elsewhere herein. The methods may be implemented via one or more local or remote processors, transceivers, servers, and/or sensors (such as processors, transceivers, servers, and/or sensors mounted on vehicles or mobile devices, or associated with smart infrastructure or remote servers), and/or via computer-executable instructions stored on non-transitory computer-readable media or medium.

In some embodiments, CMA server130is configured to implement machine learning, such that CMA server130“learns” to analyze, organize, and/or process data without being explicitly programmed. Machine learning may be implemented through machine learning methods and algorithms (“ML methods and algorithms”). In an exemplary embodiment, a machine learning module (“ML module”) is configured to implement ML methods and algorithms. In some embodiments, ML methods and algorithms are applied to data inputs and generate machine learning outputs (“ML outputs”). Data inputs may include but are not limited to speech input statements by user entities. ML outputs may include, but are not limited to: identified utterances, identified intents, identified meanings, generated responses, and/or other data extracted from the input statements. In some embodiments, data inputs may include certain ML outputs.

In some embodiments, at least one of a plurality of ML methods and algorithms may be applied, which may include but are not limited to: linear or logistic regression, instance-based algorithms, regularization algorithms, decision trees, Bayesian networks, cluster analysis, association rule learning, artificial neural networks, deep learning, combined learning, reinforced learning, dimensionality reduction, and support vector machines. In various embodiments, the implemented ML methods and algorithms are directed toward at least one of a plurality of categorizations of machine learning, such as supervised learning, unsupervised learning, and reinforcement learning.

In one embodiment, the ML module employs supervised learning, which involves identifying patterns in existing data to make predictions about subsequently received data. Specifically, the ML module is “trained” using training data, which includes example inputs and associated example outputs. Based upon the training data, the ML module may generate a predictive function which maps outputs to inputs and may utilize the predictive function to generate ML outputs based upon data inputs. The example inputs and example outputs of the training data may include any of the data inputs or ML outputs described above. In the exemplary embodiment, a processing element may be trained by providing it with a large sample of conversation data with known characteristics or features. Such information may include, for example, information associated with a plurality of different speaking styles and accents.

In another embodiment, a ML module may employ unsupervised learning, which involves finding meaningful relationships in unorganized data. Unlike supervised learning, unsupervised learning does not involve user-initiated training based upon example inputs with associated outputs. Rather, in unsupervised learning, the ML module may organize unlabeled data according to a relationship determined by at least one ML method/algorithm employed by the ML module. Unorganized data may include any combination of data inputs and/or ML outputs as described above.

In yet another embodiment, a ML module may employ reinforcement learning, which involves optimizing outputs based upon feedback from a reward signal. Specifically, the ML module may receive a user-defined reward signal definition, receive a data input, utilize a decision-making model to generate a ML output based upon the data input, receive a reward signal based upon the reward signal definition and the ML output, and alter the decision-making model so as to receive a stronger reward signal for subsequently generated ML outputs. Other types of machine learning may also be employed, including deep or combined learning techniques.

Based upon these analyses, the processing element may learn how to identify characteristics and patterns that may then be applied to analyzing conversation data. For example, the processing element may learn, with the user's permission or affirmative consent, to identify the most commonly used phrases and/or statement structures used by different individuals from different geolocations. The processing element may also learn how to identify attributes of different accents or sentence structures that make a user more or less likely to properly respond to inquiries. This information may be used to determine which how to prompt the user to answer questions and provide data.

In some embodiments, the voice bots or chatbots discussed herein may be configured to utilize AI and/or ML techniques. For instance, the voice bot or chatbot may be a ChatGPT chatbot. The voice bot or chatbot may employ supervised or unsupervised machine learning techniques, which may be followed or used in conjunction with reinforced or reinforcement learning techniques. The voice bot or chatbot may employ the techniques utilized for ChatGPT. The voice bot or chatbot may deliver various types of output for user consumption in certain embodiments, such as verbal or audible output, a dialogue output, text or textual output (such text or graphics presented on a computer or mobile device screen or display), visual or graphical output, and/or other types of outputs.

For the purposes of this discussion, a chatbot or chatterbot is a software application used to conduct an online chat conversation via text or text-to-speech, in lieu of providing direct contact with a live human agent. Chatbots are computer programs that are capable of maintaining a conversation with a user in natural language, understanding their intent, and replying based on preset rules and data. Designed to convincingly simulate the way a human would behave as a conversational partner.

Chatbots are used in dialog systems for various purposes including customer service, request routing, or information gathering. While some chatbot applications use extensive word-classification processes, natural-language processors, and sophisticated AI, others simply scan for general keywords and generate responses using common phrases obtained from an associated library or database.

Most chatbots are accessed on-line via website popups or through virtual assistants. They can be classified into usage categories that include: commerce (e-commerce via chat), education, entertainment, finance, health, news, and productivity.

For the purposes of this discussion, ChatGPT is an artificial intelligence chatbot. It is built on a family of large language models and has been fine-tuned (an approach to transfer learning) using both supervised and reinforcement learning techniques. ChatGPT is a member of the generative pre-trained transformer (GPT) family of language models. It was fine-tuned (an approach to transfer learning) over previous versions. The fine-tuning process leveraged both supervised learning as well as reinforcement learning in a process called reinforcement learning from human feedback (RLHF). Both approaches used human trainers to improve the model's performance. In the case of supervised learning, the model was provided with conversations in which the trainers played both sides: the user and the AI assistant. In the reinforcement learning step, human trainers first ranked responses that the model had created in a previous conversation. These rankings were used to create ‘reward models’ that the model was further fine-tuned on using several iterations of Proximal Policy Optimization (PPO). Proximal Policy Optimization algorithms present a cost-effective benefit to trust region policy optimization algorithms; they negate many of the computationally expensive operations with faster performance. In addition, chatbots similar to and including ChatGPT continue to gather data from users that could be used to further train and fine-tune the chatbot. Users can upvote or downvote responses they receive from ChatGPT and fill out a text field with additional feedback. The reward model of ChatGPT, designed around human oversight, can be over-optimized and thus hinder performance.

Although the core function of a chatbot is to mimic a human conversationalist, ChatGPT represents a type of chatbot that is versatile. For example, it can write and debug computer programs, compose music, teleplays, fairy tales, and student essays; answer test questions (sometimes, depending on the test, at a level above the average human test-taker); write poetry and song lyrics; emulate a Linux system; simulate an entire chat room; play games like tic-tac-toe; and simulate an ATM. ChatGPT's training data includes many pages and information about internet phenomena and programming languages, such as bulletin board systems and the Python programming language.

Exemplary Embodiments

In one aspect, a computer system may be provided. The system may include at least one processor in communication with at least one memory device. The system may be in communication with a user device associated with a representative. The at least one processor may be configured to: (1) receive data representing an audible caller statement that originates from a caller having been routed to the representative; (2) parse the audible caller statement; (3) electronically identify one or more key words from the parsed audible caller statement; (4) initiate a key word search within a reference database for one or more items of information based upon the one or more key words; (5) identify at least one of the one or more items of information to present to the representative; and/or (6) transmit the at least one identified items of information to be presented to the representative via the user device. The system may include additional, less, or alternate functionality, including that discussed elsewhere herein.

An enhancement of the system may include a processor configured to determine a relevancy score for each of the one or more items. The system may further identify at least one of the one or more items to present to the representative based upon the corresponding relevancy score. The system may additionally compare the plurality of relevancy scores to a threshold and identify items where the relevancy score exceeds the threshold. Moreover the system may identify a predetermined number of items of information that exceeds the threshold. Furthermore, the system may transmit the corresponding relevancy score with the at least one identified items of information to be presented to the representative.

A further enhancement of the system may include a processor configured to transmit the at least one identified item of information to a user device associated with the representative. The system may also generate instructions to cause the user device to display the at least one identified item of information via a display of the user device and transmit the instructions to the user device associated with the representative. The system may further receive feedback from the representative for the at least one identified items of information. Moreover, the system may adjust at least one subsequent relevancy score based upon the feedback.

A further enhancement of the system may include a processor configured to receive one or more audible representative statements and parse the received one or more audible representative statements. The processor may then combine the parsed audible representative statements and the parsed audible caller statements to determine a plurality of key words. The processor may further determine at least one item of information associated with the plurality of key words.

A further enhancement of the system may include a processor configured to detect a mood of the caller based upon one or more parsed statements. The system may also identify the at least one item of information based upon the detected mood of the caller. The system may further train a model to detect the mood of a caller based upon a plurality of historical conversations between callers and representatives.

A further enhancement of the system may include where the items of information include at least one of a script, an article, a checklist, a description, and a how to guide. Additionally or alternatively, a further enhancement of the system may include where the audible caller statement is parsed using natural language processing. Certain embodiments may involve the use of one or more local or remote chatbots, voice bots, ChatGPT-based bots, and/or other bots, which may in wired or wireless communication with the system.

In another aspect, a computer-implemented method may be provided. The computer-implemented method may be performed by a conversation monitoring and analysis (CMA) computer device including at least one processor in communication with at least one memory device. The CMA computer device may be in communication with a user device associated with a representative. The method may include: (1) receiving data representing an audible caller statement that originates from a caller having been routed to the representative; (2) parsing the audible caller statement; (3) electronically identifying one or more key words from the parsed audible caller statement; (4) initiating a key word search within a reference database for one or more items of information based upon the one or more key words; (5) identifying at least one of the one or more items of information to present to the representative; and/or (6) transmitting the at least one identified items of information to be presented to the representative via the user device. The computer-implemented method may include additional, less, or alternate actions, including those discussed elsewhere herein.

An enhancement of the computer-implemented method may include determining a relevancy score for each of the one or more items. The method may further include identifying at least one of the one or more items to present to the representative based upon the corresponding relevancy score. The method may additionally include comparing the plurality of relevancy scores to a threshold and identify items where the relevancy score exceeds the threshold. Moreover the method may include identifying a predetermined number of items of information that exceeds the threshold. Furthermore, the method may include transmitting the corresponding relevancy score with the at least one identified items of information to be presented to the representative.

A further enhancement of the computer-implemented method may include transmit the at least one identified item of information to a user device associated with the representative. The method may also include generating instructions to cause the user device to display the at least one identified item of information via a display of the user device and transmitting the instructions to the user device associated with the representative. The method may further include receiving feedback from the representative for the at least one identified items of information. Moreover, the method may include adjusting at least one subsequent relevancy score based upon the feedback.

A further enhancement of the computer-implemented method may include receiving one or more audible representative statements and parse the received one or more audible representative statements. The method may also include parsing the received one or more audible representative statements. The method may further include combining the parsed audible representative statements and the parsed audible caller statements to determine a plurality of key words. In addition, the method may include determining at least one item of information associated with the plurality of key words.

A further enhancement of the computer-implemented method may include detecting a mood of the caller based upon one or more parsed statements. The method may also include identifying the at least one item of information based upon the detected mood of the caller. The method may further include training a model to detect the mood of a caller based upon a plurality of historical conversations between callers and representatives.

A further enhancement of the computer-implemented method may include where the items of information include at least one of a script, an article, a checklist, a description, and a how to guide. Additionally or alternatively, a further enhancement of the computer-implemented method may include where the audible caller statement is parsed using natural language processing. Certain embodiments may involve the use of one or more local or remote chatbots, voice bots, ChatGPT-based bots, and/or other bots.

In another aspect, at least one non-transitory computer-readable media having computer-executable instructions embodied thereon may be provided. When executed by a computing device including at least one processor in communication with at least one memory device and in communication with a user device associated with a representative, the computer-executable instructions may cause the at least one processor to: (1) receive data representing an audible caller statement that originates from a caller having been routed to the representative; (2) parse the audible caller statement; (3) electronically identify one or more key words from the parsed audible caller statement; (4) initiate a key word search within a reference database for one or more items of information based upon the one or more key words; (5) identify at least one of the one or more items of information to present to the representative; and/or (6) transmit the at least one identified items of information to be presented to the representative via the user device. The computer-executable instructions may direct additional, less, or alternate functionality, including that discussed elsewhere herein.

Additional Considerations

As used herein, the term “database” can refer to either a body of data, a relational database management system (RDBMS), or to both. As used herein, a database can include any collection of data including hierarchical databases, relational databases, flat file databases, object-relational databases, object-oriented databases, and any other structured collection of records or data that is stored in a computer system. The above examples are example only, and thus are not intended to limit in any way the definition and/or meaning of the term database. Examples of RDBMS' include, but are not limited to including, Oracle® Database, MySQL, IBM® DB2, Microsoft® SQL Server, Sybase®, and PostgreSQL. However, any database can be used that enables the systems and methods described herein. (Oracle is a registered trademark of Oracle Corporation, Redwood Shores, California; IBM is a registered trademark of International Business Machines Corporation, Armonk, New York; Microsoft is a registered trademark of Microsoft Corporation, Redmond, Washington; and Sybase is a registered trademark of Sybase, Dublin, California.)

In another example, a computer program is provided, and the program is embodied on a computer-readable medium. In an example, the system is executed on a single computer system, without requiring a connection to a server computer. In a further example, the system is being run in a Windows® environment (Windows is a registered trademark of Microsoft Corporation, Redmond, Washington). In yet another example, the system is run on a mainframe environment and a UNIX® server environment (UNIX is a registered trademark of X/Open Company Limited located in Reading, Berkshire, United Kingdom). In a further example, the system is run on an iOS® environment (iOS is a registered trademark of Cisco Systems, Inc. located in San Jose, CA). In yet a further example, the system is run on a Mac OS® environment (Mac OS is a registered trademark of Apple Inc. located in Cupertino, CA). In still yet a further example, the system is run on Android® OS (Android is a registered trademark of Google, Inc. of Mountain View, CA). In another example, the system is run on Linux® OS (Linux is a registered trademark of Linus Torvalds of Boston, MA). The application is flexible and designed to run in various different environments without compromising any major functionality.

As used herein, an element or step recited in the singular and proceeded with the word “a” or “an” should be understood as not excluding plural elements or steps, unless such exclusion is explicitly recited. Furthermore, references to “example” or “one example” of the present disclosure are not intended to be interpreted as excluding the existence of additional examples that also incorporate the recited features. Further, to the extent that terms “includes,” “including,” “has,” “contains,” and variants thereof are used herein, such terms are intended to be inclusive in a manner similar to the term “comprises” as an open transition word without precluding any additional or other elements.