
Introducing Google Cloud Natural Language API, Speech API and New Data Center - ppoutonnet
https://cloudplatform.googleblog.com/2016/07/the-latest-for-Cloud-customers-machine-learning-and-west-coast-expansion.html
======
nostrademons
Accuracy still seems to leave a fair bit to be desired. For example, when
parsing "Blue, Brown, Orange, Green and Red Lines were running normally" from
this news article [1], "Blue" was interpreted as the color [2], "Brown" was
interpreted as the Brown Bears football team [3], "Orange" was interpreted as
the Orange Line _Washington_ (not Chicago) Metro [4], "Green" was interpreted
as "environmentally friendly" [5], and "Red lines" was interpreted as the
organization (but without a Wikipedia page).

Works pretty well on places, though.

[1] [http://chicago.cbslocal.com/2011/02/02/dangerous-
blizzards-w...](http://chicago.cbslocal.com/2011/02/02/dangerous-blizzards-
wrath-continues/)

[2] [http://en.wikipedia.org/wiki/Blue](http://en.wikipedia.org/wiki/Blue)

[3]
[http://en.wikipedia.org/wiki/Brown_Bears_football](http://en.wikipedia.org/wiki/Brown_Bears_football)

[4]
[http://en.wikipedia.org/wiki/Orange_Line_(Washington_Metro)](http://en.wikipedia.org/wiki/Orange_Line_\(Washington_Metro\))

[5]
[http://en.wikipedia.org/wiki/Environmentally_friendly](http://en.wikipedia.org/wiki/Environmentally_friendly)

~~~
dmorr
Google Research PM here -- my team built the language understanding tech that
powers the API. Thanks for checking it out!

You picked a really interesting, and really hard, sentence to use to test us
with. It has a couple of interesting phenomena: a reduced conjunction ("Line"
goes with each color to make a name, like "Blue Line" even though "Blue" and
"Line" are far apart), and high ambiguity ("Green" could be the color, the
environmental movement, the political party, one of several people, or lots of
other things
([https://en.wikipedia.org/wiki/Green_(disambiguation)](https://en.wikipedia.org/wiki/Green_\(disambiguation\))
).

These are hard! So hard, in fact, that I'm reasonably sure that there's no
system in existence that would get these ones right. (I hope I'm wrong,
actually, I'd love to see approaches that can solve problems like this
generally.)

Our systems are state-of-the-art, or in some cases better than any other
published system. But language is really hard, and even the world's best
systems are way worse than any human at understanding language. That's what
makes working on this stuff so much fun and so challenging. It feels so easy
for us as humans, but we just haven't figured out how to model all this so
that the computers can do as well.

(I'm going to steal this sentence to use internally as a great "NLP is hard"
example, thanks!)

~~~
dominotw
>"Green" could be the color, the environmental movement, the political party,
one of several people, or lots of other things

It says 'train line' right in that sentence. Where is the ambiguity?

even if it missed that why didn't any of the 'cta' , 'chicago' , 'train',
'run' or 'line' nudge it in the right direction. It seems to have identified
'cta' entity correctly but completely ignored that context for the next words
in the sentence.

~~~
kafkaesq
_It says 'train line' right in that sentence. Where is the ambiguity?_

That's the thing -- in your (wetware) mind it says "train line." But the
sentence itself it just says "line", which can mean a whole much of things.

~~~
dominotw
_But the sentence itself it just says "line", which can mean a whole much of
things._

Ok i changed the sentence to include 'train lines'

 _CTA buses were moving, but slowly, and ‘L’ train lines were operating, but
with delays. Blue, Brown, Orange, Green and Red Lines were running normally._

Even this is no good

 _CTA buses were moving, but slowly, and ‘L’ train lines were operating, but
with delays. Green train line was operating normally._

didn't make any difference. Were you able to get it to parse correctly
somehow?

~~~
kafkaesq
Now we have a different problem -- in that the new examples aren't idiomatic.
There's no reason we should expect it to identify the phrases _' L' train
line_ and _' L' line_ with equal accuracy, because the former is something
basically nobody says -- while the latter is something everyone (even someone
unfamiliar with that particular city) understands.

But hey -- I'm not defending the API's accuracy ;)

------
a3camero
Free till August 1st (with request limit) and then there'll be a free tier.
Pricing is here: [https://cloud.google.com/natural-
language/pricing](https://cloud.google.com/natural-language/pricing)

~~~
shimon_e
luis.ai is 100k requests free per month vs Google's 5k.

------
spdustin
Regarding non-streaming transcription: It doesn't seem like the return
includes timings, which would limit its usefulness in transcription for
accessibility (where, for example, a post-processing step on our side would
consume the Cloud Speech API and build SRT subtitle files for class
recordings)

Is there a product / service / library out there that could help align a
known-good transcript with the original audio (creating the timings) if the
Cloud Speech API doesn't plan to return timings?

~~~
danso
Yeah that was a bummer to see in the alpha and I was holding out that they'd
expose that data at release date (as IBM Watson has), but maybe they want to
limit the ability for competitors to easily appropriate the sound-to-
transcribed-word data.

~~~
spdustin
Thanks for mentioning Watson; I keep meaning to go back to it and see how
limits have improved.

------
alyx
Similar offering suite from Microsoft,

[https://www.microsoft.com/cognitive-
services/](https://www.microsoft.com/cognitive-services/)

~~~
euyyn
I wonder how they compare.

~~~
jaytaylor
AFAICT, the MS offering looks pretty basic by comparison [0]. No named entity
recognition or sentiment analysis.

[0] [https://www.microsoft.com/cognitive-services/en-
us/linguisti...](https://www.microsoft.com/cognitive-services/en-
us/linguistic-analysis-api)

~~~
alyx
Through a combination of cognitive API sentiment analysis and entity
recognition is also supported.

[https://www.microsoft.com/cognitive-services/en-us/text-
anal...](https://www.microsoft.com/cognitive-services/en-us/text-analytics-
api)

------
ImTalking
Is this technology good enough to be able to have a relatively intelligent
'conversation' with a real person?

------
ljoshua
On the other side of the NLP spectrum, what players out there are involved in
NLG (natural language generation)? I've seen Arria and a couple other small
projects, but I'm just starting to investigate the space and haven't found a
whole lot yet.

~~~
ganeshkrishnan
We are working on pre-processing text corpus to generate assumptions and
presuppositions using NLG.

Our initial aim is to index the whole Wikipedia and have pre-generated NLG for
all pages as additional info for better searches.

Right now we are using Lucene & Syntaxnet but I haven't found a good library
for hierarchical clustering of text

Check us out at www.shoten.xyz

------
vonnik
I'm curious to see whether clients actually want to move very large datasets
through these APIs, or whether that's too costly. It strikes me that cloud
services work best for data generated and managed in the same cloud...

~~~
matt4077
I've been moving into the (google) cloud and one of the main benefits is that
I no longer have to down- and (especially) upload the data I work with, but
simply remote-control a pipeline with a much larger pipe.

I guess for data that is generated on site it's a net negative, but I'd guess
almost all data has to go across the internet at some point and google is
probably not the worst warehouse on that highway.

------
melvinmt
So about $1.44 per hour, that's reasonable-ish.

~~~
ganeshkrishnan
We run Apache OpenNLP which gives comparable results to this service. The
advantage of Google Natural Language right now is the Wikipedia link it
provides to the entities it detects but I haven't seen it's results beat Open
NLP

~~~
IshKebab
He's talking about the speech recognition. Google's speech recognition is far
ahead of the competition, and also slightly cheaper (except for Baidu's which
is free, but good luck getting it to work).

------
zyxley
So how long until these new services get summarily discontinued?

~~~
rabidrat
Seriously, there's no way I would use Google APIs for anything production at
this point.

~~~
bitmapbrother
Well, if you want uptime that's better than AWS then I would.

