Поделиться через


SrgsRule.Add(SrgsElement) Метод

Определение

Добавляет SrgsElement в объект SrgsRule.

public:
 void Add(System::Speech::Recognition::SrgsGrammar::SrgsElement ^ element);
public void Add (System.Speech.Recognition.SrgsGrammar.SrgsElement element);
member this.Add : System.Speech.Recognition.SrgsGrammar.SrgsElement -> unit
Public Sub Add (element As SrgsElement)

Параметры

element
SrgsElement

Объект, наследующий из SrgsElement и указывающий, что именно можно распознать.

Исключения

element имеет значение null.

Примеры

В следующем примере создается грамматика, которая распознает фразу "Нация, выиграющая Кубок мира", за которой следует название страны, выигравшей кубок мира. После создания SrgsRule объекта winnerRule и присвоения ему идентификатора WorldCupWinnerстроки в примере используется Add метод для добавления строки "Нация, выиграющая Кубок мира" к правилу. Затем в примере создаются два дополнительных правила: ruleEurope и ruleSAmerica. При использовании Add метода в примере к правилу WorldCupWinner добавляется SrgsOneOf объект , содержащий ссылки на ruleEurope правила и ruleSAmerica.

// Create an SrgsDocument, create a new rule
// and set its scope to public.
SrgsDocument document = new SrgsDocument();
SrgsRule winnerRule = new SrgsRule("WorldCupWinner");
winnerRule.Scope = SrgsRuleScope.Public;

// Add the introduction.
winnerRule.Elements.Add(new SrgsItem("A nation that has won the world cup is: "));

// Create the rule for the European nations.
SrgsOneOf oneOfEurope = new SrgsOneOf(new SrgsItem[] {new SrgsItem("England"), new SrgsItem("France"), new SrgsItem("Germany"), new SrgsItem("Italy")});
SrgsRule ruleEurope = (new SrgsRule("EuropeanNations", new SrgsElement[] {oneOfEurope}));

// Create the rule for the South American nations.
SrgsOneOf oneOfSAmerica = new SrgsOneOf(new SrgsItem[] {new SrgsItem("Argentina"), new SrgsItem("Brazil"), new SrgsItem("Uruguay")});
SrgsRule ruleSAmerica = (new SrgsRule("SouthAmericanNations", new SrgsElement[] {oneOfSAmerica}));

// Add references to winnerRule for ruleEurope and ruleSAmerica.
winnerRule.Elements.Add(new SrgsOneOf(new SrgsItem[] {(new SrgsItem (new SrgsRuleRef(ruleEurope))), new SrgsItem(new SrgsRuleRef(ruleSAmerica))}));

// Add all the rules to the document and make winnerRule
// the root rule of the document.
document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
document.Root = winnerRule;

Комментарии

Типичные дополнения к объекту SrgsRule включают SrgsItemобъекты , SrgsOneOf, SrgsRuleRefи SrgsToken , которые указывают, что говорящие могут говорить. Допустимый элемент правила должен содержать по крайней мере один фрагмент распознаваемого текста или одну ссылку на правило. Дополнительные сведения см. в разделе Создание грамматик с помощью SrgsGrammar .

Объект SrgsRule также может содержать SrgsNameValueTag объекты и SrgsSemanticInterpretationTag , которые добавляют семантические значения и семантические ключи к правилу. Подсистема распознавания речи возвращает семантическую информацию, а также распознаваемую фразу при распознавании фразы. Дополнительные сведения см. в разделе Разметка семантической интерпретации .

Применяется к

См. также раздел