Empowering end users to develop web applications for temporal needs is a well-researched web engineering challenge. Increasing usability, lowering the learning overhead and minimizing the gap between user’s intention and the provided solution are the ultimate goals of EUD practices. In this paper, we propose an architecture which addresses these challenges by leveraging Semantic Web and Natural Language Processing techniques. Users can directly express their intentions in natural language. The framework identifies the user’s domain based on the input intention and then can fetch the domain-related components. Additionally, our approach assists domain experts to generate domain ontologies.
- End-User Development
- Natural Language Processing
- Ontology-based development
End-User Development (EUD) refers to a set of tools and techniques to empower non-programmer users, who are experts in a given domain, to develop, modify and extend web applications. These applications assist end users to fulfill the specific goals in their domain of expertise . The advantages of applying EUD techniques are preventing time-consuming and error-prone knowledge transfer from domain-experts to programmers  and fading the distinction in runtime and design time development by supporting user’s development at runtime .
One of the successful practices in the field of EUD is mashup. Based on the definition provided in  “A mashup is a composite application developed starting from reusable data, application logic, and/or user interfaces typically, but not mandatorily, sourced from the Web”. Mashups, due to their composite nature, are good candidates to realize the goal of the programmable webFootnote 1 for end users.
Existing solutions have shortcomings in the terms of expressiveness power and flexibility. The flexibility feature is normally limited by narrowing down the design effort to a specific domain and address the requirements of that domain only. On the other hand, the tool should offer high expressive power to address the exact needs of users.
In this paper, we bridge this gap by introducing a Natural-language-based EUD tool. In our approach, users are allowed to express their intentions in a natural way. Since using Natural-Language Programming (NLP) techniques guarantees the highest level of expressive power , this approach allows users to develop feature-rich applications. To guarantee a higher level of flexibility, domain experts are assisted in the process of domain ontology generation. These ontologies will be used later to map the user’s intentions to the specific domain entities.
2 Natural-Language Based End-User Tool
The overall platform architecture is illustrated in Fig. 1. The first interaction with the platform is made by the end user using natural language interface to express his intentions which can be retrieving knowledge on a particular topic or performing a task such as planning, data analyzing and visualization. Natural-language interfaces have gained popularity during recent years since they provide intuitive, less complicated interaction with machines. Apple’s SiriFootnote 2 and Amazon’s AlexaFootnote 3 are among the popular natural-language-based personal assistance. To efficiently address the user’s need, the first step is comprehending the meaning of the input. The NLP component was implemented with python Natural Language ToolkitFootnote 4, which provides a suite of text processing and semantic reasoning.
2.1 User’s Domain Identification
As the first step, we generate a domain taxonomy as an aid for better understanding the user’s intention. Identifying user’s domain eliminates the ambiguities caused by different word’s semantics. For instance, the word “book” refers to reserving a flight or hotel room in the traveling domain and a learning material in the education domain.
To address this issue, we use the concept of ontology which consists of a structured set of domain entities and relations among them. Ontology extraction, also known as ontology learning, is a set of methods, which promotes constructing ontologies from domain-dependent natural-language texts. The source of data can be unstructured texts, DBpedia or APIs of social networks. From these sources, the key concepts (classes) and semantic relations among them (properties) are extracted. The classes can be derived, based on the identified taxonomy in the previous section. This step is a semi-automatic procedure, in the way that domain expert can refine the concepts and relations manually.
To extract the ontology, we use the two-layer neural network algorithm word2vec that can be used to extract the word’s semantic concept. The word2vec algorithm is trained with a large corpus of text and forms a vector space representation of this corpus, onto which input words are mapped. To each word in the corpus, word2vec assigns a vector which later can be used to compute the similarity between words and sentences. For implementation purposes, we used the gensimFootnote 5 python library, which provides unsupervised semantic modeling.
Domain experts are asked to upload sample domain-related documents such as scientific papers and plain text from HTML pages, to the repository in the form of unstructured text that requires preprocessing. These documents serve as text corpus for training the word2vec model. Preprocessing step involves eliminating special characters and common words such as “for”, “of”, “in” and etc. This step increases the accuracy of the model produced by the word2vec algorithm. We tune the parameters to control the speed and quality of the trained model. Better trained model results in the more accurate taxonomy which leads to better intention identification. As shown in the following listing, states that words occurring fewer than 5 times are ignored because they don’t provide any useful information. The parameter is related to the size of Neural Network layers. Bigger size values result in more accurate models but require larger training sets.
The trained model can be used to identify the key domain concepts and relations among them. After forming the ontology based on the domain related documents, the platform is able to analyze the user’s input considering the domain of the user.
Additionally, the model can be used to find the similarities between variations of user’s input sentences. Based on the input in the intention field, the platform suggests a list of available (business or personal) goals in the domain. Later during the runtime, these terms will be used to finding the suitable components.
2.2 Ontology Mapping
After domain identification based on the input, the data and models provided by domain experts, the next step is performing two mappings over goal and domain ontologies. First, a SPARQL query is formed and the input is mapped onto the goal ontology. The Goal Ontology comprises the hierarchy of user’s business goals. Following the hierarchy, class Task produces a result that helps to realize the Goals. Each instance of the class Task will be associated with an Action from the Domain Ontology. Identifying the correct action to map to the Task instances is the purpose of this step, in which, a more specific query is formulated and the second mapping to the domain ontology is performed. Following the mappings, the search parameters are produced and sent to the Component Browser to execute the query on the Component Repository. This Repository contains numerous component implementations and their descriptors which specifies the component characteristics such as events, operations and data types and how they can be invoked . The Component Browser identifies and fetches suitable components. The user can then choose the best fitting ones from the list of candidates. To create the solution mashup, component instances, are added to the runtime environment. The component instances are created based on the instantiation model (stateful or stateless) and provide access to the component functionalities.
In this demo paper, we presented a platform to assist the end users to address their situational needs. End users can express their intentions in natural languages. To increase the platform flexibility to cope with various domains, we proposed a technique to generate the domain ontology based on the provided data by the domain expert.
Aghaee, S., Pautasso, C.: End-user development of mashups with naturalmash. J. Vis. Lang. Comput. 25(4), 414–432 (2014)
Daniel, F., Matera, M.: Mashups: Concepts, Models and Architectures. DSA. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-55049-2
Paternò, F.: End User Development: Survey of an Emerging Field for Empowering People. ISRN Softw. Eng. 2013, 1–11 (2013)
Soi, S., Baez, M.: Domain-specific mashups: from all to all you need. In: Daniel, F., Facca, F.M. (eds.) ICWE 2010. LNCS, vol. 6385, pp. 384–395. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16985-4_34
This work has been supported by the ESF and the Free State of Saxony.
Editors and Affiliations
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Zarei, B., Heil, S., Gaedke, M. (2018). Natural-Language-Enabled End-User Tool Endowed with Ontology-Based Development. In: Mikkonen, T., Klamma, R., Hernández, J. (eds) Web Engineering. ICWE 2018. Lecture Notes in Computer Science(), vol 10845. Springer, Cham. https://doi.org/10.1007/978-3-319-91662-0_38
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-91661-3
Online ISBN: 978-3-319-91662-0