Hey, and welcome to another episode of "This is My Architecture."
I'm Erin from AWS.
And I'm here with Lucas from St. Louis University.
Welcome.
Thank you so much for having me.
So, can you tell me a little bit about your University--
maybe how many students you have there?
Yeah. So we have over 12,000 students
supported by over 2,000 faculty.
And we have a academic medical practice,
as well as a law library.
OK, so we have Lex here.
So it seems like this is probably some sort of chatbot
for your students and faculty.
Can you tell me a little bit about what this is?
Yeah. So we use the QnA chatbot,
which is an open source program that was
built by AWS Professional Services.
And we've worked very closely with them
to implement a really great product for our students.
So, I see you're using Lex.
Why didn't you just create, like, an Alexa Skill?
So we wanted something that goes across different modes,
so it can not only answer questions through the Alexa devices
and all of our student res halls,
but it also can be on our website, and they can also text it.
- Oh, cool. So there's, like, all nodes. - Right. Absolutely.
So if I'm a student and I'm in my room
and I need to know what time the library closes tonight,
I interact with my Lex Skill and then what--
oh, sorry, my Alexa in my room--
but then what happens?
Right. So the question will be sent to the QnA bot,
which is powered by Lex.
And we keep our building hours in a DynamoDB database
because it allows us to have default hours for all our buildings,
as well as hours for holidays, and breaks, and things like that.
So it's a really powerful tool for us.
So the question gets sent to DynamoDB.
If you asked, "When is the library open?"
the bot would respond, "Which library do you want?"
- Oh, yes. You probably have more, right?
So you would specify, say, the law library,
and it would return back the hours for that specific day.
OK. And why did you pick Dynamo DB?
It allows us... so for our content folks,
you can put a website on top of it.
So it provides a GUI interface where you can enter your hours.
And then the ability to set defaults for all your different
building objects is really great for us.
So it makes it just a little bit easier to enter data as needed.
- Yes, absolutely. - Well, cool.
So, what if I'm on the move,
I'm a student and I have a terrible peanut allergy,
and I really need to know, you know,
what can I eat at the dining hall today?
So, I'm on my phone and I text the bot. Then what happens?
So, when you text the bot,
we can use the Lambda function
to reach out to our external partners here.
- Oh, cool. - So we reach out to our food vendor.
They have coordinated with us on the schedule.
So we always know we're getting up-to-date information.
So if you were specific about dinner,
it would return dinner options.
If you were not specific, it would prompt you for breakfast, lunch, or dinner.
All right, so even if they changed the menu, like, a minute before,
I'd get the updated data immediately?
So yes, I certainly hope.
OK, great. So now we kind of know the core bot that you have.
But you have Elasticsearch and Comprehend down here.
How do these work with your app?
So, one of the most impressive things to us about the QnA bot
is the ability to add questions in bulk
and then being able to test
how the bot's going to respond to each question.
So Elasticsearch and Lex work together
to show us up-to-date scoring.
So as soon as I answer a new question,
I can see if that question, when asked through the bot,
is going to respond to the answer I inputted
or if it's going to respond to a legacy question.
So that's really important for us from a content design
that we can rapidly enter new questions for our business units,
as well as tests, subsets of questions,
or we can test all the questions in the bot at once,
which is over 400 questions.
So why did you pick Elasticsearch specifically?
So, Elasticsearch provides real time scoring
on all the questions that we enter
and what answer each question will map to.
So as we're adding content to the bot,
we can see quickly if we've added enough keywords to that question
to get the right answer.
And what Comprehend allows us to do is hone in on keywords
so the bot is only answering questions that we expect it to answer.
It isn't giving answers to things it really doesn't know.
And from a content design and control point of view,
that's really important to us.
So why did you pick Elasticsearch?
So, essentially just because of the real time scoring
and the way it's so easy to enter questions and see the results.
I can see that that would be really helpful for you guys to understand
if you are answering the questions properly.
And with Comprehend,
this will make sure that you're not answering a question that wasn't asked?
Right. So we can... it gives us levers to let the bot know
to only focus on key terms, like subjects, nouns, verbs,
and to ignore common linking words. - OK.
So if multiple questions may be referenced, you know, 'which', 'that'..
the bot isn't keying in on the person typed in 'which'
and giving a poor response.
And it sounds like there are a lot of content owners are actually
putting in data for this from different departments throughout your school.
So how do I know, as a content owner,
that I'm answering questions that students are actually asking?
So if the bot gives an answer,
you can leave feedback as the user.
So within each chat bubble on the bot,
there's a thumbs down that you can click. - Oh, OK.
And that sends out to all content owners
an email that shows the question, as well as the answer that was given.
And then we can see if perhaps it's an answer we don't have yet,
or maybe it's giving a poor answer.
And in either case, we can go in and fix that.
And that's done through SNS.
Oh, so that's great. So that allows content owners to understand,
you know, what are the students asking,
do I have the answers for that,
or am I answering it properly? - Right, absolutely.
Well, great. Thanks so much for coming in and showing us
how you're really helping your students navigate stressful college life.
Thank you so much. I appreciate it.
And thank you.
And thank you for watching another episode of "This is My Architecture."