Search code examples
gcloud

Using Google Natural Language API or AutoML for sentiment detection of a specific condition


What we like to do is to analyze conversation and detect when there is negative sentiment. What I mean by this is that we specifically want to detect if the user on the call is angry or frustrated or combative and needs to be transferred. We had plan to use the natural language sentiment,but the problem is that the sentiment analysis only detect if a statement is positive or negative. For example:

I am unable to login because it said my password is expired.

This would result in a negative sentiment, but the user is stating something and is not an indication that the user is combative.

I could perform some sort of entity analysis and it would return a list of predefined entity types like "Person". However, it does not appear to allow me to create new entity types nor can I adjust the criteria for entity type.

Is my best bet to look into AutoML? With this I would have more flexibility, but what would be the cost difference between using Natural Language API vs the automl api?

Thanks.


Solution

  • Models used in Google Natural Language API have been trained on enormously large document corpuses, their performance is usually quite good as long as they are used on datasets that do not make use of a very idiosyncratic language.

    On the other hand, the AutoML model performance has a quite slow training process and has different models[1]. The AutoML sentiment analysis model might be very convenient. However, for the performance of critical tasks, it makes sense to invest the time and develop the model yourself to have better results.For pricing of AutoML, you can check the link[2] below to calculate the price you prefer.

    [1]https://cloud.google.com/natural-language/automl/docs/features [2]https://cloud.google.com/vision/automl/pricing