Конструктор класса Nlu. Инициализирует пустой объект NLU и кэш данных.
Static ReadonlyT_DATETIMEТип сущности: Дата и время. Используется для извлечения дат, времени и временных интервалов.
Поддерживаемые форматы:
const dateTime = nlu.getDateTime();
if (dateTime.status) {
const date = dateTime.result[0];
// Абсолютная дата
if (date.year && date.month && date.day) {
console.log(`Дата: ${date.day}.${date.month}.${date.year}`);
}
// Время
if (date.hour !== undefined) {
console.log(`Время: ${date.hour}:${date.minute || '00'}`);
}
// Относительное время
if (date.relative) {
console.log(`Относительно: ${date.relative}`);
}
}
Static ReadonlyT_FIOТип сущности: ФИО. Используется для извлечения имен, фамилий и отчеств.
Static ReadonlyT_GEOТип сущности: Геолокация. Используется для извлечения адресов, городов и других географических данных.
Поддерживаемые форматы:
const geo = nlu.getGeo();
if (geo && geo.tokens.length > 0) {
const location = geo.tokens[0].value;
console.log('Страна:', location.country);
console.log('Город:', location.city);
console.log('Улица:', location.street);
console.log('Номер дома:', location.house_number);
console.log('Координаты:', location.latitude, location.longitude);
}
Static ReadonlyT_INTENT_CONFIRMВстроенный интент: Согласие. Используется для распознавания положительных ответов.
Поддерживаемые варианты:
Static ReadonlyT_INTENT_HELPВстроенный интент: Запрос помощи. Используется для распознавания запросов о помощи.
Static ReadonlyT_INTENT_REJECTВстроенный интент: Отказ. Используется для распознавания отрицательных ответов.
Поддерживаемые варианты:
Static ReadonlyT_INTENT_REPEATВстроенный интент: Повторение. Используется для распознавания запросов повторить последний ответ.
Static ReadonlyT_NUMBERТип сущности: Число. Используется для извлечения числовых значений.
Поддерживаемые форматы:
const numbers = nlu.getNumber();
if (numbers.status) {
numbers.result.forEach(number => {
// Проверка на целое число
if (Number.isInteger(number)) {
console.log(`Целое число: ${number}`);
}
// Проверка на дробное число
else if (number % 1 !== 0) {
console.log(`Дробное число: ${number}`);
}
});
}
Protected_serializeNluСериализует входные данные NLU в стандартный формат.
Входные данные NLU
Обработанные данные NLU
Получает дату и время из текста.
Результат поиска даты и времени
const dateTime = nlu.getDateTime();
if (dateTime && dateTime.tokens.length > 0) {
const dt = dateTime.tokens[0].value;
if (dt.year) console.log('Год:', dt.year);
if (dt.month) console.log('Месяц:', dt.month);
if (dt.day) console.log('День:', dt.day);
if (dt.hour !== undefined) console.log('Час:', dt.hour);
if (dt.minute !== undefined) console.log('Минуты:', dt.minute);
if (dt.relative) console.log('Относительное время:', dt.relative);
}
Получает геолокацию из текста.
Результат поиска геолокации
const geo = nlu.getGeo();
if (geo && geo.tokens.length > 0) {
const location = geo.tokens[0].value;
console.log('Страна:', location.country);
console.log('Город:', location.city);
console.log('Улица:', location.street);
console.log('Номер дома:', location.house_number);
console.log('Координаты:', location.latitude, location.longitude);
}
Получает конкретный интент по имени.
Имя интента
Интент или null
Получает все интенты из текста.
Объект с интентами или null
const intents = nlu.getIntents();
if (intents) {
// Проверка наличия конкретного интента
if (intents['YANDEX.CONFIRM']) {
console.log('Найден интент согласия');
}
if (intents['YANDEX.HELP']) {
console.log('Найден интент помощи');
}
// Получение слотов интента
const helpIntent = intents['YANDEX.HELP'];
if (helpIntent && helpIntent.slots) {
console.log('Слоты интента:', helpIntent.slots);
}
}
Получает информацию о текущем пользователе.
Информация о пользователе или null
StaticgetEMailИзвлекает email адреса из текста.
Текст для поиска
Результат поиска email
StaticgetLinkИзвлекает ссылки из текста.
Текст для поиска
Результат поиска ссылок
StaticgetPhoneИзвлекает телефонные номера из текста.
Текст для поиска
Результат поиска телефонов
Nlu Класс для обработки естественного языка и извлечения сущностей из текста.
Основные возможности:
Платформенные ограничения:
Поддерживаемые форматы:
Example