Google Natural Language API помогает в понимании не-структурированных текстов. Вы можете передать строку (например отзыв, пост в соцсети, транскрипцию аудиозаписи) в API Natural Language, и он определит сущности (например, человека, места, продукты, события), настроение (довольны ли клиенты вашим брендом или злятся на него) и синтаксис (части речи).
Google Natural Language может анализировать строки на нескольких языках, а также имеет REST API, так что вы можете легко использовать его в своих проектах сценариев Google Apps\Google Ads.
Чтобы начать работу, в консоли разработчиков Google перейдите в раздел API и включите Natural Language API. Затем создайте API-ключ, с помощью которого будете осуществлять обращения к API из скрипта.
Вот, например функция анализа настроения:
function analyzeSentiment(lang, str) {
var api_key = '************************';
var requestUrl = `https://language.googleapis.com/v1/documents:analyzeSentiment?key=${api_key}`;
var data = {
document: {
language: lang,
type: 'PLAIN_TEXT',
content: str
},
encodingType: 'UTF8'
};
var options = {
method: 'POST',
contentType: 'application/json',
payload: JSON.stringify(data)
};
var response = UrlFetchApp.fetch(requestUrl, options);
var data = JSON.parse(response);
return data;
}
Пример ответа для этой функции:
{
"documentSentiment": {
"magnitude": 0.8,
"score": 0.4
},
"language": "en-US",
"sentences": [{
"text": {
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare, mi mollis porttitor pretium, dui diam mattis lorem, sed imperdiet...",
"beginOffset": 0
},
"sentiment": {
"magnitude": 0.8,
"score": 0.8
}
}]
}
Эту же функцию можно использовать и для оценки потенциальных минус-слов в контекстной рекламе. Например для слова «scam» вернётся вот такой ответ:
{
"documentSentiment": {
"magnitude": 0.8,
"score": -0.8
},
"language": "en",
"sentences": [{
"text": {
"content": "scam",
"beginOffset": 0
},
"sentiment": {
"magnitude": 0.8,
"score": -0.8
}
}]
}
Вы можете сделать скрипт который бы анализировал новые слова попадающиеся в поисковых запросах, и с определенным порогом отрицательной оценки рекомендовал бы негативно-окрашенные слова к добавлению в качестве минус-слов.