How Knowledge Assistant Works| Hitchhikers Platform
What You’ll Learn
In this section, you will learn:
- The technology behind Knowledge Assistant
- How it all works conceptually
How Knowledge Assistant Works
When you message Knowledge Assistant, what happens? How does it keep track of the user’s conversation? How does it interact with the Yext system?
These are all great questions. First, it’s important to define a few terms and understand the overall landscape of Knowledge Assistant and then we’ll go into how a conversation is processed end to end.
Knowledge Assistant is supported on two platforms: SMS and Facebook Messenger. When you register on a platform, you create a channel for communication. If you register on both platforms, you’ll create two channels and therefore can have two separate conversations.
When you start a conversation with Knowledge Assistant, the first thing that happens is that our NLP Conversation Engine will try to determine your intent. What are you trying to do? Once we know what you’re trying to do, we’ll fill in any information gaps that we might have.
For example, let’s say you message Knowledge Assistant “Add Photo”.
Our NLP Conversation Engine will breakdown the string, identify any additional parameters provided and match the message to a known intent in our system.
In this case, we know that when a user says “Add + [field name or type]” that the user wants to update the Knowledge Graph. If the user had said “view” or “get” we would know that the user wanted to retrieve data in the Knowledge Graph.
Once we know the user’s intent, we might need some additional information. We know they want to update a field with a photo, but which photo field do you want to update? Which entity do you want to update? In this next step, we’re filling in the holes of missing information by asking the user more questions. In reality, this is what we know based on the original message:
Knowledge Assistant will ask the user any necessary follow-up questions to fill in any information gaps. In this case, Knowledge Assistant will first ask which entity to update and then ask which photo field that user wants to update, based both on what fields are available on that entity and the user’s permission.
So now, the NLP Conversation Engine has enough information to proceed with the conversation.
Note: If the user had asked “Update the headshot field for entity 123 Grace Smith”, Knowledge Assistant would have enough information to skip this step because it knows the intent, the field, and the entity. Each intent will have its own set of parameters to fill in before Knowledge Assistant can proceed with the operation. Depending on how much information is provided in the initial message, Knowledge Assistant will intelligently gather only additional information as required.
Knowledge Assistant now has the information it needs, you can move forward with providing your headshot.
Now, how many times have you had a typo or accidentally sent a message before you meant to? The last step, and one of the most important, is confirmation. We always send a confirmation message before we apply any changes to your account to make sure we know what you want to do and forcing you to type in “Yes” or “1” to proceed. Don’t forget to do this otherwise your update, review response, or question response won’t be applied!
Once you confirm, Knowledge Assistant will treat this update just as if you updated it in the platform, respecting the same user permissions and the same validation rules. If you can only suggest content, for the example above, then your headshot would be sent through the approvals workflow in Suggestions; otherwise, the update will go through immediately.
What you learned above is all around user-initiated conversations where you reach out to Knowledge Assistant first. However, there are also times – if you sign up for it – that Knowledge Assistant can reach out to you proactively. For example, if there’s an upcoming national holiday, we’ll message you if you have not already set your holiday hours to make sure that your content is updated everywhere your consumers are searching. Or, if you receive a new review, you can be alerted in real time and respond within minutes, providing an exceptional customer service experience.
How does that work though?
When you register for Knowledge Assistant and enable proactive notifications, Knowledge Assistant will subscribe to a stream of notifications for the service – whether it’s reviews coming in, questions coming in, or what we call “nudge” messages to update your Knowledge Graph data.
As these messages stream through, Knowledge Assistant will determine if the message is relevant for a business with a user registered for that entity, with the right permissions and the right subscription services. If it is, Knowledge Assistant will send a message to initiate a conversation.
Note: We’ll send the message immediately, unless you are already in the middle of a conversation, in which case we’ll wait for that conversation to end or wait 6 hours for that conversation to expire.
Messaging Technology & Limitations
In order to send messages via SMS or Facebook we have to rely on external technologies that come with their own set of limitations or nuances.
For SMS, we use Twilio to deliver and receive messages. They help to navigate the cloud communications and carrier interactions for us so that we can focus on delivering the best conversation possible. Twilio supports messaging in most countries, but only supports MMS messaging in the US and Canada due to carrier limitations. MMS messages are required in order to send Media (like photos) so if you are messaging from a number outside of the US or Canada we recommend using the Facebook Messenger platform for sending photos.
For Facebook, we rely on their Messenger APIs to send and receive messages. We are able to integrate fancier interfaces with Messenger, including things like quick replies so that you can complete interactions even more easily. Since they do not provide multiple environments for us to deploy our application, we have two separate messengers – one that’s tied to our Sandbox Environment (where you do all of your challenges) called “Knowledge Bot” and one that’s tied to our Production Environment (where your live account lives) called “Knowledge Assistant”. Don’t be alarmed in the challenges for this track if your messages are from “Knowledge Bot” – it works exactly the same as “Knowledge Assistant”!