Cloud Natural Language is an API that let's you understand texts with a single rest API request. Let's see what you can do with the Natural Language API. First, the API lets you extract entities from your text. It can also give you the overall sentiment of a sentence or a text document. It'll tell you whether the sentence is positive or negative. With analyzing syntax, you can get into the linguistic details of your text, to extract things like parts of speech, and finally, the API lets you classify content into different categories. Let's take a look at the syntax analysis method in more detail. To do this, we'll use the example sentence. The natural language API helps us understand text. I've created a visualization to show you what the JSON response from the API looks like. First it gives you back what's called a dependency parse tree, and this tells you how the different words in the sentence relate to each other, which words depend on other words. Then we get back the parse label, which tells us the role of each word in the sentence. For example, helps is the root verb and API is the nominal subject. We also get back the part of speech. This will tell us whether a word is an adjective, a noun, a verb, etc, and we get the lemma. The lemma is the canonical form of the word. In this example, the lemma we get back is help, which is a lemma for helps, and this is useful if you're counting the number of times a particular word is used to describe something in your application. You probably don't want to count helps and help as two different things. You want to use the canonical form of the word or the lemma to do that. Then finally we get additional morphology details on our text. This will vary based on language that you send your text to the naturallLanguage API in. The next method I want to look at is content classification, and to show you how this works, I have a news article and I sent the title and first sentence of that article to the Natural Language API for categorization, and we can see here that it's able to return the category baseball. Now this is pretty cool considering the word baseball isn't mentioned anywhere in this text, and it's able to classify this with 99 percent competence. This method of the API provides over 700 possible categories that you can use to classify your text into. Next, I wanna talk about a company that's using a few different Natural Language API methods in production. This company is called Wootric and they are a customer feedback platform. The way Wootric helps their customers collect feedback is through this box on the top right. They place this in various places throughout their application, and they ask users to provide a numbered score of how their experience was with this particular part of the app. They give a score from 0-10 and this numbered score is pretty easy for Wootric to make sense of, but what's much more difficult for them to make sense of is this open-ended feedback, and that's where they're using the Natural Language API. We're using the sentiment analysis feature to gauge whether the person's open-ended feedback align with the numbered score that they provided. Then they're, using entity and syntax analysis to extract key entities from the text and use that to route this feedback appropriately. For example, if they encounter a customer who is angry about usability, they can route that to the correct person to respond in near real time rather than having somebody manually review each piece of feedback. You can try out the Cloud Natural Language API directly in the browser. I'm going to show you how this works with a demo. Let's take a look. If we go to the product page for the Cloud Natural Language API, we can see that we're able to enter text here and see what the Natural Language API responds. I'm going to enter my own text. This is something that I might find in a restaurant review. I'm going to say, I liked the sushi, but the service was bad. Now if I worked at this restaurant, I'd likely want to flag this review and maybe follow up with this person, but I wouldn't want to read all of the reviews. I probably would just want to find the most positive and most negative reviews. Let's see what we get back from the Natural Language API. Here we can see extracted two entities from our sentence, service and sushi, and it's able to break down the sentiment by entity. So rather than giving us the sentiment for the sentence as a whole, we can look at it for the specific entities in our sentence. The score that the Natural Language API returns is a value ranging from negative 1 to 1, indicating how negative or positive this particular entity is. We can see here that service received a score of negative 0.9, almost fully negative, whereas sushi received a score of 0.9, almost fully positive. This sentiment review is really valuable to us. If you look at a sentiment tab, we can see this as well. Here we can see the sentiment for the overall sentence, which isn't as useful to us in this case, because in this case we'd want to break it down by entity, and we can also examine the syntax details in our sentence. You can try this out with your own texts at cloud.google.com/natural-language