19 research outputs found
Artificial intelligence for software development — the present and the challenges for the future
Since the time when first CASE (Computer-Aided Software Engineering) methods and tools were developed, little has been done in the area of automated creation of code. CASE tools support a software engineer in creation the system structure, in defining interfaces and relationships between software modules and, after the code has been written, in performing testing tasks on different levels of detail. Writing code is still the task of a skilled human, which makes the whole software development a costly and error-prone process. It seems that recent advances in AI area, particularly in deep learning methods, may considerably improve the matters. The paper presents an extensive survey of recent work and achievements in this area reported in the literature, both from the theoretical branch of research and from engineer-oriented approaches. Then, some challenges for the future work are proposed, classified into Full AI, Assisted AI and Supplementary AI research fields.
Keywords: software development, artificial intelligence, machine learning, automated code generatio
Top k recommendations using contextual conditional preferences model
Recommender systems are software tools and techniques which aim at suggesting to users items they might be interested in. Context-aware recommender systems are a particular category of recommender systems which exploit contextual information to provide more adequate recommendations. However, recommendation engines still suffer from the cold-start problem, namely where not enough information about users and their ratings is available. In this paper we introduce a method for generating a list of top k recommendations in a new user cold-start situations. It is based on a user model called Contextual Conditional Preferences and utilizes a satisfiability measure proposed in this paper. We analyze accuracy measures as well as serendipity, novelty and diversity of results obtained using three context-aware publicly available datasets in comparison with several contextual and traditional state-of-the-art baselines. We show that our method is applicable in the new user cold-start situations as well as in typical scenarios
Rating Prediction with Contextual Conditional Preferences
Exploiting contextual information is considered a good solution to improve the quality of recommendations, aiming at suggesting more relevant items for a specific context. On the other hand, recommender systems research still strive for solving the cold-start problem, namely where not enough information about users and their ratings is available. In this paper we propose a new rating prediction algorithm to face the cold-start system scenario, based on user interests model called contextual conditional preferences. We present results obtained with three publicly available data sets in comparison with several state-of-the-art baselines. We show that usage of contextual conditional preferences improves the prediction accuracy, even when all users have provided a few feedbacks, and hence small amount of data is available
Big problems with big data
The article presents an overview of the most important issues related to the phenomenon called big data. The characteristics of big data concerning the data itself and the data sources are presented. Then, the big data life cycle concept is formulated. The next sections focus on two big data technologies: MapReduce for big data processing and NoSQL databases for big data storage
Ontologie w Sieci Semantycznej
One of the major and most challenging tasks for modern Information Technology is development of methods aimed at automatically acquiring and processing knowledge stored in the biggest information repository the man has ever created – the Internet. This knowledge is of miscellaneous nature, mainly due to the fact that it is stored in many languages and in numerous formats with different levels of structuring. The “Semantic Web initiative” strives to achieve this goal by structuring the contents of Internet into publicly available and shared ontologies formulated in a commonly accepted, machine readable format. In this paper we discuss problems of building ontologies and using them throughout Semantic Web. Relevant topics are presented in the broader context of knowledge representation methods. We also present an alternative approach based on processing textual Web contents, extracting semantics from them and creating a “general ontology” to be used to present knowledge to a user.Wraz z nastaniem ery Internetu i jego gwałtownym rozwojem, zasadniczym problemem dla współczesnej informatyki stała się automatyzacja pozyskiwania olbrzymich zasobów wiedzy ludzkiej w nim zgromadzonych. Wiedza ta ma bardzo zróżnicowany charakter z uwagi na wielość formatów zapisu danych, a przede wszystkim z uwagi na różny stopień jej ustrukturalizowania. Jedną z najbardziej popularnych idei, dążących do systematycznego podejścia do pozyskiwania wiedzy z Internetu stała się, tzw. „inicjatywa Semantic Web”. Zgodnie z tą ideą, wiedza ludzka powinna być strukturalizowana w formie ontologii publikowanych w Internecie, w powszechnie zaakceptowanym, precyzyjnym i możliwym do przetwarzania przez komputery, formacie. W tym artykule bliżej prezentujemy problemy, związane z budową ontologii i ich wykorzystaniem w ramach Semantic Web (Sieci Semantycznej). Problemy te przedstawiane są na szerszym tle różnych metod maszynowej reprezentacji wiedzy. Prezentujemy także podejście alternatywne, polegające na automatycznym tworzeniu „ontologii wszystkiego”, na podstawie analizy tekstu stron WWW w języku naturalnym
Zastosowanie widoków na bazę wiedzy
This paper introduces the Knowledge View concept and its application in software engineering. The work presented is aimed at bringing knowledge engineering and Semantic Web technologies closer to software engineers and programmers. It is done by disguising knowledge bases as relational or object databases and applying patterns known to software engineers.W artykule przedstawiono koncepcję widoków na bazę wiedzy i jej zastosowanie w inżynierii systemów. Praca ma na celu przybliżenie inżynierii wiedzy i technologii Semantic Web inżynierowi oprogramowania oraz programiście. Cel ten osiągany jest poprzez upodobnienie baz wiedzy do relacyjnych lub obiektowych baz danych oraz poprzez stosowanie wzorców znanych w inżynierii oprogramowania
Problemy oceny jakości ontologii
This paper elaborates on what is the quality of the ontology, how to measure the quality of existing ontologies, and how to create high-quality ontologies. A review of existing ontology metrics that can be used to evaluate the quality of ontology is presented. The paper also discusses the problem of quality assurance and quality evaluation of modular ontologies as an important research problem in the face of the prevailing emergence of complicated, difficult to use and modify flat ontologies common in the Semantic Web.W artykule podjęto rozważania na temat tego, czym jest jakość ontologii, jak zmierzyć jakość istniejących ontologii i jak tworzyć ontologie wysokiej jakości. Dokonano przeglądu istniejących metryk ontologii, które mogą posłużyć do oceny jakości ontologii. Przedstawiono problem zapewniania i oceny jakości ontologii modularnych jako ważny problem badawczy w obliczu pojawiania się skomplikowanych, trudnych do użycia i modyfikacji płaskich ontologii
System obsługi kontekstowych baz wiedzy CongloS
In the paper we present CongloS, a manager for contextual knowledge bases, its architecture and selected implementation issues. In the CongloS we exploit a specific approach combining together ideas of tarset and SIM knowledge bases, metaontological encoding of the base, intermodular couplers and ad hoc queries.W artykule przedstawiono założenia, architekturę i niektóre aspekty implementacyjne systemu CongloS – systemu obsługi kontekstowych baz wiedzy opartych na modelu SIM. W swoim działaniu CongloS wykorzystuje wiele specyficznych elementów koncepcji organizacji bazy wiedzy: model tarsetowy, model SIM, metaontologię opisu schematu, własne sprzęgi międzymodularne i możliwość zadawania zapytań. Koncepcje te również są opisane w artykule, wraz z zarysem sposobu ich realizacji