Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Collecting Email Addresses in Voice with Dialogflow CX

I haven't figured out how to collect email addresses in a voice call with Dialogflow CX. I have a parameter called email_address with the entity type @sys.email but it seems utterly incapable of recognizing email addresses being spoken or spelled out over a voice call. When you tell it "name@domainname.us", Conversation History shows the end-user utterance as "Name domain name us" no matter how well you enunciate "at" or "dot". When you spell it out, it gets the dot, but the @ is still gone and many of the letters are separated.

Any tips for collecting email addresses over voice with Dialogflow CX?

Solved Solved
0 3 753
1 ACCEPTED SOLUTION

My suggestion is going to be to use the @sys.any entity type or create an entity type with the regex type: https://cloud.google.com/dialogflow/cx/docs/concept/entity-regexp

I would also recommend to you to provide enough training phrases to your intents so that can be used by the NLU to provide more info.

You can also use an LLM to post-process the information and get the email.

Best,

Xavi

View solution in original post

3 REPLIES 3

My suggestion is going to be to use the @sys.any entity type or create an entity type with the regex type: https://cloud.google.com/dialogflow/cx/docs/concept/entity-regexp

I would also recommend to you to provide enough training phrases to your intents so that can be used by the NLU to provide more info.

You can also use an LLM to post-process the information and get the email.

Best,

Xavi

Are there really no other options? This suggestion seems to invalidate the whole purpose @sys.email. Why do we need to reinvent the wheel if the email entity already exist.

Can you elaborate on the LLM process?

 

It sounds like you're referring to a situation where an email entity (like @sys.email) is already available and someone suggested an alternative solution, possibly involving a more complex approach that doesn't seem necessary to you. If the email entity like sys.email exists and works efficiently, it's natural to question the need to implement a new solution. Using predefined entities like sys.email simplifies processes such as recognizing and extracting emails from text, especially when dealing with machine learning or natural language processing (NLP) systems. These predefined entities are robust and have been extensively trained on large datasets, so they are typically more reliable for common tasks, like recognizing an email.

LLM Process

Large Language Models (LLMs), like GPT or BERT-based models, work by analyzing vast amounts of text data to learn the structure of language. They are trained to predict and generate text, identify entities, and perform many NLP tasks by recognizing patterns in data.