The paper discusses the use of machine learning in relation to natural language processing (sentiment analysis, semantic proximity analysis) to build a recommendation system for the choice of perfumery products. The topic of the work is relevant in view of the growth of the range of manufactured perfumery products and the complexity of its choice by consumers and promotion by manufacturers. The proposed approaches are relevant for solving this problem due to the accumulated textual reviews and reviews of perfumery products on various websites, including online stores.
Keywords: machine learning, natural language, sentiment analysis, distributive semantics, word2vec, recommender systems
Designing function interface in the form of function prototype is an important skill in programming. In this article, we discuss the problems of designing function prototypes in the C programming language. This learning task requires performing 5 different steps. Students can make mistakes at each step. These mistakes can concern misconceptions of function's action, identification of data elements, determining of conceptual-level data types for data elements, data elements' directions, inconvenient naming of function and parameters, and syntax of the C language. Modern solutions for analyzing program code and checking student-written code do not detect all these mistakes in the function-interface design. Existing approaches are based on general solutions for seeking errors in program code so they cannot provide informative feedback about semantic mistakes in designing function interfaces. We propose developing an automatic tutor which should guide students through the process of designing function prototypes step by step, detecting and explaining mistakes at each step and providing hints to help fixing the found mistakes. The tutor should allow natural variability in the function interface. In order to deal with various possible representations of the data passed to and from function, the tutor should work with a formal subject-domain model and a model of the target programming language.
Keywords: automatic tutors, requirements for tutoring systems, introductory programming learning, tasks with complex result, multi-step tasks, online education, mixed education, automatic grading
An ontology is a formal, explicit specification of a shared conceptualization of some fragment of domain, which is understandable for both people and intelligent systems. However, it is rather complicated for a domain expert with limited ontology expertise to create complete and consistent ontology, which could answer required competency questions. In this paper we consider the approach with the use of ORM2-diagram as an intermediate model for creating an OWL2-ontology. This approach requires specialized conversion rules allowing to map ORM2-diagram into OWL2-ontology. In this study we revealed that existing conversion rules do not comply with ORM2-semantics. We improved existing conversion rules for Entity Type and Subtyping elements of ORM2 notation. Also we automated the process of mapping ORM2-diagram (consisting of base elements of ORM2 notation - Entity Type, Value Type, Subtyping, Unary Role, Binary Role) into OWL2-ontology as well. As result of this study, we developed a software component, which is part of plugin for ontology editor Protégé. This paper also describes an experiment that confirms the effectiveness of the developed module. It is proven that module allows to exclude mistakes encountered in conversion ORM2-diagram to OWL2-ontology and to reduce conversion time as well.
Keywords: explicit knowledge representation, visual model, intermediate model, ontology modeling, ontology, OWL2, ontological pattern, ORM (Object-Role Modeling), ORM diagram
To share and transfer knowledge, they must be presented in an explicit form that is understandable to both humans and computers. The paper proposes an approach to ontological modeling of WHAT-knowledge, which allows representing knowledge simultaneously in two forms: a) in the form of a visual model (ORM2-diagram), understandable to humans, and b) OWL2-ontology, computer understandable. To convert the knowledge representation from one form to another one, it is proposed to use ontological patterns (mapping rules). Currently, there is no software toolkit that allows a) to build an ORM2-diagram and mapping it in the OWL2-ontology, and b) based on OWL2-ontology, build a visual model in the form of an ORM2-diagram. Therefore, we are developing a Protege-plugin, which should provide a) the creation and editing of WHAT-knowledge by building an ORM2-diagram and mapping it in the OWL2-ontology, and b) visualization of WHAT knowledge in the form of an ORM2-diagram, extracting instances of ontological patterns from the OWL2-ontology. The paper provides a functional and structural description of the plugin; examples of its use are given.
Keywords: WHAT-knowledge, explicit knowledge representation, ontological modeling, ontology, visual model, intermediate model, ontological pattern, ORM2-diagram