Speech and language processing power many of the most powerful applications of AI. Speech recognition and related technologies enable machines to understand human speech. Language processing enables machines to extract semantic meaning from text. Together, these technologies enable machines to understand human language. Speech and language processing capabilities are critical to applications that involve interactions with humans such as call and meeting transcription, automated customer service, virtual assistants, and so on.
These technologies are advancing rapidly. A decade ago, speech recognition could handle only a small number of predefined commands. Today, systems can transcribe conversations involving multiple people speaking. In the past, language processing systems were limited to pre-defined dictionaries and taxonomies. Today, systems are capable of understanding nuances in human language that were once unimaginable.
Enablers: Data, Compute, Algorithms
To build powerful speech and language processing systems, systems must be trained on large amounts of high-quality training data, using powerful computational resources, with advanced neural network algorithms. Modern solutions leverage tens or even hundreds of thousands of hours of labeled data to build and train models.
Training on large-scale data requires powerful compute infrastructure. Speech and language processing datasets are large, and to train powerful models, very large-scale neural networks are needed. These networks may involve hundreds of millions or even billions of trainable parameters. The large compute requirements for these networks need a very powerful GPU-based infrastructure.
Advanced algorithms are necessary to process speech and language data with accuracy. This space is evolving rapidly, but techniques such as self-supervised learning, attention mechanisms, and neural network architectures play a key role in enabling the current generation of intelligent voice platforms.
Overview of Voice AI
The goal of voice AI is to understand human speech and human language. Speech and language processing systems involve many different components working together to make sense of human language. Conversations have many challenging characteristics that require sophisticated processing to interpret meaning. There are many different subtasks involved in processing conversations, including speech recognition, speaker change detection, speaker diarization, speaker identification, and so on.
It is a mistake to simplify voice AI into a single task such as speech recognition. These systems involve many different parts working together to process conversations accurately. It is therefore important to describe the various components of an integrated voice AI solution.
1. Speech Recognition
Speech recognition systems convert speech to text. This is a challenging task because there are many challenging characteristics of speech that need to be understood to accurately process a conversation. Speech has temporal and spectral variations. Speakers have different accents, have different voices, speak with different intensities, have different background noises, speak with different word emphasis patterns, and so on.
Additionally, line and channel noise may make it difficult to understand speech. Audio can be recorded in a variety of conditions exhibiting reverb, echo, and background noises such as air conditioning hum, phones ringing, and so on. Speech is also typically compressed using a variety of codecs such as G.711, AMR, OPUS, and so on. Best-in-class speech recognition systems must take all of these factors into account to achieve high accuracy.
Vocabulary size and domain customization are also important aspects of speech recognition systems. Languages today involve many hundreds of thousands of words, millions of words once you account for proper nouns and acronyms. New words (people and company names, for example) are being added all the time, making it necessary to retrain models on a regular basis.
2. Speaker Change Detection
It is important to detect when speakers change during a conversation. This is important for call and meeting transcription systems because it enables these systems to understand when one person stops speaking and another person starts speaking. This can be important for applications such as the generation of automatic meeting minutes, where it is important to identify who made which statement and when.
Detecting speaker changes can be challenging in practice. It is not uncommon for speakers to overlap each other by several hundred milliseconds. Multiple speakers may also speak at the same time (a problem known as 'overtalk'), adding additional complexity. In practice, speaker change detection systems must be robust to a wide variety of conditions that may occur in real-world conversational scenarios.
3. Speaker Diarization
Knowing when speakers change in a conversation is not enough -- it is also important to how many individuals are involved in a conversation and when each speaker is talking. This is known as diarization, and it is an important step in any voice AI solution. Diarization enables a system to understand who said what during a conversation, and when.
It can be difficult to determine the number of speakers involved in a conversation and when they are speaking. Systems must be trained on massive amounts of labeled conversational data to create models capable of performing this complex task. Some conversations may have only a few speakers, but others may have 10, 20, or more individuals speaking at the same time. Diarization systems must be capable of dealing with a wide range of conversational scenarios.
4. Speaker Identification
Another important aspect of voice AI is speaker identification. Diarization systems may provide an understanding of how many speakers are involved in a conversation and when they spoke, but it does not provide an understanding of who the speakers actually are. This is where speaker identification comes into play.
Speaker identification is a challenging task because not only do the systems need to accurately identify who the speakers are, but they must be capable of doing this with very short segments of audio. Conversations often include rapid back-and-forth between speakers, where each utterance may only be only one or two words. Voiceprint identification systems must be capable of processing these short segments to provide accurate identification of who is talking.
5. Other Speech Technologies
Voice AI systems may include other specialized modules for processing speech, for performing tasks such as tone analysis, vocal stress detection, emotion detection, and so on. Voice redaction and voice cloning are also important research areas. The field is advancing rapidly, with new capabilities being generated and accuracy records being broken on a regular basis.
Overview of NLP
Natural language processing is the task of understanding written human language. NLP systems can be thought of as the complement of speech recognition systems. While speech recognition systems convert speech to text, NLP systems convert text to meaning.
NLP systems have many tasks, including named entity extraction, sentiment analysis, relationship extraction, taxonomy classification, intent classification, conversational analytics, and so on. Each of these tasks requires specialized techniques that are unique to the task at hand. NLP is an extremely challenging space going back many decades, but rapid advances in neural network architectures and scale are making these systems increasingly capable.
1. Named Entity Extraction
Named entity extraction is the task of understanding what are known as entities in natural language. Entities are things such as people, locations, and organizations. If you see the sentence, 'The White House is in Washington, DC.', then it is important to understand that 'The White House' and 'Washington, DC' are entities. NLP systems enable machines to understand entities in human language.
This task may seem trivial, but it is surprisingly challenging in practice. There are many different types of entities that machines must understand, and ambiguities can arise that make it difficult to understand which entities are actually being discussed. For example, the sentence, 'I love Paris.' could be referring to the city of Paris, France or Paris Hilton the celebrity. An entity extraction system must be able to understand the context in which an entity is mentioned to understand which type of entity is being discussed.
2. Sentiment Analysis
Sentiment analysis systems analyze whether a statement may be approving (positive sentiment), disapproving (negative sentiment), or neutral. A simple example of a sentiment analysis task might be looking at the sentence, 'The film was entertaining at first, but then my opinion turned for the worse and the ending was just bleh'. Sentiment analysis systems must understand that this sentence is expressing negative sentiment about the film, even though the text does not explicitly state it.
This task can be challenging because sentiments are often implicit or expressed in a subtle manner, such as in an adjective or an adverb. Humans can easily understand sentiments from context and word choice, but machines historically have struggled with inferring sentiment from natural language. Recent advances in neural network architectures have enabled models that can now perform sentiment analysis with high accuracy.
3. Relationship Extraction
Relationship extraction is the task of understanding relationships between entities. For example, it is important to know that a person named 'Bob' is the husband of a person named 'Lisa'. A relationship extraction system must be able to understand that these two entities are related in this way.
This task can be challenging because of the many different types of relationships that may exist between entities. Machines must learn the subtle variations in how relationships are expressed in natural language. They must be able to deal with possessive forms (my coworker), noun possessives (the queen's husband), and so on.
4. Taxonomy Classification
Taxonomy classification is the task of understanding the class to which an entity, sentence, text fragment, or document belongs. Taxonomy classification is important for applications such as data discovery, information retrieval, question answering, question classification, and so on.
This task is challenging because taxonomies are often extremely hierarchical, with various sub-classes and sub-sub-classes. An example taxonomy for baseball would include classes such as 'National League' and 'American League', which would then each have their own sub-classes such as 'East Division' and 'West Division'. NLP systems must understand the relationship between these classes in order to classify documents appropriately.
5. Other NLP Technologies
Other important NLP technologies that are commonly used by voice AI systems include discourse processing, entity disambiguation, role labeling, syntactic parsing, morphological analysis, text representation, and so on. NLP is an extremely challenging space due to the number of different technologies involved.
Historically specialized approaches with specifically engineered features and models have been used to address each of these problems, but recent advances in large-scale language modeling are enabling the development of systems that are sufficiently general to handle a wide variety of NLP tasks.
Challenges of Speech AI
One of the challenges of speech AI is the massive number of variations in speech. There are many different voices, different dialects, different accents, and so on. Different languages pose additional challenges. For example, in English, there are multiple spellings for many words, such as 'gray' and 'grey'. This means that NLP must be able to understand a variety of different representations of the same word.
Another challenge is that speech AI systems must be capable of working in a variety of environments including noisy rooms, cheap microphones, and so on. This requires the use of algorithms that are capable of dealing with these challenges.
Applications of Speech AI in Calls and Meetings
Speech AI is a powerful tool for call and meeting transcription. Call and meeting transcription systems can automatically transcribe conversations, creating an accurate record of what was said during a call or meeting. This allows for easy search and retrieval of previously recorded audio, making it possible to quickly find a specific conversation.
While transcribing conversations is an important task, it is only the first step. The real value of voice AI platforms is derived by using them to automatically extract insights from calls and meetings. There are a number of different analytics that can be used to extract insights from calls and meetings including key event detection, speaker co-occurrence analysis, topic clustering, time series analysis, knowledge graph generation, and so on.
1. Automatic Meeting Minutes
One of the most exciting applications of voice AI is automatic generation of meeting minutes. This process enables long meetings (hours or more) to be condensed into a small set of structured notes (typically 2-3 pages). This reduces the time required to review what happened during the meeting.
2. Key Event Detection
Conversations typically contain large amounts of discussion and idle chatter. Key event detection systems are capable of sifting through a call or meeting and identifying the key takeaways. They can identify the important decisions made and problems or concerns raised. There are a large number of event types that may be detected by these systems including decisions, agreements, disagreements, clarifications, new information, and so on.
3. Speaker Co-Occurrence Analysis
Speaker co-occurrence analysis is the task of understanding which speakers typically speak together. This is important for identifying group dynamics in meetings. For example, it is useful to understand if a certain group of people tend to speak together or if different groups of people tend to speak with one another. This analysis can be used to visualize speaker co-occurrence and create a team dynamics heat map.
4. Topic Clustering
Topic clustering systems are capable of automatically grouping together conversations that contain similar topics. This is useful for those who want to quickly search and explore a large number of calls and meetings. For example, a supervisor might want to discover emerging product issues by automatically segmenting support calls into topic clusters.
5. Time Series Analysis
Time series analysis systems are capable of identifying time-based trends and patterns. This analysis is useful for a variety of applications including identifying emerging issues, discovering seasonal cycles, and so on. An example application might be to determine how conversations that mention software bugs change over time.
6. Knowledge Graph Generation
Knowledge graph generation systems are capable of automatically generating a knowledge graph for a company. Knowledge graphs consist of a set of nodes and edges. Nodes represent entities such as people, companies, projects, and so on. Edges connect nodes together to represent relationships such as co-workers, sponsors, investors, competitors, and so on. Knowledge graphs are useful for a variety of applications including data discovery, information retrieval, and search.
Future Trends In Voice AI
Voice AI systems will continue to advance at a rapid pace in the future. Training of ever larger-scale models will continue to push accuracy levels upward. Machine learning models will be capable of achieving near-human or even better performance on a variety of speech and language tasks.
There will also be an increasing number of companies leveraging voice AI use cases such as call and meeting transcription and summarization. Adoption will be driven by both increased capability of these systems as well as a reduction in cost. With advances in cloud infrastructure, it will be possible to operate voice AI systems at a fraction of the cost of on-premise systems. This will make it easier to deploy voice AI into a wider range of organizations.
There will also be an increasing number of applications that we have not yet thought of. Voice AI has the potential to disrupt many industries that involve conversations. All of this makes voice AI an exciting area of research and development.