>> You're not going want to miss this episode
of The AI Show where we look at
two amazing new features inside of Text Analytics.
My friend Parashar, make sure you tune in.
You can probably use them today.
[MUSIC]
Hello and welcome to this episode of
The AI Show where we're going to look at
what's new in Text Analytics with the two features.
I've got a special guest, Parashar.
Hello, my friend. Tell us who you are and how much you do.
>> Hello, everyone. My name Parashar.
I'm a program manager on the Text Analytics team,
and I specifically lead Sentiment Analysis,
Opinion Mining, and related operations as part of it.
>> That's awesome. I thought before we
even dive into the two new things you're going to talk about.
Do you have a second and tell us like get people on what this be,
and what Cognitive Services are,
and then what Text Analytics is, and what is for?
>> Sure, definitely.
Here, you can see that I have put
all the Cognitive Services which are available right now.
They cluster these Cognitive Services into different pillars.
There is vision, there is speech,
there is language, and there is decision.
Whenever you want to use AI models,
but do not want to start from scratch like training the model,
and then having a dataset and things like that,
that's when you can actually use Cognitive Services.
It's basically pre-built AI models,
which you can use easily,
and it takes less than a minute to get started.
Just send your data and get a response back.
>> This is really cool,
and I don't know if people know this,
but when I went to school,
I started with NLP.
So Text Analytics is extra special to me.
Why don't you tell us what Text Analytics is for,
and maybe why people would use it?
>> Yeah, definitely.
Text Analytics is part of the language pillar.
The idea behind Text Analytics is,
if you have text be it actually raw text or transcribed text,
and you want to analyze this text,
then you can send it to the Text Analysis API.
Depending on the type of operation you invoke,
you will get a response back.
You can do things like Language Detection, Key Phrase Extraction,
Entity Recognition, PII Detection,
and my favorite, Sentiment Analysis.
>> To me, Sentiment Analysis
is quite useful if you think about it,
especially with the trope of texts,
you want to know if people are happy
with the things that you're doing,
especially if you're making products, etc.
Now, that we've talked about Cognitive Services,
we talked about Text Analytics.
Let's get into the new things in
Text Analytics that you
told me you're really excited to talk about.
>> Yeah, definitely so.
As I mentioned, Sentiment Analysis is my favorite right now.
The reason is, we launched a new capability in Sentiment Analysis,
and we call it Opinion Mining.
This helps customers get
actionable insights in addition to the sentiment.
Let's take this example that the customer service agent was great,
but the system was low.
If you just look at the sentiment,
it is probably mixed at the sentence level.
But now, if you want to get actionable insights like,
what was the customer service agent like?
What was the system,
which was the agent interacting with me like?
Now, you can get individual actionable opinions out of it.
That agent was great,
but the system was slow.
This is what we call as Opinion Mining.
Think of opinions as adjectives and aspects,
or the subject as your nouns or verbs with which this adjectives
get associated and will help you get the sentiment around it.
>> This is cool because as I'm looking at
this, because the sentence,
it gives you a score between zero and one,
zero being bad, one being positive,
but you're saying that now,
this can actually look at
the aspects and the opinions on those aspects.
These are aspect based Sentiment Analysis,
not just raw set of analysis, is that right?
>> That's correct. It opens up new set of use cases.
For customers or users who actually do not want to do
full document level Sentiment Analysis
or a sentence level Sentiment Analysis,
they can now use this one because you are actually
getting phrases or actionable insights from it.
>> That's cool. You're talking about
Opinion Mining because I wanted to get an introduction to
both of these things and then maybe get into some demos.
What's the next thing you wanted to talk about?
>> Yeah. Next big thing that I'm
really excited to talk about is Async API.
All the Text Analytics APIs,
which I mentioned earlier.
The Sentiment Analysis, Key Phrase,
Named Entity Recognition language,
they are available in sync form.
Basically, the latency is less than 500 milliseconds,
and you can send up to 5,000 characters in one request.
But now, we got a feedback from
customers that this sync API is great.
But sometimes, we have larger documents which are greater than 5K.
Sometimes we want to bundle all
of these operations into a single request,
so we don't want to send individually request.
We listen to our customers,
and I'm very excited to share that we are launching Async API,
or we call it the analyze endpoint.
The idea here is, now,
you can bundle multiple text analytics operations
into a single request,
and you can send up to a 125,000 characters in a single request.
You get the entire response back in a JSON,
in a single JSON,
which is all aggregated.
>> If I'm understanding this right,
this is basically an API so that if you want
to send bulk stuff over,
you basically send all the stuff over.
Because I'm hearing the term Async, once you send it over,
the operation's over, then you need to query
back for responses. Am I getting this right?
>> Yes, that's right.
The good thing is, if you use the SDK,
you don't even have to keep pulling.
We actually make it easier for you.
In a single operation you send it
and once the response is back you,
you just get the results back.
Even the pulling has been made easier.
But, of course, you have an option that instead of the SDK,
you directly call the API,
then you can pull it manually.
>> That's really cool. I feel we should take a look at a demo.
Do you have some to show us?
>> Yeah, definitely. Let me switch to my demos.
I'm going to show you demos which are based
on some common scenarios that I have seen with customers.
The first demo I'm going to show is around Opinion Mining.
Like I said, Opinion Mining is an extension of Sentiment Analysis.
We have documented it over Azure docs page.
The way you would have call Opinion Mining is you have to send
Opinion Mining equal to true in your Text Analytics API request.
Be it from SDK or from the API.
This is the flag that you have to send.
Then you have to send your documents.
You can send up to 10 documents in one request,
and then you get a response back.
I have a Jupyter Notebook to show this with an example.
In this case, I already ran it beforehand,
but as you can see that I'm suffixing
Opinion Mining equal to true in my regular sentiment API URL.
I'm sending a few sentences
where I'm trying to find out opinions
and the aspects associated with it.
This is my JSON response where I get the offset,
I get the confidence score.
Most important, I get the actual text,
which now, I can parse and show it somewhere.
Let us switch to a client where I have parse this demos,
and I can show it to you.
>> Hold on one second.
Let's go back because you went
really fast because I don't think
people realize that if you scroll up,
there's actually multiple languages that you're
sending in the same request, is that right?
>> Yes. Now, the thing is,
Opinion Mining right now is supported only in English.
But you do get that Regular Sentiment if you
send a non-English language right now.
>> That's cool.
>> We will keep on expanding,
so there will be new languages,
which will be supported in the future.
Let me show you a demo of how the process text looks like.
This is Power BI, and what I did is,
I have analyzed comments from IMDB.
These are basically movie reviews and I ran it through
the Sentiment Analysis and Opinion Mining APIs.
I get the Sentence Level Sentiments,
and I get the opinions and the aspects.
Then I have just created some charts based on this.
If, say for example,
I am a movie director,
and I'm making my next movie.
I need to find out,
"Okay. How did my previous movie do in terms of the reviews?"
Then now I can dig deeper into the actual comments,
and I can look at the aspects and
the opinions or the subjects and the opinions associated with it.
This way, I can tune the script if needed and things like that.
Now, one important thing that I wanted to call out is,
as you can see here, there is one sentence which is positive.
If I'm just looking for
a sentence at the Sentence Level Sentiment,
then I might miss out on this sentence,
which is positive, but I do get negative opinion on it.
Now, this is the power of Opinion Mining
where it helps you get that actionable insights,
and you can actually get the key phrase or
something which you can take an action on.
You can do this for negative,
positive, or even mix sentiments.
>> That's cool, yeah. The thing I like about this the most is,
as you're going through it,
it becomes clear how important this can be
because you might miss somebody saying
something negative about a specific thing
because there's an overall positive sentence.
You could totally miss that if you're not doing it
from the aspect based Sentiment Analysis.
That's awesome.
The next thing we want to look at was Async,
or is there any else you want to show us here?
>> I just wanted to quickly show that we
have something called a Kiosk,
we call it the Intelligent Kiosk.
I have the link which I can share.
This can be used by anyone who
wants to try Text Analytics quickly.
It shows you-all the capabilities of Text Analytics,
including Opinion Mining in a single screen.
In here as you can see,
I just analyzed a sample text
and we can see the opinions and the aspects which are there.
We can also see Named Entities and
other capabilities with Text Analytics.
>> That's cool. Make sure to get the link to
this so people can download it and try it out.
Then the second thing we wanted to look at was
the async capabilities, is that right?
>> Yes, that's right. I'm switching to VS Code now,
our favorite IDE as you know.
In here I have an example where I'm sending more than
5,000 characters to the new Async API.
We collect, analyze, and then we will try to aggregate the output.
Basically we are trying to do entity recognition,
PII detection and Key Phrase Extraction
all in one request and then we'll see the output.
Now, because of the async nature of the service,
it is not sub-millisecond,
so you send a response,
you can either pull the API or if you use the SDK,
then we actually give you the entire response back.
Let me walk you through this and
actually show you what's the difference here.
If you see here, begin analyze,
this is the new method that we have launched.
In here, I'm [inaudible] all the operations which I
want as a response by sending this text which I have over here.
I'm just going to quickly run this and then
we'll just wait for the response
back and I'll walk you through the response.
>> Since we have to wait, maybe we
should just like you and I chat and
then we'll fast-forward this for everyone to watch. Is that okay?
It looks like it's finished. Let's go to the screen.
>> Let me show you the output of the Async operation.
As you recall, we were trying
to do three different things in a single request.
We were trying to do entity recognition.
You can see it has recognized all the entities and we
support more than a 100 entities now.
It also did PII and we have many PII categories that we identify.
You can also do reduction as part of it.
Then finally, you can get
the key phrases which are there as part of it.
Everything is done, very easy to use and quick to start.
>> It just took a couple of minutes.
You and I had obviously our little chat while it was
going on but it didn't take very long.
How many characters is it sending off?
>> It can send up 225,000 characters.
In this particular example,
I had sent around 6,000 characters,
which is greater than
the previous limit that we
have for sync which was 5,000 characters.
>> These are obviously two amazing features we talked about,
aspect based sentiment analysis as well as the
async ability to send more documents at once.
Do you have something that maybe will inspire people on
some scenarios that they could actually use with this?
>> Yeah, that's a good point.
Let me switch back to my presentation.
I worked with a lot of customers actually,
day in and day out because
these services have been there for many years,
they are proven, they are tested.
Customers use it in mission critical scenarios as well.
Some of these new scenarios which I see are really amazing.
Because of the present times,
a lot of people actually call it customer care.
Sometimes they chat but oftentimes they make a call.
Now with cognitive services,
you can transcribe this audio from this support calls into text
and then you can send this text to
Text Analytics and do sentiment analysis,
PII key phrases or a named entity, whatever you want to.
Then, process this and show it in a live dashboard.
This is awesome because now you are having
an end to end workflow with all these things.
The second most common scenario which I'm seeing is analyzing
social media feeds and this is also near real-time.
You can have feeds from Twitter
or Facebook or any other platform and then
analyze it in subsequent latency and process it in
batch and then have it for
your dashboards meet in Power BI or any other application.
>> This is cool because it's
really easy to get how many people bought something.
But that's really not useful when you want to
understand how people are feeling about
the things that you're selling or doing.
You're saying that with these pipelines and scenarios,
you're able to monitor for example audio,
which used to be traditionally
hard because it can get automatically transcribed.
Or you can literally look at
sentiment analysis on a social media feed for example.
This is really cool. Are customers doing this?
You said customers are doing this.
>> Yes, yes, definitely they are.
The good thing is that just like we keep on
improving our Text Analytics AI models,
we also keep on improving the speech to text
and audio transcription models.
Often in many of these cases
we have actually reached human parity.
Even if there are spelling mistakes,
sometimes we can fix it by preprocessing the text
automatically or even in audio if there are pauses or slangs,
we can process some of these and use this.
>> This is amazing.
Where can people go to find out more?
>> Yeah, that's great.
We have great documentation available
and I have provided some links over here.
The best way to do as you can
Bing it actually and just search it on the web.
You will go to the Text Analytics documentation page.
We have quick stats for you to go through it.
We have how to guides.
We have also an explanation on
the data limits and things like that.
It's really easy to start and we are
always open to feedback if you have any after you try it out.
>> Well, as always, Parashar,
it's a pleasure to spend some time with you.
Thank you so much for being with us and for you there watching,
thank you so much for watching.
You've been learning all about Text Analytics,
two new features, Opinion Mining and the Async API.
Thank you so much for watching and
hopefully we'll see you next time. Take care.
[MUSIC]