Понимание естественного языка IBM Watson - слишком большая ошибка запроса

Я использую Службу понимания естественного языка IBM Watson через Node SDK для анализа текста. У меня есть массив предложений длиной от 20 до 30. Когда я пытался перебрать API-интерфейс Array and Call NLU Analyze, я получаю Error : Too Many Request,

Нет никакого API, доступного для Массового процесса анализа текста, и я не вижу никаких ограничений в Сервисной Документации NLU. Я использую стандартный план.

Есть ли способ избавиться от этой ошибки? Я хочу проанализировать массив предложений.

Журнал ошибок:

Error: Too Many Requests
at Request._callback (/home/vcap/app/node_modules/watson-developer-cloud/lib/requestwrapper.js:99:21)
at Request.self.callback (/home/vcap/app/node_modules/request/request.js:186:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request.<anonymous> (/home/vcap/app/node_modules/request/request.js:1163:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage.<anonymous> (/home/vcap/app/node_modules/request/request.js:1085:12)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1056:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)

Обновить:

Добавление исходного кода:

segmentList.forEach((segment) => {
    var params = {
        text: segment,
        features: {
            keywords: {
                sentiment: false
            },
            sentiment: {
                document: true
            }
        }
    };
    logger.info("Analyse Segment : " + segment);
    return new Promise((resolve) => {
        NLUService.analyze(params, (err, data) => {
            if (err != null) {
                logger.error(err.stack);
            }
            ctr += 1;
            // Inserting data.sentiment.document.score to Database   
            .
            .
            .           
            if (ctr == callSegments.length)
                resolve();
        });
    }).then(() => resolve());
});

1 ответ

Из того, что я знаю после использования сервиса Natural Language Understanding, кажется, что существует ограничение в 20 одновременных запросов.

Вы должны убедиться, что не отправляете более 20 запросов одновременно. Если вы посмотрите этот пост в блоге, вы увидите, как можно параллельно выполнять N обещаний.

Другие вопросы по тегам