Comprehensive Dialogue & Context Model
In Teneo, the topics that end-users can talk about with your bot are designed graphically as 'flows'.
Flows do what is needed to handle an intent of the end-user. They represent a pre-defined conversational pattern to fulfill the request of your end-user.
Visual Modular Flows
The visual design canvas of Teneo allows you to rapidly design any type of flow by using elements like triggers, bot responses, path’s to guide the conversation, scripts, reusable backend integrations and links to other flows and sub-flows. This graphical and modular approach results in the rapid development of advanced high-quality dialogues and slot-filling flows.
Your bot can have as many flows as you like and together the flows allow the user to have conversations about different topics.
Conversations
While a flow implements the predefined conversational turns needed to resolve a user’s question, full conversations can’t be pre-defined or predicted. Conversations are rarely foreseeable. One of the trickiest things in bot design, is to bring your various flows together in conversations.
Flow stack
One of the key underlying technologies in Teneo that allows it to enable natural conversations is the flow stack. Teneo automatically manages the active flows in a flow stack. When a flow is triggered, it’s put on top of the stack, and as soon as it is completed, it will be removed from the stack.
The flow stack is made up of all the flows that have been triggered but have not yet finished. This allows end-users to freely switch topics when talking to your bot. Even when a particular flow has not yet completed its task, users can trigger another flow and, when that flow has finished its task, Teneo bots will automatically pick up to finish the previous flow.
Teneo manages the flow stack automatically. However, you can access and manipulate the flow stack programmatically using the powerful APIs that come with Teneo. You may, for instance, force the stack to be cleared in certain situations.
Context Model
Teneo’s advanced context model allows you to create CAI solutions that understand context by remembering what was said before or take into account other contextual information. Some key features that form the pillars of Teneo’s comprehensive context model:
- Flow stack: a typical human trait in natural language conversations is to temporarily deviate or switch topics. For example, while completing an order, a user might ask about opening hours, expecting the solution to answer and then continue with the order. Teneo’s flow stack automatically handles topic switching, out of the box.
- Contexts with definable time to live: contextual information in Teneo can be remembered throughout a flow or the conversation across flows, with a definable time to live. This means you can control how long information that is gathered throughout a conversation is remembered and used.
- Context restrictions: context restrictions in Teneo allow developers to specify which contextual information should be taken into account when interpreting inputs of the user. These context restrictions can consist of things remembered during the conversation, contextual information provided in addition to user inputs (like the time zone or type of device the user is using) or scripts. For example, context restrictions allow your solution to interpret inputs differently depending on the time of day, helping you to offer personalized experiences to end-users.
Dialogue Resources
Conversational Modules in Teneo boost your bot with lots of pre-built intents and flows. Right out of the box, Teneo Conversational AI solutions will understand and respond to greetings, meta-requests (like Can you repeat that?), feedback, conversational small talk and other conversational topics.
Conversational Modules are available for over 40 languages, and because the dialogue resources become part of your solution, you can extend and modify them to your needs.
Personalization
Using a combination of the knowledge of what has already gone on within the current dialogue, integration to backend systems built using Teneo Integration Manager plus real-time access to the detailed logs of prior dialogues, detailed and personalized experiences can be delivered using Teneo.
Any contexts returned from any data source can easily be built into the dialogue flows so the end-user experience can be adapted as the business processes require.
Extensibility
Although the platform ships with pre-configured NLP and extensive resources, these are fully extensible, so the developer may plugin additional assets into the input processing chain, or simply add resources (such as groovy files, JAR’s, text files, etc.) by dropping them into Teneo as resources. The platform even manages their deployment during the publishing process for runtime execution.
This helps to futureproof the investment made in building applications.
Reusability / Multi-use case
Within a solution many elements can be reused – such as building sub flows, linking flows, extending language resources, etc.
Within the same environment, many solutions can be built and maintained. Assets can be exported from one solution, and imported and reused in another. Even company specific ontologies (Conversational Modules) can be created and imported to all solutions.
Analysis and Bulk Importing
Provision is made for the analysis of large qualities of unstructured language data such as existing live chat logs, FAQ’s, etc., by using Teneo Data’s Discovery component. This data can then be formatted to build understanding of company specific or vertical specific terminology.
Similarly FAQ’s, ML training data, custom entities, etc., can be ‘dragged and dropped’ to accelerate solution development.
Deliver Omnichannel
For Web deployments, Teneo Web Chat is a chat widget that can easily be embedded in websites. Support for various message types like buttons, quick replies, images, audio, videos and cards is built-in and the available JavaScript API allows for easy live chat integration and extendibility. Teneo Web Chat is open-source on Github allowing for modifications if required. Additional functionality can be added without source code modification using the API.
Many prebuilt SDK’s are available to speed up implementations, such as iOS, Android, JavaScript and Node.js. Source code for these SDK’s is also made available, to support modification or extension be required for a particular implementation. See https://developers.artificial-solutions.com/engine/sdks
Many prebuilt channel connectors available, such as Facebook Messenger, Teams, Microsoft Bot Framework, Alexa, WeChat, WhatsApp, Google Assistant and various IVR’s and RPA systems – see https://developers.artificial-solutions.com/engine/channels. Source code is also made available to support modification or extension be required for a particular implementation.
Teneo Engine, the published runtime model, can service multiple channels from the same solution. It is channel aware so it can adapt the end-user experience based upon the capabilities of the channel and apply the most appropriate flow logic for it. You maintain this from a single Teneo solution.
Multi-lingual - Global / Local
Today’s enterprises inevitably require the deployment of many languages, and Teneo supports this with Global Local Multi-lingual implementations.
The Global Solution is created, with the core flows representing the business processes, scripts and integrations; then it is branched to the Local Language solutions. The global and local solutions remain linked; this means that if the Global solution has its implementation either extended or modified, these changes flow down to the local solutions, and simply require accepting making multilingual development faster and easier.
Complete Extensible Platform for Conversational AI Development
No need to start piecing different technologies together to support the lifecycle of your conversational ai application. Teneo comes with a pre-configured input processing chain for Natural Language Processing, however, this is extensible.
From within Teneo Studio’s UI, developer can build intents and entities, manage ML class training, build integration, and close the loop ML by applying the real time intelligent improvement suggestions for the ML model retraining. Testing and publishing capabilities are all supported within the same UI with each developer getting their own tryout sandbox and extensive debug capabilities.
All interactions with the deployed solution are captured in the highly granular predefined Conversational Data Store. Using an Intuitive graphical IDE, the developer can easily query the logs of the running solution with a unique query language to fully understand its behavior.
Teneo allows flows to be developed quickly, with developers working collaboratively with business users to model business processes. Although the IDE is graphical, it doesn’t come at the compromise of developer efficiency and control.
Event Model, Scripting and Additional Resources
Teneo Studio allows custom scripting throughout the system either in Java or in the groovy scripting language (built upon Java). There is no need to code triggering of these scripts as it is all handled natively via the Event model, which exposes highly granular internal processing to the developer to script against.
Examples of these could be: on solution loaded, pre and post NLP processing, when a flow is triggered, at any point within a flow, when a flow is completed, and importantly for storing specific session data, when the session ends – but there are dozens more. The developer simply needs to drop the code in the appropriate event slot offering a huge power to customize the behavior of the use case as appropriate.
Should additional resources be required (such as java classes, groovy files, text files, etc.), these can be added with simple drag and drop. This provides the editorial environment for testing and allows Teneo to automatically ensure these additional resources are deployed to the appropriate runtime execution engines.
Collaboration among Development Teams and Departments
Multiple developers can access the same solution at the same time, with full record locking. All flows are versioned, with comments, and can be rolled back if required. Similarly, whole solutions are versioned upon publishing and can be rolled back. Each instance of Teneo can hold multiple solutions with the ability to share assets between them.
Each developer has their own ‘tryout’ environment with extensive debug capabilities throughout the system. Developers can work effectively with business users, who can easily understand the business processes being modeled, due to the graphical nature of the flows. As different users may have requirements, some being more technical than others, user permissions are maintained in Teneo Manager – which can be incorporated into the enterprise LDAP / Active Directory system.
Teneo offers Integrated Testing and Publishing workflows, with support for Dev, QA and Prod environments. With the necessity to pass testing thresholds between environments, these features support the development and deployment processes on an ongoing basis.
Integration
Our Integration manager component allows more technical developers to produce integrations into backend systems. These integrations can then be added to the ribbon in Teneo Studio to allow less technical users to simply ‘drag and drop’ the integrations into flows.
The Teneo platform is Java-based so there are no restrictions on external integration – if it’s accessible in Java, it’s accessible in Teneo.
The publishing workflow packages up integrations and all other required assets, and makes it available to the runtime engine – integration servers are rarely required.
Easily Incorporated into Enterprise IT Infrastructure
Teneo is built on a clean technology stack, consisting of proven, enterprise-grade, open-source technologies.
All components of the platform can be hosted in the cloud or self-hosted, guaranteeing complete ownership of solutions and data.
Teneo Studio
Teneo Studio is the graphical intuitive application used by conversational designers for everything needed to create and manage Conversational AI solutions. It was built from the ground up to support all natural language solutions development tasks: manage intents, fine-tune the ML models, design and modify flows, manage contextual information, integrate with backend systems, simulate conversations, run solution-wide regression tests and publish bots.
Teneo Engine
When a solution has been developed and tested in Teneo Studio it can be published to a runtime environment called the Teneo Engine.
The Teneo Engine is a java web application running in an application container. It is optimized for handling natural language inputs and contains everything needed to handle natural language interactions, including all ML models, solution logic and session maintenance. Since all logic is self-contained in the Teneo Engine, there is no dependency on the back-end, allowing it to be easily scaled both vertically and horizontally. And because the engine logic is exposed through an easy to use API, it allows developers to make their bots available on any channel.
As mentioned above, the Teneo Engine is deployed as a simple web application and can therefore be integrated within your existing CI/CD pipelines to assist in regression testing, version control, etc.
Teneo Data
Once a solution is released, the users of your solution will start generating conversational data. This data contains a wealth of valuable information that can be used to fine-tune and improve ML models, flag gaps in knowledge of your bot or provide valuable business insights. Teneo Data allows developers to leverage this data in a GDPR compliant way.
When a user talks with a Teneo solution, the conversations are added to a message queue and stored in an Elasticsearch data store. This data is then used to automatically provide pro-active improvement suggestions for ML-model optimization. Data scientists can use Teneo’s powerful data tools to augment the data and the Teneo Query Language allows them to extract relevant data sets for use in business intelligence tools, training data extraction, dashboards and even personalization, via its authenticated RESTful API.
Teneo Languages
Teneo Languages, a proprietary hierarchical representation of the language itself, are the powerhouse of the platform’s linguistic capabilities.
Teneo’s unique language resources are also served from the backend. This includes ML models used to recognize user intents, pre-trained Named Entity Recognizers, part of speech and morphological models, sentiment analysis, and language detection as well as technologies that cater to tokenization and normalization.
And because of Teneo’s open NLP architecture, additional NLP assets can easily be added, making them readily available for anyone using the system.
User Management
Teneo allows multidisciplinary teams of users scattered across the enterprise to work together. Teneo Manager supports the management of users and permissions, and can be integrated with existing enterprise user management, such as LDAP / Active Directory.
Backend Environment
Teneo Studio connects with the Teneo Backend. This is where the solutions are stored, models are trained, version management is handled, and users are managed. The backend also takes care of item-locking, allowing multiple users to work on the same solution without overwriting or breaking each other’s works.
Teneo Backend runs on broadly adopted open source technologies, such as *nix operating systems and Java.
Backend Integrations
Integrations into backend systems (such as SAP, Salesforce, support systems) and RPA platforms (such as BluePrism and UIPath) are managed and maintained in the Teneo Integration Manager in Teneo Studio. An ever-growing list of ready to use sample integrations is available for download.
If an integration does not exist, these can easily be created by developers with a powerful Java platform. Once an integration has been added to a solution, it can simply be ‘dragged and dropped’ into flows, allowing conversation designers to adjust the conversation logic depending on results returned by the backend systems. This results in intelligent solutions that dynamically adapt and are capable of offering personalized conversations.
Use Case Definition and Scoping
Where existing data is available, such as live chat, logs, etc., Teneo Discovery supports the analysis of large volumes of unstructured language data that can be used to assist with scoping use cases, in line with the business processes and expectations.
Furthermore, the analysis can reveal company or vertical-specific words that can be used to kick start understanding.
Rapid Initial Build
Teneo is a complete integrated platform specifically for the development of Conversational AI applications. It includes Teneo Studio, a tool to construct flows, integrated ML class management, publishing workflow, out of the box log data capture – with native query language, and integrated data feedback of usage to retrain models – you don’t need to start off piecing together different technologies.
The intuitive Studio interface lets developers quickly prototype complex flows with business users, and easily check they match the desired business processes, due to its graphical nature.
The built-in ML modelling and class manager rapidly brings intent recognition, and when more granular control is required, it is easy to add precision when combined with Linguistic conditioning (see Rich Natural Language Processing and Hybrid approach).
Integrations can be put together with Integration Manager to gain access to backend data sources and made available to be dropped into flows.
You can easily make the bot available using the built-in publishing workflow and connect to your bot using any of the many SDK’s and channel connectors available – with full source code.
Efficient Maintenance and Optimisation
Understanding how a deployed application is performing at scale is essential to ensuring the quality or the experience you are delivering to your users; It needs to provide insight on where to improve or expand coverage. As your company’s brand and reputation are on the line the importance of this cannot be underestimated.
- The first step is granular log capture, which many systems do not even provide – Teneo addresses this with a message queue passing all interactions real-time into an elastic search data repository. This captures all user inputs, bot’s responses, the flows that have been triggered, details of integrations that may have been called, variables that may have been set and even contexts that may have been used.
- Secondly, this vast amount of data needs to be effectively communicated back to the developer in a meaningful and manageable way; simply reading logs will not work at scale. Teneo analyses the logs and presents to the user what has been understood, what may not have been understood, constantly analyses the ML models looking for areas to strengthen or separate closely related intents. Teneo then presents all of these findings within the same user interface, Teneo Studio, suggesting suitable training data to improve ML classes that can simply be selected by the developer. If required, the developer can drill into the actual flows to understand the context of the understanding.
- Thirdly, when required, a query language is available to search for specific information and traverse backwards or forwards within the dialogue to expose more meaningful understanding. For instance, for a specific area of understanding, where negative or positive sentiment is expressed by the user, like “that’s not good” or “that’s not what I meant” this can be found and go back possible 2 or 3 steps in the dialogue to see what was “not good” or was “not meant”. With this, the developer can really understand the voice of the user – and seek to make appropriate adjustments.
Multi-lingual Rollout
As has been detailed in other sections, effectively managing multilingual implementations is not simply a one-off build exercise. Solutions may develop at different speeds for the different languages.
By managing the master solution centrally, the core functionality and business logic can be enhanced and expanded, and these changes are communicated to the local languages, where a disparate geographically located team can accept these changes and are just required to translate the understanding and outputs.
This is a huge benefit for larger organizations to keep the core logic or the solutions synchronized and removes considerable overhead in managing
Enterprise Scalability - Enabling Throughout your AI journey
These get rolled out through multiple languages, multiple use cases and wider departments throughout the organization. Often involving the formation of a Conversational AI centre of excellence.
Most implementations of conversational AI start with limited scope to prove concepts and business benefits, and then the initial use case gets expanded into a wider scope.
The Teneo Platform has been designed and built from the ground up to enable and not limit this expansion.
Initial Use case
Teneo Discovery, a powerful text mining and analysis tool, will assist in establishing a suitable scope from the existing unstructured natural language assets the organization is already in possession of – such as live chat logs, emails, and any other text data sources. This assists in ensuring the correct scope is defined to deliver the initial proof of concept to achieve the desired business outcomes.
Once the scope has been defined, the combination of pre-built linguistic understanding, a fully ready to go integrated platform (with bulk import capabilities) and a powerful development environment in Teneo Studio will allow rapid prototyping, presented in a way business subject matter experts can understand and delivered within days not months. Intent models can be created with the integrated Machine Learning and augmented with fine tuned precision easily with linguist conditioning using Teneo’s Hybrid understanding. Integrations can be implemented with the Integration Manager. The experience can be delivered quickly on appropriate channels using some of the many SDK’s and connectors provided.
Once the initial solution is made available rapid increases in precision can be gained using the closed loop feedback provided by the platform constantly monitoring performance and generating intelligent improvement suggestions surfaced to the developer from the integrated data repository.
Deliver Omni-channel
As has been detailed in other sections, effectively managing multichannel implementations is easy with Teneo.
For Web deployments, Teneo Web Chat is a chat widget that supports various message types like buttons, quick replies, images, audio, videos and cards and that can easily be embedded in websites. Furthermore, its available JavaScript API allows for easy live chat integration and extendibility.
Many other prebuilt channel connectors available, such as Web Chat, Facebook Messenger, Teams, Microsoft Bot Framework, Alexa, WeChat, WhatsApp, Google Assistant and various IVR’s and RPA systems – see https://developers.artificial-solutions.comi/engine/channels. Source code is also made available to support modification or extension be required for a particular implementation.
Live Chat
In many instances, a “handover to a human” functionality can be required. How this is initiated can be flexibly controlled; for example, the number of times the safety net is hit, based upon sentiment analysis, for specific business functions (high value or complex situations) or even at the request of the user.
A full transcription of the dialogue to date will be provided to the real agent. The option to ‘hand back to the bot’ from the human can also be initiated.
You can see examples of Live Chat implementations on www.developers.artificial-solutions.com.
Expansion of Use Case
As solutions grow, more developers may become involved. No problem.
Teneo offers true multi-user capabilities with record locking, user and role management, and granular versioning at a flow and solution level including auditing and roll-back capabilities. As sophistication grows, so too does the native management of development environments – Development, QA and Production, with security around how and who can promote through the different environments, including inbuilt testing, quality thresholds and integration into CI/CD pipelines.
Teneo can easily cope with hundreds or thousands of intents, thanks to the combination of using deep Natural Language Processing, a hybrid understanding (combining Machine Learning and Linguistic conditioning) and the platform’s out-of-the-box capability of organizing intents at scale. This simply cannot be achieved with ML-only Black Box solutions. These intent models are high quality and granular, utilizing the advanced context modelling and dialogue management supplied out of the box.
Where scripting is required, this can be applied anywhere within the solution, and there is no need to code their execution – it’s all handled with the inbuilt event models.
Should additional resources be required, for example, Java classes, Groovy file, text files, etc., these can be just added as resources and deployed in the solution. Even the Natural Language Processing chain is open and modular, so additional functionality, such as an existing company entity recognizer, can be incorporated and reused.
Scale with Usage
As usage of the CAI application increases, the platform can be scaled to match the demand. The run-time execution engines can easily be scaled horizontally and vertically, being built upon well understood open source technologies and session management is catered for out of the box.
During runtime, all the highly granular natural language logs are fed back to the prebuilt ElasticSearch (based conversational data repository) and improvement suggestions are generated within the Teneo Studio instance in real-time.
Scale with Multi-lingual Roll Outs
As has been covered in other areas, efficient building and ongoing maintenance of multi-lingual solutions are achieved by branching the master solution and propagating the core business flows to the local solutions – simply requiring the content to be translated.
These links are maintained, and hence as the master solution evolves, the changes are communicated back down to the local solutions.
Scale with Use Case
As more and more use cases for Conversational AI are identified within the same company department, different departments or even different companies within the same group, Teneo is there to support you.
A single instance of Teneo can support dozens of individual and diverse solutions, for different use cases. Resources can be shared between solutions. Each solution can have an individual publishing workflow, as required. Each solution gets its own integrated linguistic data repository – and inbuilt improvement suggestions. Each use case can have a Master Local implementation to cope with effectively managing the complexities of maintaining often geographically diverse teams to localize the translation of understanding, whilst maintaining the consistency of business processes.
At this point, we often see the establishment of Enterprise Centers of Conversational AI excellence, who may produce company-specific hierarchical ontologies and dialogue resources which can be utilized in many use cases, whilst still allowing for the local expansions for specific use cases where product-specific vernacular is required.
Log Capture and Query
Teneo Inquire is a preconfigured data store for large volumes of log data from a running solution in an ElasticSearch instance. This instance can be hosted in the cloud or on-premise. The logs are passed from the running engine via a message queue.
The log data is highly granular, containing user input, bot responses, flows that have been triggered, variables that have been set, all ML class scores, processing path and lots more.
Capturing the data alone is only half of the story; you need to be able to find what you are looking for. Teneo Query Language allows developers to extract this information in a meaningful way. Importantly, it also allows the developer to traverse backwards or forwards in the dialogue. This is significant, for example, if you are looking for negative or positive sentiment around a subject area, the point where the user says they are unhappy. “That’s not good” on its own is not too insightful, you need to find the previous question the user asked and the bot’s response.
Efficient Optimisation
Even if logs are stored, it is impractical to read logs at scale. Teneo addresses this by providing functionality to constantly monitor performance and make intelligent suggestions for improvement to the developer. This includes areas where the ML classes need additional training data to increase confidence, where ML models are out of balance or where the systems believe classes are partially overlapping.
This is presented to the developer within Teneo Studio in a non-technical way. The system provides training data that it believes may help; the developer simply needs to select and approve their addition. This provides huge efficiencies for maintaining sophisticated models at scale.
Data Ownership - Privacy and Competitive
All the conversational data is owned by your company, remains private and is not made available to IT-giants. This can be hosted on-site or in a private cloud.
The ability to obfuscate PII data for GDPR compliance using named entity recognizers is available.
Integration with Enterprise BI Tools
Utilizing the Teneo Query Language to retrieve conversational AI data from the repository and the Restful API, developers can incorporate performance and analytical data into any enterprise BI tool.
Business Insights
Not only can the conversational data store be used to help efficiently maintain and monitor the performance of the conversational AI application; it can also be used by data scientists to understand the voice of the customers at scale view of the business itself.
Customers may be expressing negative or positive views on certain ways the business is serving them or the offerings they are providing. They may inquire about products or services that are not being offered or even exposing. At a time when companies are having less face to face exposure to their customers due to moving to more digital offerings, this can be exceptionally valuable to reconnect with their customers.