Teneo Developers

Lexical resources for log data analysis

Introduction

The analysis of log data plays a crucial role during development and maintenance of dialogue solutions; it may reveal strengths and weaknesses of the existing solution and give indications of improvements. Apart from dialogue design, log data analysis may also be used to reveal customer preferences for certain products as well as customer satisfaction statistics.

The Lexical Resources of the Teneo NLU Ontology and Semantic Network can be used to assist log data analysis by offering the same advantages for condition building: they provide a high natural language coverage, enhance the readability and consistency of log data queries and facilitate their maintenance. This applies to both pre-built Teneo Lexical Resources that are distributed together with the Teneo Platform and are assigned to the solution and to any lexical resource that has been created in or assigned to the current solution.

Use conditions and Language Object to query log data

A simple way to perform log data analysis is provided directly within Teneo Studio (Solution tab > Optimization > Log Data) where users can perform queries using the Teneo Query Language (TQL) which has been developed by Artificial Solutions specifically for this task. TQL can be used in conjunction with Language Objects from the same or a different solution to customize queries on log data.

Teneo Studio setup

Before being able to perform analyses through Log Data, the solution needs to be published so that log data from user interactions can be collected. Once done, the log data must be loaded into Teneo Studio where it can be analyzed, note that this is done in the Teneo Log Data Manager.

To be able to use the lexical resources of the same solution to search the log data, the solution must be published as a war file. In a second step, this file is then imported into Teneo Studio, please see Queryable solutions for more information. That way, the solution's lexical resources can be used to analyse the log data.

Note that the solution whose lexical resources are used for log data analysis is not necessarily the same as the solution on which the log data was generated. Sometimes, it may be useful to import different versions of a solution or to use lexical resources from a different project to perform log data analysis. For example, real log data can be used when tuning and optimizing existing Language Objects and conditions in a solution.

For instructions on how to import a .war file in the Log Data Source of Teneo Studio, please see here.

Building queries using lexical resources

Sometimes it is useful to design domain-specific Language Objects for log data analysis, for example the products of a specific domain may be classified into target client groups (women, men, both), product-type or similar. This allows for customized analysis of the log data, where a whole range of products sharing one or more features can be handled at once.

All Language Objects, either located in a lexical resource that is assigned to the solution or directly defined in the solution may be used to formulate queries on the log data. For more information, please see the TQL manual.

Building classifiers using lexical resources

The Teneo Query Language provides the ability to classify log data entries, for example to classify inputs containing certain terms and classify by their sentiment or other relevant aspect. For more information please see the TQL manual.

Augmenters

Querying log data using conditions and Language Objects as introduced in the previous section is a useful tool to get familiar with log data analysis and develop complex requests.

However, it is not recommended to use this procedure on large data sets. The reason for this is that for each request, the Platform screens through the whole log data set to find the events, flows, etc. looking for matches which, especially on larger data sets, may lead to slow answer rates.

The Teneo Augmenters provide a faster and more sustainable way to perform log data analysis on large data sets.

In contrast to formulating the query directly in the Log Data Source querying interface, the augmenters only screen through the whole log data set once and enrich it with properties that have been formulated in the request.

The log data set has thus been augmented with additional information in form of properties and it is possible to later search for these properties when formulating new requests. Once created, the augmenters can be repeatedly applied to new log data sets, and they can be edited, disabled, or deleted.

Adorners and Aggregators

There are two different kinds of augmenters available in the Teneo Platform Adorners and Aggregators.

The adorners enhance the log data with additional properties, while the aggregators allow to summarize properties, including those generated by the adorners. Both can be formulated in the Teneo Query Language or in Groovy.

For more information on how to apply augmenters, please see this section on augmenters.

As mentioned, the adorners allow to enrich the log data with additional properties to simplify the search for this property in the log data set. Once created, adorners can be used just like any other properties of the log data and be used in combination with them. To avoid dependencies, adorners cannot contain other adorners, however, aggregators can be built on top of adorners.

After creating and applying an adorner to the log data, it can be used in Teneo Studio for Log Data queries. While not differing in content from querying conditions or Language Objects, using adorners allows for more compact requests. Moreover, using adorners is a more time-efficient alternative to the simple querying request in the query interface.

The aggregators allow to summarize properties of the log data, including properties generated by adorners. As with adorners, the aggregators are created in the Teneo Log Data Manager.

Teneo Query Language
How to perform queries
Assign lexical resources
Work with lexical resources
Create lexical resources