Keywords

1 Introduction

In the Austrian economy, tourism takes an important place, contributing more than 10% to GDP. Every year 41.5 million guests visit Austria giving a total of 141 million overnight staysFootnote 1. This represents a great opportunity to apply Artificial Intelligence (AI) technologies and develop intelligent assistants for tourist needs. AI techniques are used to provide proactive recommendations, automated and optimized travel planning and scheduling, tourist clustering and user preference inferences [2]. Currently one of the most widely used applications is for conversational assistants. The advance of artificial intelligence presents the challenges of providing the content of web pages through semantic annotation to such intelligent personal assistants (IPAs). In this paper we address the challenge of defining a method of developing a conversational agent by using generic mapping from dialogs to schema.orgFootnote 2 types and properties.

The paper is organized as follows: Sect. 2 describes some related works, Sect. 3 explains our approach for mapping conversations to schema.org. The implementation is explained in Sect. 4 and Sect. 5 concludes our work.

2 Related Work

Creating natural language interfaces over knowledge bases has drawn a great interest from the semantic web community, mainly in form of question answering systems over linked data sources. The survey in [3] covers many of these applications and the techniques they use for language understanding and query generation. For understanding the entities mentioned in a question, NER and NEL techniques with synonym expansion are used. As for the tourism vertical, most of the effort aligned to our work is in the recommender systems field [2]. These systems use different modalities for interacting with user(s) including text and speech. They mostly benefit from ad-hoc application ontologies for knowledge representation. The dialogue systems in the tourism domain typically connect to a coupled backend system like a Geographic Information System to complete context-aware question answering tasks [4]. To move such dialogue systems beyond question answering, another recent concept has been introduced in [6], that proposes a methodology for benefiting from lightweight web service annotations to extract task related dialogs. Although there have been many advanced efforts, we think that it is important to present a straightforward approach for a simplistic mapping from tourism related schema.org types and properties to natural language expressions by using prominent state of the art tools. Given the popularity of schema.org in industry, we believe this is a good step to enable IT professionals outside of semantic web and NLP community to create applications on semantically annotated data with schema.org.

3 Generic Conversational Mapping

In general, users would interact with a digital personal assistant by asking a series of questions until the users are satisfied with all answers. Most of the existing dialog engines have been powered by NLP combined with AI techniques to perceive the user’s intentions. An engine would extract a few essential information items from user’s expressions, such as entities, in a way relevant actions can be performed accordingly. To extract those entities correctly, the engine would require a lot of training datasets, which are not always possible to be acquired. Furthermore, different kind of schemas have been proposed in the tourism industry, and having training datasets for every schema is challenging. We solve the challenge by defining a generic mapping for every possible dialog, where schema.org will be used as the main schema.

Table 1. Mapping user’s questions to related types, properties, and values

Table 1 shows an example of the dialog conversation in the tourism domain. A few user intentions can be identified from those questions, including three important information items: (i) concept/class/type, formatted in Italics, as the object of the conversation, (ii) property, formatted in Bold, as a property of the object in the current conversation, (iii) value, formatted in Bold Italics, as the value of the property in the current conversation.

Fig. 1.
figure 1

Conceptual solution for an IPA through a generic conversational mapping

Figure 1 shows our conceptual solution for an intelligent assistant through a generic conversational mapping. It contains two most important aspects: (i) a schema is required to feed all components in the solution, including the mapping to be consumed by the conversational interface, (ii) the dialog between conversation interface and fulfillment will be represented in a generic format, namely in a type-property-value pattern. The solution employs two types of mapping: (i) Schema Type Mapping, responsible to associate all classes in the schema with possible user’s expressions (e.g.“bar” with type “BarOrPub”). (ii) Schema Property Mapping, responsible to associate all properties in the schema with possible user’s expressions (“price range” with the property “priceRange”).

Representing conversation in a type-property-value pattern provides a generic way to build tourism assistants, where: (i) the conversational interface will send a request to the conversational fulfillment only when the pattern has been completed, (ii) the conversational fulfillment would construct a query easily because a request has been structured in a standardized pattern.

4 Implementation

The conceptual solution explained in the previous section is currently implemented with the following technologies: (i) for knowledge base, we utilize a knowledge graph for related touristic information available in the region of Tyrol, Austria [1], which are stored in a GraphDB triplestoreFootnote 3, (ii) for conversational interface, we utilize the DialogflowFootnote 4, which is supported by Google actions, (iii) for conversational fulfillment, a web service was developed to discover required information from the KB through SPARQL query language, (iv) for schema, we use a subset of schema.org that has been designed especially for tourism [5].

After creating a mapping, we provide a list of user expressions as the training dataset into the conversational interface, where relevant entities will be annotated with either type, property or value. Then, we perform an experiment, where several dialogs are generated. For every received request, the interface would search for the most relevant intent by identifying entities in the request such that actions in the intent can be performed and defined responses can be provided. In some cases, the interface could not find any relevant intent due to its incapability to identify entities in a given request. We define this capability/incapability as the accuracy metric in our experiment. A dialog will be accurate 100% whenever an intent can be identified for every request in the dialog. We generated 51 dialogs that contain a total 200 requests/questions from users (on average 4 requests per dialog). As results, we obtained 67.13% dialog accuracy on average, where more than 90% of the dialogs have 50% or more accuracy, 35% of them were 100% accurate.

5 Conclusion

In this paper, we argue that feeding a dialog engine with a generic conversational mapping would help the engine to recognize users intentions fast and easily. We demonstrated this possibility by defining a generic conversational format as a representation of a triple of type, property, and value from a schema. As use case, we developed an intelligent assistant to explore a knowledge base, which contains tourism related information from the region of Tyrol, Austria.