Skip to content

Стандартные шаблоны

Dmitry Che edited this page Mar 5, 2016 · 2 revisions

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

Данные

Кроме того, Агрегат перед тем как передать запрос модулю, находит в пользовательском запросе все те подстроки, которые соответствуют этим стандартным шаблонам, и "обогащает" их дополнительными данными.

Так, например, встретив $Number, Агрегат дополнит его целочисленным значением. Если встретится $Date, то Агрегат добавит к нему день, месяц и год.

Это дает вам возможность в вашем модуле сразу работать с преобразованными языконезависимыми данными, вместо того, чтобы пытаться преобразовать слово "два" к числу 2, а фразу "через неделю" к формату конкретной даты.

Пример

Если например в вашем модуле есть шаблон $Text через $Number, то в вашем коде на Java вы можете получить разметку и их данные так:

Markup text = request.markup.get(Pattern.TEXT);
Markup number = request.markup.get(Pattern.NUMBER);
System.out.println("Число " + number.data.get("value"));
// в text не будет дополнительных данных, так как это просто текст

Список стандартных шаблонов


Text

Обычный текст. Под него подходит одно или несколько слов, или даже пустая строка.


Number

Соответствует целому числу. Неважно, как оно было распознано - в виде текста или числа.

Данные

Агрегат добавит следующие данные к разметке:

  • value - целое число, соотвествующее содержимому подстроки

Date

Соответствует абсолютным и относительным датам, включая дни недели, названия месяцев и так далее. Например, соответствует фразам "завтра", "2 октября", "31 декабря 2015 года", "через неделю" и так далее.

Данные

  • day - день месяца (целое число)
  • month - месяц (целое число от 0 до 11, 0 - январь, 11 - декабрь)
  • year - год (целое число)
  • today - признак того, что дата сегодняшняя (булево значение)
  • past - признак того, что дата в прошлом (булево значение)

Time

Соответствует абсолютному и относительному времени. Например "через час", "в 2 40", "в 2 часа дня" и так далее.

Данные

  • hour - часы (целое число от 0 до 23)
  • minute - минуты (целое число от 0 до 59)
  • second - секунды (целое число от 0 до 59)
  • part - время суток (целое число, 0 - AM, 1 - PM, может отсутствовать)

Russian Version (Русская версия)





IDE


English Version

Main Page

Modules

  • List of available modules

User Guide

  • Where to get

  • How to install

  • How to use

  • Setting up


Developer Guide

Aggregate Architecture

Events List

Command Line


How to Create a Module

  • Java
  • Javascript
  • Typescript
  • Groovy
  • Ruby

Functional Modules

  • Query grammar

  • Pattern syntax

  • Dynamic patterns

  • Standard patterns

Activation Modules

Speech Recognition Modules

Text-to-Speech Modules


IDEs

  • Developing in Eclipse
  • Developing in IntelliJ IDEA

Change Log

Clone this wiki locally