>> You're not going to want to miss
this special edition of
the AI Show coming to you from Microsoft Ignite.
We're going to look at Azure Cognitive Search,
the amazing search applications that you can build,
and a free app that you can download to go.
Don't miss it. We'll see you then.
[MUSIC]
>> Hello and welcome to this episode of
the AI Show, Microsoft Ignite Special.
>> That's great.
>> I know. We have a special guest with us today,
Liam Cavanagh. How are you doing my friend?
>> I'm doing great. Thank you so much for having me here.
>> Fantastic. Now, I've learned
a little bit about Azure Cognitive Search.
>> I love it.
>> We've had LUIS from a previous episode.
>> Yeah.
>> But we want to get all the new bits.
>> Yes. I could show you that. I get the fun part.
>> Let's start first with people getting an understanding of what
Azure Cognitive Search is and what patterns they might follow.
>> Yeah, what we've been calling this is
really what we call the knowledge mining platform.
>> Okay.
>> What we're really trying to do is we're trying to help
people do more with their unstructured content.
You probably saw all these demos
from LUIS and others where we've taken
information from PDFs and Office documents and
just trying to get out more information from it,
understand the knowledge so that people can do more with it.
>> I see.
>> What I wanted to do is show that it's not just
about files but we can take
more and do more with even structured data.
>> That's cool because I do demos on
files and I talk about
files because that's the most unstructured of unstructured.
>> Yeah. Absolutely.
>> But there's other documents too
and I feel like it needs to get its play.
>> Yeah, exactly. I mean,
look at your SQL databases, your NoSQL databases.
Even within that you'll have texts.
You have descriptions, you have other information.
Why not try to do even
more with that data than what you've been doing in the past?
>> I love it. Well, show us what you got my friend.
>> That sounds great. So what I wanted to
do is show a couple of different things.
Not only can we ingest data like you know from PDF and
extract the text from that but we can apply AI to it.
>> That's where it's really powerful.
>> That's the fun part.
>> Right.
>> Then so once we've had that and we've applied the AI,
I want to show how you can actually do even more.
So hopefully, using our brand new app generator.
>> Brand new.
>> Brand new. So what I want to do is show
you and hopefully in under 10 minutes how
I can create an AI enriched search application.
>> All right. Let's do it.
>> Sound good.
>> Let's start at 7:00.
>> So what I'm going to do is I'm going to start here.
This is just SQL Management Studio.
>> Old school goodness.
>> Old school. It's just a simple little table.
It's got some hotel information in it,
here it's got hotel names,
and as you can see here we got a whole lot of text that describes
the hotels that we're going to do some AI enrichment over.
We've got all kinds of different categories.
We even got some geo-spatial data in there.
So maybe let's try to do some interesting things there too.
So why don't we take that and see if we
can quickly create an application from it.
>> Let's do it.
>> Sounds good?
>> All right.
>> All right, so what I'm going to do is
I'm going to switch over here
to my Azure Cognitive Search.
I've already created a search service here through the portal.
The goal here is to be able to ingest that data from
Azure SQL and it could be coming
like we said from anywhere
but we're going to be doing it from SQL,
apply some AI, create the app.
>> Let's do it.
>> So I'm going to do that.
So the first thing that you're going to want to
do is click on this button here called import data.
What this is, is a no core solution that allows us
to point to a number of different data stores.
I think you probably use the blob storage quite a bit.
>> Azure Blob Store, yeah, that's the one I use all the time.
>> Yeah, we got that one covered.
I think today we're going to use the Azure SQL database here.
>> Awesome.
>> In fact I've already configured it
but I'm going to just choose it here.
This would have just asked me for my connection information.
>> Right.
>> I'm going to go on next and what it's doing
at this point is it's going to say, "That's great.
I know how to connect to your database."
Now, what I want you to do is I want you to
then decide what type of AI enrichment you want to do.
>> I see. So it's just a question of the data comes in,
and then you decide while we have this data what
more can we add to this data to make it more useful.
>> Exactly.
>> Love it. All right.
>> Okay. So what we're going to do is I'm going to
attach some of our cognitive services here.
I'm going to use my colleague's here,
Mike, so I don't have to pay for it.
>> Good, Mike.
>> Sorry, Mike.
>> No, we're okay with this Mike.
>> This is on your bill.
>> This is on you Mike.
>> Yeah. So now that I have this
under that account I can pick and choose what I want to do.
Remember we were looking at
that description field in the hotel that's got
all these text which is like why don't I go
through that text and see what I can bring out of it.
For example, why not get it with
some of the key phrases so that whenever
somebody is searching if it describes a pool why
not allow me to then search and filter and refine over.
>> That's smart.
>> Or this is brand new too.
It's called translate texts.
What I can do from this point is I can actually say,
"I want to translate it into
all kinds of different languages," and so if
I'm searching not only
on English but I can do it in a different language.
Let's just choose something like German.
>> Oh so you automagically now are able to
service the needs of other people in other languages through SQL.
>> That's right.
>> Okay, that's cool.
>> You can also go into the flip side so that if you have content
in all kinds of different languages maybe you want to unify it,
say to English or some other language so that it doesn't matter
what that original content is in you can then bring it in.
>> That's cool.
>> Which is great, right? Just have this part of it.
So the final thing that we need to do is just give it a name.
So we'll call it, let's say, "Channel 9 indexer."
My unique identifier is this field right here.
>> Got it.
>> I can do type heads suggestions.
>> So we're going to call it this.
>> Now I just configure in all of this data what I want to do.
First, I want to say, "Okay,
all these fields I can retrieve it in my application."
>> Okay.
>> I want to be able to full-text search
the hotel name and the description.
>> Cool.
>> You'll notice down here we have
a new field called translated text,
that's the German text.
>> Which is this thing that's getting moved over.
>> Yeah.
>> Awesome.
>> We have a new field called key phrases which is going over
this scription and extracting
all the interesting things that we found in it.
So then I can say, you know what,
let's make it so that I can do
type ed suggestions over the hotel name.
I can group or facet over things like the categories
and the cities and
maybe key phrases and then filter down on those two.
So you can pick and choose.
I'm just going to go really quickly and pick
a couple right here and that's about it.
So I've configured it, I'm ready to go.
>> All right, let's do it.
>> Let's bring in the data. Create the indexer.
This is thing, once again no code.
I can then configure it to run as often
as I want it to pick up the changes and bring them in.
So it's going to validate everything is good.
>> Then this is when you tell it when to run, right?
>> That's how often it runs.
So let's go "Channel 9 indexer",
submit it, and now it's going to
go and crawl SQL, bring in the data.
We can even make it use their chain tracking,
was very efficient to bring out
the data and it's going to apply that AI as we speak.
>> So as it's doing this because it
gets to take a couple of minutes, right?
The cool thing about this is that,
as I'm discovering this because I use it over files,
but now I'm starting to get a sense for any data at all
would be able to be used to be augmented by this, right?
>> You're actually right.
>> It doesn't matter where it's coming.
It could be SQL, what are the other connections?
>> So we have direct connections for Azure SQL, Cosmos DB,
we just introduced ADN Gentoo.
We are just very close to having SharePoint.
But really the matter is we're a platform so
you can also push content programmatically.
So virtually any data source we could potentially support.
>> So you can push data to Azure Search programmatically?
>> Absolutely.
>> I did not know that.
Tell me a little bit about that while this is going.
>> Yeah. So one of the great things is that
because we're a developer service we have all the APIs.
So the crawler is a great way
for being able to conveniently crawl,
but sometimes we have data on-premise.
>> I did not know this.
>> Sometimes we have data in other places,
so why not take that data and
add it to the value of our knowledge.
>> That's cool. That's the part that I know is look,
I made a talk with this but I focused on
just files and what's in there, but this actually cool.
All right, so is it ready?
>> Yeah, let's see. Let's go into
the index here and see if there's any data in it.
I'm just going to do a quick search.
Let's do a search and see if there's any data in there. There is.
You know I can do a quick search for I want an elegant hotel.
You can see down here it found the word.
Actually you can't see it so why don't I just show you.
If I add highlight on the description,
what it'll do is it'll highlight exactly
where it found that word, right?
>> That's cool.
>> So that's all the JSON.
Let's see if we can do a search in using the German word.
So we'll go down here and look at, let's see here.
If I just scroll down a little bit
here if I can. Well, I know what it is.
So we'll search for elegant,
I think it's elegant is the German word for it.
So we can actually find down here,
down below, we can see elegante,
oh because we do stemming.
So we can actually search for that,
and even if I'm searching in German I can get the right result.
>> Oh my goodness.
>> Ain't that great?
>> It was like not a demo
fail because this software adapted to us.
>> It knew that I messed up and it adapted to it.
So I can put it in there.
>> So as I look at this,
this is all good and well but no user
is ever going to use this search?
>> No.
>> So how can I make something that's a little prettier?
>> So I'm glad you asked because this has been
such a hard time because we help people
get this going but what do you do next,
how do I create a nice-looking app?
>> Right.
>> Well, this is brand new,
this great search app experience.
>> [inaudible] you pushed it too fast.
>> I'm sorry.
>> There it is.
>> Right here. What I do is I'm going to say,
"From this index I'm going to create an application,
I'm going to enable core so it allows from
a Java application to connect to it."
This is just a great way to get started in a simple way.
So in my search results I have this URL that goes to an image.
So let's make it a little pretty.
I got some nice images.
In the results I want the hotel name
and the description which is great.
>> Nice.
>> I'm going to say, "Next," and then in
the categories I want to group it by category,
city, and even key phrases that we extracted.
Sounds good? I'm going to type ahead suggestions.
As I'm typing, I want it to actually create these results.
>> That's awesome.
>> So create the search app,
download it, and we're done.
>> That was pretty easy.
>> So let's see what this looks like here.
>> So what is it that you actually download? Oh Just a file.
>> Yes. Let me just remove this, sorry, here.
Search for this, and there we go.
I got a search application that allows me to search for things.
I can do type eds.
So as I'm typing travel,
I do travel resort hotels.
>> Holy cow, this is like a JavaScript application.
>> It's all completely done.
I have all the groupings so that I'm like,
"Oh you know what, I'm glad that from
the key phrases you told
me about free wi-fi because that's definitely [inaudible] ".
>> Yeah, we want free wi-fi.
>> So I want to narrow down
on those results and get them in there.
All of that in hopefully under 10 minutes.
>> Well, Liam that was impressive.
>> Thank you.
>> Like I said I've been looking at
it but now with the couple of additions that you've shown us,
like getting stuff from databases,
this new application that's just ready to go, this is amazing.
>> Thanks a lot.
>> All right. Well, thanks so much for being with us my friend.
>> I appreciate it.
>> Thanks so much for watching.
We're learning all about Azure Cognitive Search,
the amazing capability to add your own search into
all unstructured data including
a cooler application that you can get to build.
Thanks for watching. We're at the special edition of
the AI Show at
Microsoft Ignite. We'll see you next time. Take care.
[MUSIC]