Как использовать Google Natural Language API с Google Scripts

Google Natural Language API помогает понимать неструктурированные тексты. Вы можете передать строку (например, отзыв, публикацию в социальной сети или транскрипцию аудиозаписи) в API естественного языка, и она определит сущности (например, человека, места, продукты, события), настроение (довольны ли клиенты вашим брендом или сердиты на него) и синтаксис (части речи).

Google Natural Language может анализировать строки на нескольких языках, а также имеет REST API, поэтому вы можете легко использовать его в своих проектах Google Apps \ Google Ads script.

Чтобы начать, перейдите в раздел API в Консоли разработчика Google и включите 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
        }
    }]
}

Вы можете создать скрипт, который анализирует новые слова, появляющиеся в поисковых запросах, и при определенном пороге отрицательной оценки будет рекомендовать добавлять слова, окрашенные в отрицательный цвет, в качестве отрицательных слов.