SlideShare a Scribd company logo
1 of 19
The NuGram approach to dynamic grammars
Introduction What is a dynamic grammar? A grammar whose content is not known in advance Content comes from an external source Database Excel sheet Web service Data collected during the call Etc. Copyright © 2010 Nu Echo Inc.
Introduction Why dynamic grammars? Grammar content is only known at run-time To constrain grammars in order to improve recognition accuracy To solve maintenance problems More details on our blog: http://blog.nuecho.com/2008/10/06/use-cases-for-dynamic-grammars/ http://blog.nuecho.com/2008/10/09/use-cases-for-dynamic-grammars-part-2/ Copyright © 2010 Nu Echo Inc.
Use Cases On-the-fly generation Content comes from call-specific data Examples Identity validation Address capture Voice dialing Personalized bill payee list Personalized menu options One-step correction Copyright © 2010 Nu Echo Inc.
Use Cases Offline generation (triggered)‏ Results from an external event Examples: Auto-attendant Movie listings Copyright © 2010 Nu Echo Inc.
Use Cases Offline generation (scheduled)‏ Grammar generation is part of a scheduled maintenance process Examples Phone numbers (area code may be added)‏ Postal/Zip codes Stock quotes, mutual funds Bill payee list management Copyright © 2010 Nu Echo Inc.
Use Cases Offline generation (build time)‏ For grammars based on company-specific data Usually requires scheduled maintenance process Examples Branch names and addresses Stock quotes, mutual funds Bill payee list management Copyright © 2010 Nu Echo Inc.
The NuGram Approach Seamless evolution Copyright © 2010 Nu Echo Inc.
The Generation Process ABNF Grammar Template Grammar GSL Instantiation context GrXML Copyright © 2010 Nu Echo Inc.
Start with an ABNF grammar #ABNF 1.0 ISO-8859-1; languageen-US; root$name; public$name=    [$pre_filler] $employeeName[$post_filler]; $employeeName=  [dominique] boucher; Copyright © 2010 Nu Echo Inc.
Add dynamic directives #ABNF 1.0 ISO-8859-1; language@string callerLanguage; root$name; public$name=    [$pre_filler] $employeeName[$post_filler]; $employeeName =    [@word employee.firstname] @word employee.lastname; Copyright © 2010 Nu Echo Inc.
Complex objects and control-flow $employeeName =  @alt @for(entry : entries)‏ @if(entry.isDepartment)‏ @word entry.name @else         ([@word entry.firstname] @word entry.lastname @end @end @end ; Copyright © 2010 Nu Echo Inc.
NuGram Server Runtime infrastructure to deploy dynamic grammars Java Servlettechnology Can run in parallel/be packaged with your application Outputs grammars in ABNF, GrXML, GSL Fine-grained control of caching strategy Using configuration or Java API Two sets of APIs JSP-like API  REST API Copyright © 2010 Nu Echo Inc.
NuGram Server JSP-like API Instantiation + Generation at once Java code creates the instantiation context Can access databases, webservices Can access application data Can access parameters passed on the request URL Build the URL, let the ASR fetch the generated grammar http://localhost:8800/nugram-servlet/grammars/address.grxml?code=h3b1a7 Output Format HTTP Parameters Copyright © 2010 Nu Echo Inc.
NuGram Server Java Context Initializers for full control publicclassCanadianAddressContextInitializerimplementsContextInitializer{public Map getContext(Map httpParameters,GrammarFragmentFactory factory,CacheControl control)  {Map context = new HashMap();// 1. Extract the HTTP parameterString[] postalCode = httpParameters.get(“code”);    // 2. Look in the postal code databasePostalCodeRecord[] records = findRecords(postalCode);// 3. Populate the instantiation contextcontext.add(“records”, records);context.add(“helper”, new AddressHelper(factory));return context;  } Copyright © 2010 Nu Echo Inc.
NuGram Server JSP-like API – Tight integration with Java  #ABNF 1.0 UTF-8;languagefr-CA;mode voice;root$address;public$address = @alt@for (record : records)@fragmenthelper.civicNumber(record)@wordrecord.streetName      [@wordrecord.streetType]@end@end; Methods can be called on Java objects and produce grammar fragments (using a provided API) Supports bean properties - the real method is “getStreetName()” Copyright © 2010 Nu Echo Inc.
NuGram Server REST API HTTP-based Contexts sent to server as JSON objects Instantiation decoupled from generation for more effective use of resources  Application POSTs request to instantiate the grammar NuGram Server replies with an URL  Application passes the URL to the ASR  ASR fetches grammar using the given URL Copyright © 2010 Nu Echo Inc.
Benefits No distinction between dynamic grammars and static grammars Supported by a complete development environment – NuGram IDE Editor, debugging tools, coverage tool, sentence generation tool, etc. – they all work with dynamic grammars Easy to use, easy to deploy Pure Java servlet technology A proven technology Deployed in many large IVR applications Copyright © 2010 Nu Echo Inc.
Try it, it’s free! NuGram Hosted Server (REST API only): http://www.grammarserver.com Ideal for cloud-based telephony applications(Tropo, Voxeo Evolution, Teleku, etc.) A bunch of client APIs: http://github.com/nuecho/nugramserver-clients And of course the IDE: http://nugram.nuecho.com/

More Related Content

Similar to The NuGram approach to dynamic grammars

Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration testsKenneth Poon
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeADLINK Technology IoT
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféAngelo Corsaro
 
sMash at May NYPHP UG
sMash at May NYPHP UGsMash at May NYPHP UG
sMash at May NYPHP UGProject Zero
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing toolsGaurav Paliwal
 
Groovy Update - JavaPolis 2007
Groovy Update - JavaPolis 2007Groovy Update - JavaPolis 2007
Groovy Update - JavaPolis 2007Guillaume Laforge
 
Designing a Language and System for REST-oriented service composition,as a se...
Designing a Language and System for REST-oriented service composition,as a se...Designing a Language and System for REST-oriented service composition,as a se...
Designing a Language and System for REST-oriented service composition,as a se...raniakhalaf
 
The NuGram dynamic grammar language
The NuGram dynamic grammar languageThe NuGram dynamic grammar language
The NuGram dynamic grammar languageNu Echo Inc.
 
ESWC2008 Identity OpenLink - On The Evolution of Terms
ESWC2008 Identity OpenLink - On The Evolution of TermsESWC2008 Identity OpenLink - On The Evolution of Terms
ESWC2008 Identity OpenLink - On The Evolution of Termsrumito
 
Let's Peel Mangos
Let's Peel MangosLet's Peel Mangos
Let's Peel MangosSam Basu
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesciklum_ods
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web PropertiesStephen Donner
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7Bruno Borges
 

Similar to The NuGram approach to dynamic grammars (20)

Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration tests
 
JAX-RS.next
JAX-RS.nextJAX-RS.next
JAX-RS.next
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
 
sMash at May NYPHP UG
sMash at May NYPHP UGsMash at May NYPHP UG
sMash at May NYPHP UG
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing tools
 
Erlang at Nu Echo
Erlang at Nu EchoErlang at Nu Echo
Erlang at Nu Echo
 
Groovy Update - JavaPolis 2007
Groovy Update - JavaPolis 2007Groovy Update - JavaPolis 2007
Groovy Update - JavaPolis 2007
 
Designing a Language and System for REST-oriented service composition,as a se...
Designing a Language and System for REST-oriented service composition,as a se...Designing a Language and System for REST-oriented service composition,as a se...
Designing a Language and System for REST-oriented service composition,as a se...
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
The NuGram dynamic grammar language
The NuGram dynamic grammar languageThe NuGram dynamic grammar language
The NuGram dynamic grammar language
 
ESWC2008 Identity OpenLink - On The Evolution of Terms
ESWC2008 Identity OpenLink - On The Evolution of TermsESWC2008 Identity OpenLink - On The Evolution of Terms
ESWC2008 Identity OpenLink - On The Evolution of Terms
 
Ramji
RamjiRamji
Ramji
 
Let's Peel Mangos
Let's Peel MangosLet's Peel Mangos
Let's Peel Mangos
 
Resume
ResumeResume
Resume
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web Properties
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

The NuGram approach to dynamic grammars

  • 1. The NuGram approach to dynamic grammars
  • 2. Introduction What is a dynamic grammar? A grammar whose content is not known in advance Content comes from an external source Database Excel sheet Web service Data collected during the call Etc. Copyright © 2010 Nu Echo Inc.
  • 3. Introduction Why dynamic grammars? Grammar content is only known at run-time To constrain grammars in order to improve recognition accuracy To solve maintenance problems More details on our blog: http://blog.nuecho.com/2008/10/06/use-cases-for-dynamic-grammars/ http://blog.nuecho.com/2008/10/09/use-cases-for-dynamic-grammars-part-2/ Copyright © 2010 Nu Echo Inc.
  • 4. Use Cases On-the-fly generation Content comes from call-specific data Examples Identity validation Address capture Voice dialing Personalized bill payee list Personalized menu options One-step correction Copyright © 2010 Nu Echo Inc.
  • 5. Use Cases Offline generation (triggered)‏ Results from an external event Examples: Auto-attendant Movie listings Copyright © 2010 Nu Echo Inc.
  • 6. Use Cases Offline generation (scheduled)‏ Grammar generation is part of a scheduled maintenance process Examples Phone numbers (area code may be added)‏ Postal/Zip codes Stock quotes, mutual funds Bill payee list management Copyright © 2010 Nu Echo Inc.
  • 7. Use Cases Offline generation (build time)‏ For grammars based on company-specific data Usually requires scheduled maintenance process Examples Branch names and addresses Stock quotes, mutual funds Bill payee list management Copyright © 2010 Nu Echo Inc.
  • 8. The NuGram Approach Seamless evolution Copyright © 2010 Nu Echo Inc.
  • 9. The Generation Process ABNF Grammar Template Grammar GSL Instantiation context GrXML Copyright © 2010 Nu Echo Inc.
  • 10. Start with an ABNF grammar #ABNF 1.0 ISO-8859-1; languageen-US; root$name; public$name= [$pre_filler] $employeeName[$post_filler]; $employeeName= [dominique] boucher; Copyright © 2010 Nu Echo Inc.
  • 11. Add dynamic directives #ABNF 1.0 ISO-8859-1; language@string callerLanguage; root$name; public$name= [$pre_filler] $employeeName[$post_filler]; $employeeName = [@word employee.firstname] @word employee.lastname; Copyright © 2010 Nu Echo Inc.
  • 12. Complex objects and control-flow $employeeName = @alt @for(entry : entries)‏ @if(entry.isDepartment)‏ @word entry.name @else ([@word entry.firstname] @word entry.lastname @end @end @end ; Copyright © 2010 Nu Echo Inc.
  • 13. NuGram Server Runtime infrastructure to deploy dynamic grammars Java Servlettechnology Can run in parallel/be packaged with your application Outputs grammars in ABNF, GrXML, GSL Fine-grained control of caching strategy Using configuration or Java API Two sets of APIs JSP-like API REST API Copyright © 2010 Nu Echo Inc.
  • 14. NuGram Server JSP-like API Instantiation + Generation at once Java code creates the instantiation context Can access databases, webservices Can access application data Can access parameters passed on the request URL Build the URL, let the ASR fetch the generated grammar http://localhost:8800/nugram-servlet/grammars/address.grxml?code=h3b1a7 Output Format HTTP Parameters Copyright © 2010 Nu Echo Inc.
  • 15. NuGram Server Java Context Initializers for full control publicclassCanadianAddressContextInitializerimplementsContextInitializer{public Map getContext(Map httpParameters,GrammarFragmentFactory factory,CacheControl control) {Map context = new HashMap();// 1. Extract the HTTP parameterString[] postalCode = httpParameters.get(“code”); // 2. Look in the postal code databasePostalCodeRecord[] records = findRecords(postalCode);// 3. Populate the instantiation contextcontext.add(“records”, records);context.add(“helper”, new AddressHelper(factory));return context; } Copyright © 2010 Nu Echo Inc.
  • 16. NuGram Server JSP-like API – Tight integration with Java #ABNF 1.0 UTF-8;languagefr-CA;mode voice;root$address;public$address = @alt@for (record : records)@fragmenthelper.civicNumber(record)@wordrecord.streetName [@wordrecord.streetType]@end@end; Methods can be called on Java objects and produce grammar fragments (using a provided API) Supports bean properties - the real method is “getStreetName()” Copyright © 2010 Nu Echo Inc.
  • 17. NuGram Server REST API HTTP-based Contexts sent to server as JSON objects Instantiation decoupled from generation for more effective use of resources Application POSTs request to instantiate the grammar NuGram Server replies with an URL Application passes the URL to the ASR ASR fetches grammar using the given URL Copyright © 2010 Nu Echo Inc.
  • 18. Benefits No distinction between dynamic grammars and static grammars Supported by a complete development environment – NuGram IDE Editor, debugging tools, coverage tool, sentence generation tool, etc. – they all work with dynamic grammars Easy to use, easy to deploy Pure Java servlet technology A proven technology Deployed in many large IVR applications Copyright © 2010 Nu Echo Inc.
  • 19. Try it, it’s free! NuGram Hosted Server (REST API only): http://www.grammarserver.com Ideal for cloud-based telephony applications(Tropo, Voxeo Evolution, Teleku, etc.) A bunch of client APIs: http://github.com/nuecho/nugramserver-clients And of course the IDE: http://nugram.nuecho.com/