1 Introduction

Due to the recent development of science and technology in the world, the smartphone industry has made exponential growth in the mobile phone application market [1]. These devices are well known as one of the most important Internet-of-Things (IoT) devices as well, according to their diverse capabilities including data storage and processing [2]. Today’s smartphone is also considered as “a next-generation, multi-functional cell phone that facilitates data processing as well as enhanced wireless connectivity”, i.e., a combination of “a powerful cell phone” and a “wireless-enabled PDA” [3]. In our earlier paper [4], we have shown that users’ interest on “Mobile Phones” is more and more than other platforms like “Desktop Computer”, “Laptop Computer” or “Tablet Computer” for the last five years from 2014 to 2019 according to Google Trends data [5], shown in Fig. 1 .

Fig. 1
figure 1

Users’ interest trends over time where x-axis represents the timestamp information and y-axis represents the popularity score in a range of 0 (min) to 100 (max)

In the real world, people use smartphones not only for voice communication between individuals but also for various activities with different mobile apps like e-mailing, instant messaging, online shopping, Internet browsing, entertainment, social media like Facebook, Linkedin, Twitter, or various IoT services like smart cities, health or transport services, etc. [2, 6]. Smartphone applications differ from desktop applications due to their execution environment [7]. A desktop computer application is typically designed for a static execution environment, either in-office or home, or other static locations. However, this static precondition is generally not applicable to mobile services or systems. The reason is that the world around an application is changing frequently and computing is moving toward pervasive and ubiquitous environments [7]. Thus, mobile applications should adapt to the changing environment according to the contexts and behave accordingly, which is known as context-awareness [8].

Artificial intelligence (AI) techniques have grown rapidly in recent years in the context of computing with smart mobile phones that typically allows the devices to function in an intelligent manner. AI can be applied to various types of mobile data such as structured, semi-structured, and unstructured [9]. Popular AI techniques include machine learning (ML) and deep learning (DL) methods, natural language processing (NLP), as well as knowledge representation and expert systems (ES), can be used according to their data characteristics, in order to make the target mobile applications intelligent. AI-based models and their usage in practice can be seen in many intelligent mobile applications, such as personalized recommendation, virtual assistant, mobile business, healthcare services, and even the corona-virus COVID-19 pandemic management in recent days. A brief discussion of these apps and their relation with AI techniques within the area of mobile data science has been conducted in Section 6. This made a paradigm shift to context-aware intelligent computing, powered by the increasing availability of contextual smartphone data and the rapid progress of data analytics techniques. The intelligent smartphone applications and corresponding services are considered as “context-aware” because smartphones are able to know their users’ current contexts and situations, “adaptive” because of their dynamic changing capability depending on the users’ needs, and “intelligent” because of building the model based on data-driven artificial intelligence, which makes them able to assist the end-users intelligently according to their needs in their different day-to-day situations. Thus AI-based modeling for intelligent decision making, is the key to achieve our goal in this paper.

Based on the importance of AI in mobile apps, mentioned above, in this paper, we study on mobile data science and intelligent apps that covers how the artificial intelligence methods can be used to design and develop data-driven intelligent mobile applications for the betterment of human life in different application scenarios. Thus, the purpose of this paper is to provide a base reference for those academia and industry people who want to study and develop various AI-powered intelligent mobile apps considering these characteristics rather than traditional apps, in which we are interested.

The main contributions of this paper are listed as follows:

  • To provide a brief overview and concept of the mobile data science paradigm for the purpose of building data-driven intelligent apps. For this, we first briefly review the relevant methods and systems, to motivate our study in this area.

  • To present AI-based modeling for intelligent mobile apps where various machine learning and deep learning algorithms, the concept of natural language processing, as well as knowledge representation and rule-based expert systems, are used.

  • To discuss the usefulness of various AI-powered intelligent apps in several application domains, and the role of AI-based modeling in practice for the betterment of human life.

  • To highlight and summarize the potential research directions relevant to our study and analysis in the area of mobile data science and intelligent apps.

The rest of the paper is organized as follows. Section 2 motivates and defines the scope of our study. In Section 3, we provide a background of our study including traditional data science and context-aware mobile computing, and review the works related to data-driven mobile systems and services. We define and discuss briefly about mobile data science paradigm in Section 4. In Section 5, we present our AI-based modeling within the scope of our study. Various AI-powered intelligent apps are discussed and summarized in Section 6. In section 7, we highlight and summarize a number of research issues and potential future directions. In Section 8, we highlight some key points regarding our studies, and finally, Section 9 concludes this paper.

2 The motivation and scope of the study

In this section, our goal is to motivate the study of exploring mobile data analytics and artificial intelligence methods that work well together in data-driven intelligent modeling and mobile applications in the interconnected world, especially in the environment of today’s smartphones and Internet-of-Things (IoT), where these devices are well known as one of the most important IoT devices. Hence, we also present the scope of our study.

We are currently living in the era of Data Science (DS), Machine Learning (ML), Artificial Intelligence (AI), Internet-of-Things (IoT), and Cybersecurity, which are commonly known as the most popular latest technologies in the fourth industrial revolution (4IR) [10, 11]. The computing devices like smartphones and corresponding applications are now used beyond the desktop, in diverse environments, and this trend toward ubiquitous and context-aware smart computing is accelerating. One key challenge that remains in this emerging research domain is the ability to effectively process mobile data and enhance the behavior of any application by informing it of the surrounding contextual information such as temporal context, spatial context, social context, environmental or device-related context, etc. Typically, by context, we refer to any information that characterizes a situation related to the interaction between humans, applications, and the surrounding environment [4, 12].

For AI-based modeling, several machine learning and deep learning algorithms, the concept of natural language processing, as well as knowledge representation and rule-based expert systems, can be used according to their data characteristics, in order to make the target mobile applications intelligent. For instance, machine learning (ML) algorithms typically find the insights or natural patterns in mobile phone data to make better predictions and decisions in an intelligent systems [13, 14]. Deep learning is a part of machine learning that allows us to solve complex problems even when using a diverse data set. Natural language processing (NLP) is also an important part of AI that derives intelligence from unstructured mobile content expressed in a natural language, such as English or Bengali [15]. Another important part of AI is knowledge representation and a rule-based expert system that is also considered in our analysis. Expert system (ES) typically emulates the decision-making ability of a human expert in an intelligent system that is designed to solve complex problems by reasoning through knowledge, represented mainly as IF-THEN rules rather than conventional procedural code.

Thus, the overall performance of the AI-based mobile applications depends on the nature of the contextual data, and artificial intelligence tasks that can play a significant role to build an effective model, in which we are interested in this paper. Overall, the reasons for AI-tasks in mobile applications and systems can be summarized as below -

  • to empower the evolution of the mobile industry by making smartphone apps as intelligent pieces of software that can predict future outcomes and make decisions according to users’ needs.

  • to learn from data including user-centric, and device-centric contexts, by analyzing the data patterns.

  • to deliver an enhanced personalized experience while adapting quickly to changing innovations and environments.

  • to better utilization of available resources with higher effectiveness and efficiency.

  • to understand the real-world problems and to provide intelligent and automated services accordingly as well as complex problems in this mobile domain.

  • to enable the smartphones more secured through predictive analytics by taking into account possible threats in real-time.

To achieve our goal, in this study, we mainly explore mobile data science and intelligent apps that aims at providing an overview of how AI-based modeling by taking into account various techniques’ that can be used to design and develop intelligent mobile apps for the betterment of human life in various application domains, briefly discussed in Section 5, and Section 6.

3 Background and related work

In this section, we give an overview of the related technologies of mobile data science that include the traditional data science, as well as the computing device and Internet, and context-aware mobile computing in the scope of our study.

3.1 Data science

We are living in the age of data [16]. Thus, relevant data-oriented technologies such as data science, machine learning, artificial intelligence, advanced analytics, etc. are related to data-driven intelligent decision making in the applications. Nowadays, many researchers use the term “data science” to describe the interdisciplinary field of data collection, pre-processing, inferring, or making decisions by analyzing the data. To understand and analyze the actual phenomena with data, various scientific methods, machine learning techniques, processes, and systems are used, which is commonly known as data science. According to Cao et al. [16] “data science is a new interdisciplinary field that synthesizes and builds on statistics, informatics, computing, communication, management, and sociology to study data and its environments, to transform data to insights and decisions by following a data-to-knowledge-to-wisdom thinking and methodology”. As a high-level statement, it is the study of data to provide data-driven solutions for the given problems, as known as “the science of data”.

3.2 Computing devices and internet

The advancement of mobile computing and the Internet have played a central role in the development of the current digital age. The use of the Internet with mobile devices makes it the most popular computing device, for the people in the real world.

Mobile devices have become one of the primary ways, in which people around the globe communicate with each other for various purposes. While mobile phones may come in various forms in the real world, in this paper, they refer to smartphones or mobile devices with the capability of computing and Internet access. These devices have incorporated a variety of significant and interesting features to facilitate better information access through smart computing and the proper utilization of the devices for the benefit of the users. In recent times, the smartphones are becoming more and more powerful in both computing and the data storage capacity. As such, in addition to being used as a communication device, these smart mobile phones are capable of doing a variety of things relevant to users’ daily life such as instant messaging, Internet or web browsing, e-mail, social network systems, online shopping, or various IoT services like smart cities, health or transport services [2, 6]. The future smartphones will be more powerful than current devices, communicate more quickly, store more data, and integrate new interaction technologies.

3.3 Context-aware Mobile computing

The notion of context has been used in numerous areas, including mobile and pervasive computing, human-centered computing, and ambient intelligence [17]. In the area of mobile and pervasive computing, several early works on context-aware computing, or context-awareness referred context as the location of people and objects [18]. Moreover, locational context, or user activities [17, 18], temporal information [4, 19], environmental information [20], user’s identity [21], or social context [22, 23] are taken into account as contexts for different purposes. The state of the surrounding information of the applications are also considered as contexts in [24, 25]. In [26], Schilit et al. claim that the important aspects of context are: (i) where you are, (ii) whom you are with, and (iii) what resources are nearby. Dey et al. [12] define context, which is perhaps now the most widely accepted. According to Dey et al. [12] “Context is any information that can be used to characterize the situation of an entity. An entity is person, place, or object that is considered relevant to the interaction between a user and an application, including the user and the application themselves”. We can also define context äs a specific type of knowledge to adapt application behavior.”

Based on the contextual information defined above, context-awareness can be the spirit of pervasive computing [27]. In general, context-awareness has adapting capability in the applications with the movement of mobile phone users, and thecontext-aware computing refers to sense the surrounding physical environment, and able to adapt application behavior. Therefore, context-awareness simply represents the dynamic nature of the applications. The use of contextual information in mobile applications is thus able to reduce the amount of human effort and attention that is needed for an application to provide the services according to user’s needs or preferences, in a pervasive computing environment [28]. Different types of contexts might have a different impact on the applications that are discussed briefly in our earlier paper, Sarker et al. [4, 29].

3.4 Mobile systems and services

Research that relies on mobile data collected from diverse sources is mostly application-specific, which differs from application-to-application. A number of research has been done on mobile systems and services considering diverse sources of data. For instance, phone call logs [30, 31] that contain context data related to a user’s phone call activities. In addition to call-related metadata, other types of contextual information such as user location, thesocial relationship between the caller a callee identified by the individual’s unique phone contact number are also recorded by the smart mobile phones [31]. Mobile SMS Log contains all the message including the spam and non-spam text messages [32] or good content and bad content [33] with their related contextual information such as user identifier, date, time, and other SMS related metadata, which can be used in the task of automatic filtering SMS spam for different individuals in different contexts [31, 32], or predicting good time or bad time to deliver such messages [33]. App usages log contains various contextual information such as date, time-of-the-day, battery level, profile type such as general, silent, meeting, outdoor, offline, charging state such as charging, complete, or not connected, location such as home, workplace, on the way, etc. and other apps relatedmetadata with various kinds of mobile apps [34,35,36,37,38]. The notification log contains the contextual information such as notification type, user’s various physical activity (still, walking, running, biking and in-vehicle), user location such as home, work, or other, date, time-of-the-day, user’s response with such notifications (dismiss or accept) and other notification related metadata [39]. Weblog contains the information about user mobile web navigation, web searching, e-mail, entertainment, chat, misc., news, TV, netting, travel, sport, banking, and related contextual information such as date, time-of-the-day, weekdays, weekends [40,41,42]. Game log contains the information about playing various types such games of individual mobile phone users, and related contextual information such as date, time-of-the-day, weekdays, weekends etc. [43].

The ubiquity of smart mobile phones and their computing capabilities for vairous real life purposes provide an opportunity of using these devices as a life-logging device, i.g., personal e-memories [44]. In a more technical sense, life-logs sense and store individual’s contextual information from their surrounding environment through a variety of sensors available in their smart mobile phones, which are the core components of life-logs such as user phone calls, SMS headers (no content), App use (e.g., Skype, Whatsapp, Youtube etc.), physical activities form Google play API, and related contextual information such as WiFi and Bluetooth devices in user’s proximity, geographical location, temporal information [44]. Several applications such as smart context-aware mobile communication, intelligent mobile notification management, context-aware mobile recommendation etc. are popular in the area of mobile analytics and applications. Smart context-aware mobile communication (e.g., intelligent phone call interruption management) is one of the most compelling and widely studied applications [45,46,47,48,49,50,51,52,53,54,55]. For mobile notification management, several research [39, 56,57,58,59] has been done. Similarly, a number of research [34, 60,61,62,65] has been done on recommendation system.

Various techniques are used in various applications, such as interruption management, activity recognition, recommendation system, mobile commerce, etc. in the area of mobile analytics. For instance, Seo et al. [66] design a context-aware configuration manager for smartphones PYP. An intelligent interruption management system is proposed in [48], use decision tree for making decisions. Bozanta et al. [67], Lee et al. [68] use classification technique to build a personalized hybrid recommender system. Turner et al. [59, 69], Fogarty et al. [70] use classification technique in their interruptibility predictionand management system. In the area of transportation, Bedogni et al. [71] use classification techniques in their context-aware mobile applications. To adopt mobile learning, Tan et al. [72] investigates using a multi-layer perceptron model. In [43], Paireekreng et al. have proposed a personalization mobile game recommendation system. Moreover, regression techniques such as Linear regression [9], support vector regression [73], and ensemble learning techniques, such as Random Forest learning [74] are popular in the area of supervised learning.

Beside the above mentioned approaches, several researchers [34, 35, 39] use association rules that are used to build various context-aware mobile service according to users needs. A number of research [40, 98,99,100,101,102] have been done based on clustering approach for different purposes in their study. Moreover, a significant amount of research [72, 94,95,96,97] have been done on deep learning for various purposes in the area of mobile analytics. Moreover, context engineering including principal component analysis, or context correlation analysis [77, 78] is another important issue to work in this area. In Table 1, we have summarized this research based on the most popular approaches and data-driven tasks within the scope of our analysis.

Table 1 A summary of data-driven tasks and approaches used for various context-aware mobile services and systems

Although various types of mobile phone data and techniques discussed above are used in the area of mobile analytics and systems for different purposes, a comprehensive AI-based modeling for building intelligent apps is being interested, according to the needs of the current in the community. Thus, in this paper, we focus on mobile data science and corresponding intelligent apps, where the most popular AI techniques including machine learning and deep learning methods, the concept of natural language processing, as well as knowledge representation and expert systems, can be used to build intelligent mobile apps in various application domains.

4 Mobile data science paradigm

In this section, we provide a brief overview of mobile data science and its related components within the scope of our study.

4.1 Understanding Mobile data

Mobile data science and data-driven intelligent apps are largely driven by the availability of data. Mobile datasets typically represent a collection of information records that consist of several attributes or contextual features and related facts. Thus,it’s important to understand the nature of mobile data containing various types of features and contexts. The reason is that raw data collected from relevant sources for a particular application can be used to analyze the various patterns or insight, to build a data-driven model to achieve our goal. Several datasets exist in the area of mobile analytics, such as phone call logs [30], apps logs [34, 35], weblogs [40] etc. These context-rich historical mobile phone data are the collection of the past contextual information and users’ diverse activities [92, 103]. Moreover, IoT data, smart cities data, business data, health data, mobile security data, or various sensors data associated with the mobile devices and target application can also be used as data sources. Intelligent apps are based on the extracted insight from such kinds of relevant datasets depending on apps characteristics. In the next, we summarize several characteristics of intelligent apps.

4.2 Intelligent apps characteristics

Intelligent apps offer personalized and adaptive user experiences, where artificial intelligence, the Internet-of-Things, and data analytics are the core components. Based on this, we have summarized the characteristics of intelligent apps to assist smartphone users in their daily life activities.

  • Action-Oriented: The foremost characteristic of intelligent apps is that these applications do not wait for users to make decisions in various situations. Rather, the apps can study user behavior and deliver personalized and actionable results using the power of predictive analytics.

  • Adaptive in Nature: The apps should be adaptive in nature. Every user is different in their use, the adaptability of the app plays a very crucial role. Meaning, they can easily upgrade their knowledge as per their surroundings to produce a highly-satisfying user experience.

  • Suggestive and Decision-Oriented: Generating suggestions and making decisions according to users’ needs and interests, could be an interesting characteristic of an intelligent app. Such suggestions may vary from user-to-user according to their interests and helps the users to decide what suits best for them.

  • Data-driven: Delivering a data-driven output is also one of the key features of intelligent apps. The intelligent apps gather data from a variety of sources, such as online, user interaction, sensors, etc. relevant to the target application and extracting data patterns, thus providing better user experience.

  • Context-awareness: Context awareness is the ability of an application to gather information about its surrounding environment at any given time and adapt behaviors accordingly. It makes the apps much smarter use by taking into account users contexts as well as the device’s contexts to proactively deliver highly relevant information and suggestions.

  • Cross-Platform Operation: The app also should have the ability to understand and process the desired output in a way that the users feel the same experience while working on cross platforms.

In this study, we take into account the above-discussed characteristics of mobile apps that could be able to intelligently assist the users in their diverse daily life activities. Based on these characteristics, in the next, we briefly discuss the concept of mobile data science and AI that can help to achieve the goal.

4.3 Mobile data science and AI

Data science is transforming the world’s industries. It is critically important for the future of intelligent mobile apps and services because of “apps intelligence is all about mobile data”. Traditionally, mobile application developers didn’t use data science techniques to make the apps intelligent considering the above characteristics. Although, a number of recent research [4, 29, 34, 38, 48] has been done based on machine learning techniques to model and build mobile applications, most of existing mobile applications are static or used custom-written rules like signatures, or manually defined heuristics for their different applications [47, 66]. The main drawback of these custom-written rules-based approaches is that the knowledge or rules used by the applications are not automatically discovered; users need to define and maintain the rules manually. In general, users may not have the time, inclination, expertise, or interest to maintain rules manually. Although these rule-based approaches have their own merits in several cases, it needs too much manual work to keep up with the changing of userscontext landscape. On the contrary, data science can make a massive shift in technology and its operations, where AI techniques including machine learning and deep learning methods, natural language processing, as well as knowledge representation and expert systems, can be used to learn and making intelligent decisions. Thus, data science is considered as a practical application of machine learning, a major part of AI, with a complete focus on solving real-world problems. Overall, data science is a comprehensive process that involves data collection, pre-processing, data analysis, visualization, and decision making [16], whereas AI makes use of computer algorithms that can show human intelligence.

The concept of mobile data science incorporates the methods and techniques of machine learning and AI and data science as well as the context-aware computing to build intelligent mobile apps. The combination of these technologies has given birth to the term “mobile data science”, which refers to collect a large amount of mobile data from different sources and analyze it using machine learning techniques through the discovery of useful insights or the data-driven patterns, which is primarily defined in our earlier paper [104]. It is, however, worth remembering that mobile data science is not just about a collection of AI techniques. Mobile data science is a process that can help mobile application developers or analysts to scale and automate the target apps in a smart way and in a timely manner. Thus in a broader sense, we can say that “Mobile data science is research or working area existing at the intersection of context-aware mobile computing, data science, and artificial intelligence, which is mainly data-focused associated with target mobile apps, applies AI techniques for modeling, and eventually making intelligent decisions in applications. Thus it aims to seek for optimizing solutions to build automated and intelligent mobile applications to intelligently assist the users in their various daily activities.”. Several key modules, such as data collection, data processing, context and usage analysis, and building models, are involved in mobile data science, which are discussed briefly in our earlier paper [104]. In this paper, we mainly explore on AI-based modeling and its role in mobile apps in various application domains ranging from personalized services to healthcare services, which includes machine learning (ML) and deep learning (DL) methods, the concept of natural language processing (NLP), as well as knowledge representation, and rule-based expert systems (ES).

Overall, the outputs of mobile data science are typically mobile data products, which can be a data-driven AI-based model, potential mobile service and recommendation, or the corresponding intelligent mobile apps. In Section 6, we have discussed about AI-powered intelligent mobile apps in several application domains within the area of mobile data science.

4.4 Mobile security and privacy

Although we focus on intelligent apps from the perspective of artificial intelligence within the scope of our study discussed above, mobile security and privacy could be another part related to mobile data science in terms of data-driven security solutions. In the real world, most of the people including business people use smartphones not only to communicate but also to plan and organize their various kinds of daily works and also in their private life with family and friends. In most cases, both the business or personal information are stored on smartphones and people use such information when needed [105, 106]. Thus, in addition to intelligent apps, mobile security and privacy is also important. Smartphones collect and analyze the sensitive information to which access must be controlled to protect the privacy of the user and the intellectual property of the organization or the company. Besides, there are several threats to mobile devices, including mobile malware, botnet, denial-of-service (DoS), eavesdropping, phishing, data breaches, etc. [106,107,108]. In terms of security analytics, in our earlier paper, Sarker et al. [10], we have discussed various types of security data and the effectiveness of the data-driven cybersecurity modeling based on artificial intelligence, particularly using machine learning techniques. Thus data-driven intelligent solutions through finding security insight could be effective to detect and mitigate such kind of mobile security threats.

5 AI-based modeling for Mobile services

As discussed earlier, mobile data science is data-focused, applies various artificial intelligence methods that eventually seek for intelligent decision making in mobile applications or services. In our analysis, we divide the artificial intelligence methods into several categories, such as basic machine learning and deep learning algorithms, natural language processing, knowledge representation and expert systems, within the scope of our study. These AI-based methods potentially can be used to make intelligent decisions in apps, which are discussed briefly in the following.

5.1 Machine learning modeling with Mobile data

Machine Learning (ML) including deep neural network learning is an important part of Artificial Intelligence (AI) which can empower mobile devices to learn, explore, and envisage outcomes automatically without user interference. For instance, machine learning algorithms can do the analysis of targeted user behavior patterns utilizing phone log data to make personalized suggestions as well as recommendations for mobile phone users. Typically, a machine learning model for building intelligent apps is a collection of target app-related data from relevant diverse sources, such as phone logs, sensors, or external sources, etc. and the chosen algorithms that work on that data in order to deduce the output.

To build a model utilizing collected data, supervised learning is performed when specific target classes are defined to reach from a certain set of inputs [13]. For instance, to classify or predict the future outcome, several popular algorithms such as Navies Bayes [109], Decision Trees [93, 110, 111], K-nearest neighbors [112], Support vector machines [73], Adaptive boosting [113], Logistic regression [114] etc. can be used. Such classification techniques are capable to build a prediction model ranging from predicting next usage to smartphone security, e.g., predicting mobile malware attack. Several feature engineering tasks, such as feature selection, extraction, etc., or context pre-modeling [78] can make the resultant predictive model more effective. On the other hand, in unsupervised learning, data is not labeled or classified, and it investigates similarity among unlabeled data [9]. Several clustering algorithms such as K-means [115], K-medoids [116], Single linkage [117], Complete linkage [118], BOTS [75] can be used for such modeling by taking into account certain similarity measures depending on the data characteristics. For instance, considering certain similarity in users’ preferences or behavioral activities, and to generate suggestions and recommendations accordingly, these algorithms can play a role to achieve the goal. Moreover, association rule learning techniques such as AIS [119], Apriori [120], FP-Tree [121], RARM [122], Eclat [123], ABC-RuleMiner [29] can be used for building rule-based machine learning model for the mobile phone users. In addition to these basic machine learning techniques, several deep neural learning methods such as recurrent neural network, long-short term memory, convolutional neural network, multilayer perceptron, etc. that are originated from an Artificial Neural Network (ANN) can be used in the learning process [9, 13]. In these deep learning models, several hidden layers can be included to complete the overall process.

To understand and analyze the actual phenomena with mobile data, the above-discussed machine learning and deep learning techniques are useful to build AI-based modeling, depending on the target application and corresponding data characteristics. Thus the machine learning models and corresponding mobile apps that are close to the reality, are able to make data-driven intelligent decisions in apps and can behave according to users’ needs. Overall, the machine learning models can change the future of mobile applications and industry because of its learning capability from data. Therefore, machine learning methods including deep neural networks, on a global scale, is able to make mobile platforms more user-friendly, improve users’ experiences, and aid in building intelligent applications.

5.2 Natural language processing for Mobile content

Natural Language Processing (NLP) is an important branch of artificial intelligence that typically deals with the interaction between computers and humans using the natural language. One of the ultimate goals of NLP is to derive intelligence from unstructured data or content expressed in a natural language, such as English or Bengali. As each language has a unique set of grammar and syntax, and convention, NLP techniques can make it possible for computers to read text, hear speech, interpret it, measure sentiment or to mine opinions, and eventually determine which parts are important in an intelligent system [124]. For instance, to extract sentiments associated with positive, neutral, or negative polarities for specific subjects from a text document, an NLP-based methodology can be used. Thus, NLP can play a significant role to build intelligent apps when unstructured mobile content is available, and to be an important part within the scope of our study.

In recent days, a large amount of content read on mobile devices is text-based, such as emails, web pages, comments, blogs, or documents [15]. NLP techniques particularly, text mining extracts patterns and structured information from textual content that could make the apps smarter and intelligent, in which we are interested. For instance, browsing through large amounts of textual content on a small-screen mobile device may be tedious or time-consuming. In some cases, the important information might be easily overlooked due to the small screen of the devices. Thus, document summarization based on NLP might be the potential solution to provide a summary with high quality and minimal time.

Information extraction from mobile content could be another example of NLP based modeling. It typically identifies instances of a particular class of events, entities, or relationships in a natural language text and creates a structured representation of the discovered information [15]. For instance, this can be used to automatically find all the occurrences of a specific type of entity, such as ‘business’, and gather complementary information in the form of metadata around them. In addition to information extraction, NLP techniques can also be used when needed to develop the new mobile content. For instance, response generation while replying to an email, question answering, e.g., a company might need a mobile app that can answer questions about various products or services. Similarly, medical information extraction, personalized recommendation system through comments or text mining, context-aware chatbot, etc. are also included within the area. Thus, NLP techniques can play a significant role to build AI-based modeling depending on the target application and corresponding data type and characteristics.

5.3 Domain knowledge representation and Mobile expert system modeling

Due to the diversity of mobile users, contexts, increasing information, and variations in mobile computing platforms, mobile applications today are facing the challenges to provide the expected services. In artificial intelligence (AI), knowledge representation and expert system modeling is considered as another important part to minimize this issue, and to build knowledge-base intelligent systems.

5.3.1 Knowledge representation

In the real world, knowledge is considered as the information about a particular domain. It is typically a study of how the beliefs, intentions, and judgments of an intelligent agent can be expressed suitably for automated reasoning to solve problems. Thus, the main purpose of knowledge representation is modeling the intelligent behavior of an agent. It allows a machine to learn from that knowledge and behave intelligently like a human being. Instead of trying to understand from the bottom-up learning, its main goal is to understand the problems from the top-down, and to focus on what an associated agent needs to know in order to behave intelligently. Knowledge can be of several types:

  • Declarative Knowledge: known as descriptive knowledge that represents to know about something, which includes concepts, facts, and objects, and expressed in a declarative sentence.

  • Structural Knowledge: represents the basic knowledge to solve problems which describes the relationship between concepts and objects.

  • Procedural Knowledge: known as imperative knowledge that is responsible for knowing how to do something which includes rules, strategies, procedures, etc.

  • Meta Knowledge: represents knowledge about other types of knowledge.

  • Heuristic Knowledge: represents knowledge of some experts in a field or subject that could be based on previous experiences.

To represent knowledge in Artificial Intelligence (AI), “Ontology” in general has become popular as a paradigm by providing a methodology for easier development of interoperable and reusable knowledge bases (KB). Ontologies can be used to capture, represent knowledge and describe concepts and the relationship that holds between those concepts. In general, ontology is an explicit specification of conceptualization and a formal way to define the semantics of knowledge and data. According to [125], formally, an ontology is represented as “{O = C, R, I, H, A}, where {C = C1, C2, …, Cn} represents a set of concepts, and {R = R1, R2, …, Rm} represents a set of relations defined over the concepts. I represents a set of instances of concepts, and H represents a Directed AcyclicGraph (DAG) defined by the subsumption relation between concepts, and A represents a set of axioms bringing additional constraints on the ontology”. Let’s consider an inference rules in ontologies for deductive reasoning. A rule may exist which states “If a mobile user accepts phone calls from family at work and a phone call is from his mother, then the call has been answered.” Then a program could deduce from a social relationship ontology that the user answers her mother’s incoming call at work. Thus, particular domain ontologies can help for building an effective semantic mobile application. Moreover, ontologies capturing complex dependencies between concepts for a particular problem domain provide a flexible and expressive tool for modeling high-level concepts and relations among the given attributes, which allows both the system and the user to operate the same taxonomy and play an important role to build an expert system [125].

5.3.2 Mobile expert system modeling

A mobile expert system is an example of a knowledge-based system, which is broadly divided into two subsystems, such as the inference engine and the knowledge base, shown in Fig. 2. The knowledge base typically represents facts and rules, while the inference engine applies the rules to the known facts to deduce new facts. The knowledge-base module is the core of this expert system as it consists of knowledge of the target mobile application domain as well as operational knowledge of apps’ decision rules. The user interface accepts the original facts and invokes the inference engine to activate the decision rules in the knowledge base. The system uses expert knowledge represented mainly as IF-THEN rules, to offer recommendations or making decisions in relevant application areas. For instance, by using the expert system model, the process of selecting the semantic outcome for mobile users becomes more appropriate according to expert recommendations. A rule consists of two parts: the IF part, called the antecedent (premise or condition) and the THEN part called the consequent (conclusion or action).

Fig. 2
figure 2

A structure of a mobile expert system modeling

The basic syntax of a rule is:

IF <antecedent> THEN <consequent > .

Such an IF-THEN rule-based expert system model can have the decision-making ability of a human expert in an intelligent system that is designed to solve complex problems as well through knowledge reasoning. To develop the knowledge base module, an ontology-based knowledge representation platform discussed earlier can play a major role to generate the conceptual rules. To provide a continuous supply of knowledge to a rule-based expert system, data mining, and machine learning techniques can be used. For instance, in our earlier approach “ABC-RuleMiner”, Sarker et al. [29], we have discovered a set of useful contextual rules for mobile phone users considering their behavioral patterns in the data. Domain experts having knowledge of business rules can then update and manage the rules according to the needs. Thus, the mobile expert systems can be used to make intelligent decisions in corresponding mobile applications.

6 AI-powered intelligent Mobile apps

An intelligent system typically tells what to do or what to conclude in different situations [126] and can act as an intelligent software agent. Thus, intelligent mobile apps are those applications that use AI-based modeling discussed above, in order to make intelligent decisions and to provide useful suggestions and recommendations. Based on this, the target mobile applications for various daily life services are outlined in the following subsections ranging from personalized to community services.

6.1 Personalized Mobile user experience

In the real world, people want their experience to be absolutely personalized these days. Thus, most of the mobile apps heavily rely on personalization to keep users engaged and interested. Users also now expect the applications to deliver unique experiences that may vary from user-to-user according to their own preferences. Thus understanding “user persona” is the key to creating personalized mobile applications that are based on users’ past experiences represented by users’ historical data. ML-based models can effectively discover useful insight from individuals’ phone data by taking into account users own behavioral activities, interactions, or preferences, and can be used to perform individual personalized services in various applications. For instance, an intelligent phone call interruption management system can be a real-life application based on the discovered rules, which handles the incoming phone calls automatically according to the behavior of an individual user [29]. Moreover, mobile notification management [58, 59], apps usage prediction and management, etc. can be the real-life examples of personalized services for the end mobile phone users. Thus, the extracted insight from relevant contextual historical and real-time interaction data using ML-based models can be used to deliver rich and personalized experiences to the users in various day-to-day situations in their daily life activities. Similarly, a knowledge-based mobile expert system considering a set of context-aware IF-THEN rules, can also help to provide personalized services for individual users.

6.2 Mobile recommendation

Recommender systems are typically developed to overcome the problem of information overload by aiding users in the search for relevant information and helping them identify which items (e.g., media, product, or service) are worth viewing in detail. This task is also known as information filtering. According to [127], the most important feature of a recommender system is its ability to “guess” a user’s preferences and interests by analyzing the behavior of the user and/or the behavior of other users to generate personalized recommendations. In general, the traditional recommender systems mainly focus on recommending the most relevant items to users among a huge number of items [128]. However, mobile recommendation systems based on users’ contextual information such as temporal, spatial, or social etc. could be more interesting for the users [62,63,64]. The advanced mobile apps powered by predictive intelligent capabilities using ML-based models make recommend engines smart enough to analyze the user content preferences and cater to the appropriate content that the user is looking for. For instance, a mobile system generating shopping recommendations helps the user to find the most satisfying product by reducing search effort and information overload. Similarly, tourist guides [129], food or restaurant services [130], finding cheaper flights, accommodation, attractions, or leisure dissemination, etc. can be other real-life examples for the mobile phone users. Moreover, an NLP-based methodology can be a way to retrieve the best recommendation service based on public comments.

6.3 Mobile virtual assistance

An intelligent virtual assistant is also known as an intelligent personal assistant that is typically a software agent to perform tasks or services for an individual based on queries like commands or questions. The chatbot is sometimes used to refer to virtual assistants, which is a software application used to conduct an online chat conversation via text or text-to-speech. Several key advantages make the chatbots beneficial these days as they are able to provide 24*7 automated support, able to provide instant answers, good in handling customers or users, avoiding repetitive work, as well as save time and service cost. Intelligent mobile apps powered by AI are able to provide such services with higher accuracy. AI-based models including NLP and ML can be used to build such applications. Moreover, people are now typically spending more time on different messaging apps that are the platforms of communication and bots will be how their users access all sorts of services. Thus, chatbots can engage by answering basic questions in various services. For instance, online ordering, product suggestions, customer support, personal finance assistance, searching, and flight tracking, finding a restaurant, etc. A knowledge-based mobile expert system considering a set of IF-THEN rules, can also be applied to provide such service. Thus, different virtual assistant apps like voice assistants or chatbots offer interactive experiences to users, who are able to retrieve the necessary information effectively and efficiently according to their needs.

6.4 Internet of things (IoT) and smart cities

The Internet of Things (IoT) is typically a network of physical devices, and objects which utilize sensors, software, etc. for sending and receiving data. Smart cities use IoT devices as well to collect and analyze data, and become the most extensive application domain these days. In general, the smart city development is considered as a new way of thinking among cities, businesses, citizens, academia, industry people or others, who are the key stakeholders. As today’s smartphones are considered as one of the most important IoT devices [2], integrating mobile apps with IoT developments can dramatically improve the quality of human life. AI-based modeling in apps can provide relevant intelligent services in this domain, as well as can bring technology, government, and different layers of society together for the betterment of human life. For instance, machine learning-based modeling utilizing sensor data collected from parking places, or traffic signals, can be used for a better city planning for the governments. Similarly, a knowledge-based mobile expert system considering a set of IF-THEN rules, can help to make context-aware and timely decisions. Overall, AI-based modeling can assist the users in our most common daily life issues, such as questions, suggestions, general feedback, and reporting in various smart city services including smart governance, smart home, education, communication, transportation, retail, agriculture, health care, enterprise and many more.

6.5 Mobile business

Smart mobile apps have the potential to increase the operational excellence in the business-to-business as well as business-to-customer sectors. The new availability and advancement of AI and machine learning are causing a revolutionary shift in business and is considered as the new digital frontier for enterprises. Since, almost every organization deal with customer service, the businesses people think about intelligent interactions within mobile applications these days according to consumer demands. Businesses can leverage the data that are collected from various sources such as point-of-sale machines, online traffic, mobile devices, etc. to analyze and strategically improve the user experience. AI techniques can find trends from data and adjust the apps themselves to create more meaningful and context-rich opportunities to engage users. For instance, machine learning algorithms are capable to understand the customer behavior, interests, and provide them with more relevant product recommendations based on purchase history, fraud identification with credit cards, and visual search. By taking into account context-awareness, it can also empower businesses with prominent features, such as delivering precise location-based suggestions. Moreover, an NLP-based methodology of sentiment evaluation such as positive, neutral, or negetive sentiment (also known as opinion mining) on business data, e.g., review comments, can retrieve the best and perfect suggestions and product recommendations in terms of quality and quantity for the customers. AI positively impacts customer behavior by incorporating the chatbots as well in a mobile application, which may reduce the repetitive tasks and optimize manpower utilization. Similarly, knowledge-based mobile expert system considering a set of business IF-THEN rules, can make intelligent decisions. Overall, AI mobile applications in the business domain help in expanding businesses, introducing new products or services, identifying customer interests, and maintaining a prominent position in the global market.

6.6 Mobile healthcare and medicine

Intelligent mobile healthcare applications are bringing better opportunities for both the patients, medical practitioners, or related organizations through simplifying their physical interactions. These apps can provide opportunities to several health-related services such as medical diagnosis, medicine recommendation including e-prescription, suggesting primary precautions, remote health monitoring, or effectively patient management in the hospital. For assessing and strengthening health facilities, or building health management information systems (HMIS), various kinds of health data can be collecting from multiple sources on a wide variety of health topics to analyze [131]. With the help of AI methods including ML-based models, intelligent health services can be provided. Thus it may reduce the expense and time of the patients and clinics, as they offer customized medicines and drugs as well as give preventive measures through continuous information accumulation. Moreover, AI-powered mobile applications could also be applicable to find the best nearest doctor, to book a consultation, to keep reminders of medication, getting a basic knowledge of each medication, and more. Mobile healthcare app is also able to help doctors with remaining updates with real-time status of consultations, assigning duties to staff, ensuring the availability of equipment, maintaining a proper temperature for medicines, and more. In addition, the healthcare virtual assistant services like chatbots can be used to provide basic healthcare service as well, as these online programs can assist patients in many ways, such as scheduling appointments, answering common questions, aiding in the payment process, and even providing basic virtual diagnostics. Overall, AI-modeling based mobile healthcare services may create a new endeavor for all citizens in a country including the rural people of low-income countries.

6.7 The novel coronavirus COVID-19

Coronavirus disease (COVID-19) is an infectious disease caused by a newly discovered coronavirus [131]. COVID-19 apps typically are known as the mobile software applications that use digital contact tracing in response to the COVID-19 pandemic, i.e. the process of identifying persons (“contacts”) who may have been in contact with an infected person. According to the World Health Organization (WHO) [131], most people infected with the COVID-19 virus will experience mild to moderate respiratory illness and recover without requiring special treatment. Thus, in order to keep this infectious disease in control, “contact tracing” is an important factor. Smartphone apps are playing a big role in the response to the COVID-19 pandemic. These apps are being used to track infected people, social distancing, detecting COVID-19 symptoms, self-quarantine guidelines, the latest communication to the citizens, and ease the burden on healthcare staff. Thus, mobile apps are considered as an effective control strategy against the spread of COVID-19 or similar future pandemics, considering the patient and social sensing data. An intelligent framework and mobile application design will not only strengthen the fight against ongoing COVID-19 challenges based on the collected data by mobile phones, but also against similar disasters in a post-COVID world.

In addition to these application areas, AI-based models in mobile applications can also be applicable to several other domains, such as financial, manufacturing, smart robotics, security and privacy, and many more. Thus, the impact of AI-models in mobile app development and user experience is significant in these days and can be considered as next-generation mobile learning.

7 Research issues and future directions

With the rapid development of smartphones, Internet-of-Things (IoT), and AI technologies, the most fundamental challenge is to explore the relevant data collected from diverse sources and to extract useful insights for future actions. Thus, in this section, we highlight and analyze the main challenges and research issues in the scope of our study. In the following, the issues that we identified and corresponding future directions are discussed briefly.

  • According to our study in this paper, source datasets are the primary component to work in the area of mobile data science. Thus, collecting real-world data such as categorical, numerical, or textual relevant to a particular application is the first step for building an intelligent smartphone apps, which may vary from service to service. For instance, to manage mobile interruptions, the relevant contextual information and an individual’s behavioral data is needed to be analyzed [4]. Similarly, for smart healthcare services, patient data and corresponding contextual information might be useful. Thus, to facilitate the extraction of reliable insight from the data using AI techniques and to use the knowledge in context-aware applications, integrating and effective management of mobile data is important. The reason is that AI methods particularly machine learning techniques highly impact on data [9]. Therefore, establishing a large number of recent datasets from diverse sources and to integrate and manage such information for effective data analysis is needed, which could be one of the major challenges to work in the area of mobile data science and data-driven intelligent applications.

  • The next challenge is an effective modeling of mobile users and their activities from the relevant data. The main goal of mobile user modeling is the customization and adaptation of systems to the user’s specific needs. The system needs to output the ‘right’ outcome at the ‘right’ time or contexts in the ‘right’ way [4]. Thus, several aspects such as context-dependency, individual user behavior, and their preferences in different contexts are needed to take into account for an effective user modeling and to build corresponding intelligent apps. The reason is that usage patterns of mobile phones vary greatly between individuals behaving differently in different contexts. Thus considering various contexts, such as temporal, spatial, social, etc. and their effective modeling based on these contexts are important to build an intelligent app [93]. For this purpose, data preparation, discretization of contexts, and discovery of useful insights are the key issues [4]. Moreover, the concept of RecencyMiner [76] can be more effective because of considering the recent pattern-based insights. Therefore, effectively modeling mobile users considering these aspects, could be another research issue in the area of mobile data science and intelligent applications.

  • The context-sensitive features in mobile data and their patterns are of high interest to be discovered and analyzed to make context-aware intelligent decisions for a particular application in a pervasive computing environment. The traditional analytical techniques including data science and machine learning may not be applicable to make real-time decisions for analyzing smartphone data, because of a large number of data processing that may reduce the performance of mobile phones. For instance, the association rule mining technique [120] may discover a large number of redundant rules that become useless and make the decision-making process complex and ineffective [29]. Such traditional techniques may not be applicable for analyzing smartphone data. Thus, a deeper understanding is necessary on the strengths and weaknesses of state-of-the-art big data processing and analytics systems to realize large-scale context-awareness and to build a smart context-aware model. Therefore effectively building a data-driven context-aware model for intelligent decision-making on smartphones, could be another research issue in the area of mobile data science and intelligent applications.

  • Real-life mobile phone datasets may contain many features or high-dimensions of contexts, which may cause several issues such as increases model complexity, may arise over-fitting problem, and consequently decreases the outcome of the resultant AI-based model [77]. The reason is that the performance of AI methods particularly machine learning algorithms heavily depends on the choice of features or data representation. Having irrelevant features or contextual information in the data makes the model learn based on irrelevant features that consequently decrease the accuracy of the models [132]. Thus the challenge is to effectively select the relevant and important features or extracting new features that are known as feature optimization. In the area of AI, particularly data science and machine learning, feature optimization problem is considered as an important pre-processing step that helps to build an effective and simplified model and consequently improves the performance of the learning algorithms by removing the redundant and irrelevant features [111]. Therefore, feature optimization could be a significant research issue in the area of mobile data science and intelligent applications.

  • The next challenge is the extraction of the relevant and accurate information from the unstructured or semi-structured data on mobile phones. A large amount of content such as emails, web pages, or documents is read on these devices frequently that is text-based [15]. Thus the problem of information overload arises due to the small screen of the devices rather than the desktop computer. Therefore effectively mining the contents or texts considering these aspects, could be another research issue in the area of mobile data science and intelligent applications. Natural language processing (NLP) techniques can help to make such text-based apps smarter, by automatically analyzing the meaning of content and taking appropriate actions on behalf of their users. Due to the devices’ limited input and processing capabilities rather than desktop computers, it is then needed to develop novel approaches that can bring NLP power to smartphones. Several NLP tasks such as automatic summarization, information extraction, or new content development, etc. could be useful to minimize the issue.

  • Mobile expert system uses expert knowledge represented mainly as IF-THEN rules, to offer recommendations or making decisions in relevant application areas. However, the development of large-scale rule-based systems may face numerous challenges. For instance, the reasoning process can be very complex, and designing of such systems becomes hard to manage [133]. There is still a lack of lightweight rule-based inference engines that will allow for reasoning on mobile devices [133]. Thus a set of concise and effective rules will be beneficial in terms of outcome and simplicity for such a rule-based expert system for mobile devices. Moreover, ontologies [125] capturing complex dependencies between concepts for a particular problem domain provides a flexible and expressive tool for modeling high-level concepts and relations among the given attributes, which allows both the system and the user to operate the same taxonomy and play an important role to build an expert system. This is where the ontological modeling and reasoning is useful. Thus, an effective design of ontology, or knowledge representation model for the respective problem domain could be another research issue.

  • The mobility of computing devices, e.g., smartphones, applications, and users leads to highly dynamic computing environments. Unlike desktop applications, which rely on a carefully configured, and largely static set of resources, pervasive computing applications are subjected to changes in available resources such as network connectivity, user contexts, etc. Moreover, they are frequently required to cooperate spontaneously and opportunistically with previous unknown software services to accomplish tasks on behalf of users. Thus, pervasive computing software must be highly adaptive and flexible. As an example, an application may need to modify it’s style of output following a transition from an office environment to a moving vehicle, to be less intrusive [4]. Thus to effectively adapt to the changing environment according to users’ needs is important, which is important in the area of mobile data science and intelligent applications. Context-awareness represents the ability of mobile devices to sense their physical environment and adapt their behavior accordingly, incorporating this property in the applications could be a potential solution to overcome this issue.

8 Discussion

Although several research efforts have been directed towards intelligent mobile apps, discussed throughout the paper, this paper presents a comprehensive view of mobile data science and intelligent apps in terms of concepts and AI-based modeling. For this, we have conducted a literature review to understand the contexts, mobile data, context-aware computing, data science, intelligent apps characteristics, and different types of mobile systems and services, as well as the used techniques, related to mobile applications. Based on our discussion on existing work, several research issues related to mobile datasets, user modeling, intelligent decision making, feature optimization, mobile text mining based on NLP, mobile expert system, and context-aware adaptation, etc. are identified that require further research attention in the domain of mobile data science and intelligent apps.

The scope of mobile data science is broad. Several data-driven tasks, such as personalized user experience, mobile recommendations, virtual assistant, mobile business, and even mobile healthcare system including the COVID-19 smartphone app, etc. can be considered as the scope of mobile data science. Traditionally mobile app development mostly focused on knowledge that is not automatically discovered [47, 66]. Taking the advantage of large amounts of data with rich information, AI is expected to help with studying much more complicated yet much closer to real-life applications, which then leads to better decision making in relevant applications. Considering the volume of collected data and the features, one can decide whether the standalone or cloud-based application is more suitable to provide the target service. Thus, the output of AI-based modeling can be used in many application areas such as mobile analytics, context-aware computing, pervasive computing, health analytics, smart cities, as well as the Internet of things (IoT). Moreover, intelligent data-driven solutions could also be effective in AI-based mobile security and privacy, where AI works with huge volumes of security event data to extract the useful insights using machine learning techniques [10].

Although the intelligent apps discussed in this paper can play a significant role in the betterment of human life in different directions, several dependencies may pose additional challenges, such as the availability of network and the data transfer speeds or the battery life of mobile devices. Moreover, privacy and security issues may become another challenge while considering the data collection and processing over the cloud or within the device. Taking the advantages of these issues considering the application type and target goal, we believe this analysis and guidelines will be helpful for both the researchers and application developers to work in the area of mobile data science and intelligent apps.

9 Conclusion

In this paper, we have studied on mobile data science and reviewed the motivation of using AI in mobile apps to make it intelligent. We aimed to provide an overview of how artificial intelligence can be used to design and develop data-driven intelligent mobile applications for the betterment of human life. For this, we have presented an AI-based modeling that includes machine learning and deep learning methods, the concept of natural language processing, as well as knowledge representation and expert systems. Such AI-based modeling can be used to build intelligent mobile applications ranging from personalized recommendations to healthcare services including COVID-19 pandemic management, that are discussed briefly in this paper. A successful intelligent mobile system must possess the relevant AI-based modeling depending on the data characteristics. The sophisticated algorithms then need to be trained through collected data and knowledge related to the target application before the system can assist the users with suggestions and decision making. We have concluded with a discussion about various research issues and future directions relevant to our analysis in the area of mobile data science and intelligent apps, that can help the researchers to do future research in the identified directions.