SAR: A Social-Aware Route Recommendation System for Intelligent Transportation

SAR: A Social-Aware Route Recommendation System for Intelligent Transportation Abstract Driving is an important part in daily life. But it is also dangerous when people drive in a bad mood or when people are tired. In this paper, we propose SAR, a novel social aware route recommendation system, which is designed to recommend proper routes to drivers to help diminish negative mood and fatigue and help improve driving experience. SAR integrates multiple sources of sensing data from smartphones to recommend a proper route to the driver considering the driver’s real-time mood-fatigue, history record, and social information. Experiments have been conducted with SAR to demonstrate the system’s effectiveness as well as reasonable computation and communication overheads on smartphones. 1. INTRODUCTION The maturity of navigation system, including location-acquisition, travel routes recommendation, POI (points of interest) seeking and some other services, has enabled people to plan their travel more conveniently. Wide usage of the navigation systems on smartphones that are connected to the internet has made it possible to collect and analyze GPS data from users to provide real-time estimates of the performance of the transportation network. Normally, road condition, distance, travel time and other factors are considered in route planning in navigation system. These factors can be concluded as objective factors that are utilized to determine the final recommendation. Under such circumstance, users’ subjective mind will not be taken into account. The routes recommended are suitable from the sense of travel but not the satisfactory options for users. Current navigation systems usually pay their attention to the cost of time which will be spent on the route, by considering distance, even real-time traffic information in recent navigation systems. However, the final target of SAR, is to improve driving experience of target users, who want to drive casually like a walk in the park. These drivers do not care about arriving the destination in time or a small detour in order to avoid traffic congestion. To improve driving experience and help drivers relax themselves, subjective aspects are needed in searching routes. Route recommendation should be provided with social aware, which means users’ personal information should be collected. In order to meet users’ demand and make the whole travel more delightful, their moods are also necessary to be considered. Although there are solutions to recommend personalized travel sequence [1], or to seek help for route planning [2], they are all based on mining user interest from multi-source social media data. Others mainly use GPS trajectories to detect users’ life experience for the recommendation [3]. Drivers social information and emotions have never been under consideration. Therefore, to attain a route designed to make drivers more delighted and enhance driving experience, two main research challenges have not yet been addressed by the existing research. First, different routes’ attributes must be identified to form a measurement for the whole process. This issue is also concerned about route searching algorithm. Second, social aware information should be combined into the recommendation system. Social information input by users such as age, gender, profession and so on need processing properly as measurement of a route. After detecting drivers’ mood, the way it functions into the recommendation is also important. In this work, we address two main challenges mentioned above, aiming at bringing good driving experience to drivers and providing them a perfect route. SAR does not only consider the distances and the time cost on the road like the traditional navigation applications do, but also consider the beautiful scenery, the traffic, and the convenience along the road. The main contributions of this paper are concluded as: We not only consider traffic situation of roads as other research did but also take social information of drivers and the subjective factor, drivers’ moods, into account, which is the first social aware route recommendation system, to our best knowledge. We deploy and conduct SAR application, which orchestrate multiple sources of information including social information, real-time moods and traffic situation. Some experiments are conducted to verify its effectiveness. The remainder of this article is organized as follows. Background and related works of SAR are reviewed in Section 2. Section 3 presents the models and key designs of SAR with implementation strategies and Section 4 demonstrates the effectiveness and evaluates the performance of SAR. Section 5 discusses the current stage of SAR. In Section 6, the conclusions are drawn. 2. BACKGROUND AND RELATED WORK Location-based services have become more and more popular these years, so the need to process the large amount of map information has led an interest in related areas, such as operations on road structures [4–9]. The popular algorithm, which can be used to find the shortest route from a start point to a destination point in given graph, is also the topic of many researchers [10–15]. Generally, current route searching and recommendation mainly focus on users’ trajectories and POI [3]. Based on GPS trajectories [16–18], some graphs are built to mine the relationships among users, and then infer their interest level of a location to recommend routes to users. Yu et al. [19] and Zhang et al. [20] also contribute to involve check-in records for travel recommendation. Also, many other factors while travel recommendation, have been considered, such as travelogues [21, 22] and geo-tagged photos [23–25]. It is relatively easy to put it into practical use for the reason that smartphones are widely used and these data can be easily collected through some navigation applications. A problem is the measurement is too few to determine the final recommendation result, which means some physical factors will affect the system but other aspects are ignored such as real-time circumstance. Some more personalized travel recommendation research tends to pay their attention to data of social networks. Users’ interest from user-contributed photo collections including consumption capability, preferred time and season which is important for route planning but difficult to get directly can be mined through social media. However, this research has the same problem as the trajectory-based recommendation that users’ real-time situation will be ignored. To provide good driving experience, driver’s mood is not a dispensable factor in deciding the route. Capacities of mobile phones have been increasing for years, including computing resources (e.g. CPU cycles per second), storage resources (e.g. Random Access Memory, large Flash Memory, etc.), network technologies (e.g fourth/fifth cellular network, Wi-Fi network, etc.), various kinds of sensors integrated in the smartphone (accelerometers, cameras, GPS, etc.), and modern operating systems (e.g. iOS, and Android) with high-level programming languages (e.g. Kotlin, Java, Objective-C) on smartphones. The improvements enable smartphones to form mobile cyber-physical systems [26] and support many novel applications which would be used in our daily life [27, 28]. Researchers are also working on the energy consumption and latency of mobile networks. In [29], researchers present an energy-aware offloading scheme to investigate the trade-off between energy consumption and latency. Mobile crowdsensing is a special form of crowdsourcing [30], which can leverage the intelligence and experience of lots of human to solve specific problems [31]. As mentioned above, with the development of smartphones, it would be possible now to implement a mobile crowdsensing method to collect, process, aggregate sensing data from the public with individual smartphones. Social Internet of Vehicle (SIoV) is also a popular research area. Vehicular social networks are presented to solve problems like increasing number of road accidents and traffic congestion [32]. A cooperative quality-aware service access system for social Internet of vehicles is concentrated in [33], which focuses on a reliability assurance strategy and quality optimization. A related research is SAfeDJ [34], a crowd-cloud codesign approach to situation-aware music delivery for drivers. SAfeDJ is a smartphone-based situation-aware music recommendation system, which is designed to turn driving into a safe and enjoyable experience. SAfeDJ’s aim is to helping drivers to diminish fatigue and negative emotion. Based on novel interactive methods, it could provide some promising methods to collect and process emotional data generated by drivers. For example, how smartphones orchestrate multiple sources of sensing data and the drivers’ social context, in collaboration with cloud computing to form a seamless crowdsensing solution offers help. Also, the way to relate mood data to music is worth learning from. Also, in [35], authors represent an emotion-aware cognitive system to help deploy different emotion-aware mobile applications. 3. SYSTEM DESIGN Figure 1 illustrates the system structure of SAR, containing all the important components of SAR. The overall workflow of SAR is shown in Figure 2. In this section, we first propose our candidate route generation (CRG) method which can be used to analyze the map to generate the candidate routes and their attributes (e.g. convenience, traffic, pedestrian, beauty) for later recommendation in an efficient manner. Then the context model associated with the social information is introduced in Section 3.2, which is then used to process users and routes into a unified model to make the recommendation process easier. Finally, in Section 3.3, we present our social-aware recommendation system (SRS), combining the result of CRG and the context model to recommend a proper route for each driver to improve their driving experience. An automatic method calculating driver’s satisfaction and updating related recommendation table is also introduced in this section. Such a method can automatically help improve the accuracy of SRS. Figure 1. View largeDownload slide The system structure of SAR. Figure 1. View largeDownload slide The system structure of SAR. Figure 2. View largeDownload slide The overall workflow of SAR. Figure 2. View largeDownload slide The overall workflow of SAR. 3.1. Candidate route generation To recommend proper routes to drivers, we first need analyze the map and generate a candidate route set. Then SRS will recommend one of the routes from the candidate route set, considering drivers’ real-time mood, along with social information (i.e. gender, nationality, age and occupation). It is obvious that the route may not be the shortest one from the start point to the destination where the driver wish to reach. Because there may be a lot of traffic on that shortest route or the scenery along that road does not fit the driver’s taste. However, a too long detour is also not proper. Drivers may not be happy if they take a 100-mile detour just to avoid 3-min congestion. To address this problem, we predefine a throttle K, choose the K shortest routes between the start point and destination point as the candidate routes. A heuristic method, which is introduced in Section 3.1.1, is designed to calculate the candidate routes efficiently. Then calculate the attributes on the chosen routes for further recommendation. 3.1.1. Candidate route calculation The most traditional way to find the K shortest routes is to implement a breath-first search. However, it is not efficient in for our purpose, because the network of road may be too large to produce the K shortest routes in such a tight time. Thus, we implemented a heuristic method shown in Algorithm 1 to process the network. We define f(V) = h(V) + g(V) as our heuristic function, where h(V) is the distance from S to V, and g(V) is heuristic that estimates cost from V to T. Algorithm 1 Find K Candidate Routes Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns Algorithm 1 Find K Candidate Routes Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns 3.1.2. Route attributes generation After candidate routes are chosen with the method in Section 3.1.1, attributes of the routes should be generated. Five attributes are chosen as the attributes of each route: Distance (Dis), Traffic (Tra), Convenience (Con), Pedestrian (Ped) and Scenery (Sce). Thanks to the rapid advancement of detection and communication technology, with the help of Big Data, Intelligent Transportation System (ITS) has been changed a lot [36]. The popularity of the crowdsensing smartphone-based map applications, such as Google Map, has also been increased a lot. So we can get the traffic information easily. After attributes of each route are fetched with Map API from Internet, routes are modeled as vectors with five dimensions (i.e. Dis, Tra, Con, Ped and Sce). For example, Tra can be defined by traffic density on the road. While Tra of one particular route can be the minimal value of all Tra of road of that route. Similarly, the number of convenience stores and supermarkets along the road can be used as Con, so Con of one particular route can be the sum of all Con of roads of the route. 3.2. User model User information can be divided into three parts: Driver Social Context (DSC), Real-time Mood-fatigue Context (RMC) and Time Context (TC), respectively. DSC. From the previous work [34], we can see that drivers with similar social background tend to share the favor of similar style of routes. Thus, in current stage of SAR, four attributes are chosen: nationality, gender, age and occupation. In the future work, we plan to integrate more social information into DSC, such as the profile and social circle in Facebook to gather more social information for better recommendation. RMC. The Mood-fatigue detector is introduced in [34], which use multiple sensors on smartphones to collect and then analyze sensing data to infer the driver’s real-time mood-fatigue degrees. As can be seen in X. Hu et al.’s work, the mood are classified in six dimensions: aggressiveness, patience, neutral, happiness, sadness, and anger. Together with fatigue, a seven-dimension vector is formed, with each dimension quantified as float data in the range of 0–1. Every dimension of the vector is the ratio of number of corresponding mood to number of all detected faces during a short period of time. TC is also important for route recommendation, because the purpose of the driver can be inferred from TC. For instance, if a driver starts his car in 5:00 PM every weekday, perhaps he drives home after work at that time. So a relaxing route without a lot of traffic may be a great choice for him at that time. However, if someone starts at midnight without any history departure recorded at that time, may be he/she is in a hurry, and a route of the shortest time may fit his/her situation. In the current stage of SAR, departure time of day is considered as an integer which indicates the number of seconds has elapsed from 00:00 of that day. 3.2.1. Similarity computation As we observe during the development of SAR application, DSC is usually formed with string (i.e. nationality, gender, and occupation) and integer data (i.e. age). So we design a novel method to calculate the similarity between DSCs Sim(DSCi,DSCj)=(Sim(Ni,Nj)+Sim(Gi,Gj)+Sim(Ai,Aj)+Sim(Oi,Oj))/4, (1) where Sim (Ni, Nj), Sim (Gi, Gj) and Sim (Oi, Oj) represent the similarity of nationality, gender and occupation between driver i and driver j, respectively. These three values are usually text values. But if we implement the traditional string similarity computing methods (e.g. Levenshtein distance), it would be difficult for us to make use of the implicit context in the string information. To address this, the method we adopt is ontology-based similarity computing. Much work has been done on this topic. Wordnet [37] makes it possible to calculate the similarity between two English words based on their semantic relatedness. To satisfy the requirement for the efficiency during driving, we adopt the lightweight and scalable similarity computing method to make use of the ontology data mentioned above. Thus, the implicit context contained in the string information can be exploited for route recommendation. The similarity of numerical values RMC, TC, and especially age in DSC between drivers is calculated by the following Sim(RMCi,RMCj)=1−∑RMCiu×RMCju∑RMCiu2RMCju2 (2) Sim(TCi,TCj)=1−∑TCiu×TCju∑TCiu2∑TCju2 (3) Sim(Ai,Aj)=1−|Ai−Aj|Ai+Aj. (4) Finally, with all the data of RMC, TC and DSC collected and contextualized, a context model is designed to integrate data mentioned above into a driver context vector, which we can use to represent drivers under certain circumstances. The similarity between drivers can be calculated as the following formula: Sim(Di,Dj)=Sim(RMCi,RMCj)×Wr+Sim(TCi,TCj)×Wt+Sim(DSCi,DSCj)×Wd, (5) where Wr, Wt and Wd are the weight of RMC, TC and DSC, respectively. These three values are predefined as Wr = 0.3,Wt = 0.3, Wd = 0.4 in the current stage of SAR. In our research plan, we will conduct a large online survey to better determine these three values with statistical methods so that a more accurate result can be obtained to measure driver’s similarity under different situations. 3.3. Social-aware recommendation system As we discussed at the beginning of this article, there may be many complex situations, so that it would be difficult for individual smartphone to recommend proper route to a specific driver. For example, there may be records that this driver prefers flourishing city road when he feels happy and relax, while the situation that this driver with bad mood is not recorded. With the help of the context driver vector, which we present in Section 3.2, smartphone can automatically record driver information and upload driver information onto SAR cloud, then the SAR server combines the history record of all users to recommend a proper route to this driver. When driver arrives his destination, mood-fatigue degree record during this trip will be uploaded onto the SAR cloud too. With the mood-fatigue degree record, SAR server calculates the driver satisfaction score to update the driver’s record. 3.3.1. Driver history table Once a driver finishes his journey, all his information automatically collected by SAR application will be added into driver history table (DHT). Future recommendation will scan this table to retrieve the driver history information and make use of it to make an accurate recommendation. For each record, DHT contains: DSC, RMC, TC and route attributes. Table 1 shows an example of the DHT. Table 1. Example of DHT Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. Table 1. Example of DHT Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. 3.3.2. Route recommendation Models are defined to process and represent the driver information and the route attributes in previous sections of this article. Once SAR server is asked to recommend a route, information mentioned above is integrated to serve the recommendation system. The recommendation system first calculates a predicted route attribute. Then one of routes in the candidate routes which has the closest attribute is selected and return to the SAR application on driver’s smartphone. The predicted route attribute Rp for Driver X are obtained using the following Rp=(Disp,Trap,Pedp,Conp,Scep) (6) Disp=∑Disi×Sim(Di,Dx)Trap=∑Trai×Sim(Di,Dx)Pedp=∑Pedi×Sim(Di,Dx)Conp=∑Coni×Sim(Di,Dx)Scep=∑Scei×Sim(Di,Dx). (7) Then the closest route in the candidate route set is chosen with the distance computing method Dis(Rp,Ru)=∑i=15((Rpi−Rui)×(Rpi−Rui)), (8) which is recommended to the driver. 3.3.3. Satisfaction calculation Furthermore, as mentioned above, SAR application on smartphones can detect driver’s real-time mood-fatigue degree and upload such data to SAR cloud when the driver arrives his destination. SAR server then process uploaded mood-fatigue data, calculate the satisfaction score and then update the driver’s preferable route attribute under his situation. Algorithm 2 is adopted to satisfaction calculation and route attribute update. The accuracy of the recommendation system can be improved with the route attributes that the driver really drives along, and the mood-fatigue information. Algorithm 2 Satisfaction Calculation and Historic Route Attributes Update. Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp Algorithm 2 Satisfaction Calculation and Historic Route Attributes Update. Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp 4. EVALUATION In this section, we evaluate SAR in two aspects: (i) the unique functionality of SAR; (ii) the overhead of SAR. 4.1. Functionality of SAR Some user interfaces are shown in Figure 3. When SAR starts for the first time, drivers are required to input their social information (i.e. nationality, gender, age, occupation) in the Setting page as illustrated in Figure 3c. After the destination is set by touching the map, and the START button is pressed in Figure 3a, SAR application calculates the Candidate Route Set from a start point (i.e. the current position) to the destination. Context Model is also created and sent to the server requesting for preferable route attributes. When SAR app receives preferable route attributes returned from SAR server, the closest route will be chosen from the Candidate Route Set and marked in blue in the map, as shown in Figure 3b. Figure 3. View largeDownload slide User interfaces in SAR. (a) Ready page, (b) Navigation page and (c) Social information setting page. Figure 3. View largeDownload slide User interfaces in SAR. (a) Ready page, (b) Navigation page and (c) Social information setting page. Following methods used by previous research in the analysis of driving behavior [38], we adopt a driving simulator to evaluate the effectiveness of our SAR system in the current stage. City Car Driving, a realistic car driving simulator used to prepare users for driving tests and road rules training and improve their driving skills, is chosen for its good reputation in the simulation of real world road environment [39]. Initial experiments have been carried out in a scenario with four alternative routes between two positions. We recruited five volunteers with driving licences, two males and three females. Each subject was required to finish three tests with the same starting point and the same destination: (i) driving on the route recommended by SAR; (ii) choosing her or his favorite route to drive; and (iii) driving on a randomly assigned route. This was a within subject experiment. To avoid the impact from a previous test, there was a 10-minute interval between every two tests. Furthermore, to diminish the influence from differences in the route familiarity, the sequence of the three tests for each driver was randomized. The experience is the least enjoyable among 80% of the subjects when driving on a randomly assigned route. About 60% of the subjects reported the most enjoyable experience when driving on their favorite route and 40% gave it to the automatically recommended route. The difference between male and female subjects is not significant. We can also predict an improvement of drivers’ mood by approximately 10%-20%, which can be calculated from Satisfaction values described in Algorithm 2 (i.e. the growth rate of Satisfaction values). More subjects are aoing to be involved in the experiments, and better result can be expected. 4.2. Overhead of SAR We evaluated SAR running on popular smartphone Mi5 with Android 7.0 in four aspects: (i) CPU usage; (ii) RAM usage; (iii) Network usage; and (iv) Battery usage. Following data were recorded with a Mi5 device, indoor and with Wi-Fi connection. The duration of the test was 60 minutes. CPU Usage. Figure 4 shows the CPU usage during the running of SAR mobile application. At CRG stage, the CPU usage of SAR is around 21% on Mi5, because of the complex heuristic algorithm. After the navigation starts, most of the CPU resources are used by Mood-fatigue Detector, since it has to process images captured by the front camera of Mi5, to detect drivers’ mood and fatigue degree. At the last of the test session, Mood-fatigue Detector is stopped so we can see the low values at the right of the figure. Figure 4. View largeDownload slide CPU usage of SAR. Figure 4. View largeDownload slide CPU usage of SAR. RAM Usage. As can be seen Figure 5, CRG uses 80.55 MB RAM, which is also the peak of the whole running period of SAR application. After CRG, Mood-fatigue Detector is the main consumer of RAM, because of the big frame captured by the 4MP front camera of Mi5. Although the result of the RAM usage may be a little higher than the real use because of the Garage Collection strategy of JVM, the 80-MB RAM usage is not a problem since smartphones now are usually equipped with 2 GB or even more RAM. Figure 5. View largeDownload slide Ram usage of SAR. Figure 5. View largeDownload slide Ram usage of SAR. Network usage. The network requirement for SAR application is very low. There are only two transactions happened during the whole process. The first one happens when drivers press the START button. SAR uploads Context Model onto the cloud, and SAR server returns the predicted route attributes. The second one is when then journey finishes, SAR application will upload the Mood-fatigue degree onto the SAR cloud for satisfaction calculation, so we can find high values at the right side of the figure. As shown in Figure 6, the usage of network data is less than 10 KB throughout the running of SAR application (Figure 7). Figure 6. View largeDownload slide Network usage of SAR. Figure 6. View largeDownload slide Network usage of SAR. Figure 7. View largeDownload slide Battery usage of SAR. Figure 7. View largeDownload slide Battery usage of SAR. Battery usage. The Mood-fatigue Detector plays an important role in battery consumption. Both the continuous use of front camera and the heavy burden of image processing need a lot of energy. Considering that smartphones usually can get charged onboard vehicles, the battery energy is not a serious concern. 5. DISCUSSION In the current stage of SAR, we introduce the context model which combines users’ social information and real-time mood-fatigue status, and design the Social Aware Recommendation System which can recommend preferable routes for drivers via a novel crowd-sensing method. There are still some challenges. For example, the entire map of the real world is so enormous that it would be hard to store it on a smartphone. Usually, it is stored on the cloud platform and a mobile application downloads one part of the map as needed. With the increasing of the map size, CRG implemented now in SAR may be not efficient enough. But as mentioned in Section 2, much research work has been done, which can be helpful on candidate route set generation. Privacy preservation is always a great concern, especially to privacy sensitive applications like SAR, which involves lots of sensitive information such as users’ social information, location, daily schedule and etc. Users are not willing to use systems with weak privacy-preserving mechanisms. Thus, privacy preservation is also of great interest in research community. Many different methods have been proposed to design privacy preserving systems. For example, Ahmadi et al. propose a method, which provides privacy preservation by data transformation (e.g. adding noise on a trusted server [40]). Idalides J. Vergara-Laurens et al. [41] present privacy-preserving mechanisms in crowdsensing systems. SAR in the current stage is not implemented with such privacy preserving mechanisms, however, they can be easily integrated into SAR when needed. Another possibility of social aware information leakage is that the communication channel is not safe, thus the system is vulnerable to man-in-the-middle attacks. Transportation Layer Security with a certificated authority can be implemented in SAR to protect social information. Considering that the size of data needed to transfer is pretty small, it will not affect the performance of the system. In the future work, more experiments will be conducted to verify the efficiency and effectiveness of SAR in real world scenarios. 6. CONCLUSIONS In this paper, we proposed a smartphone-based novel social aware recommendation system orchestrated with the Context Model, which considered not only drivers’ social information but also drivers’ mood and fatigue records, as well as the time context. SAR leverages improving sensing and computing capacities of smartphones to combine multiple sources of sensing data with drivers’ real-time mood-fatigue degrees, and adopts cloud platform to collaborate with other drivers to make the recommendation system more accurate. This recommendation system makes it possible for numerous drivers with their smartphones, to collaboratively recommend proper routes to drivers. To the best of our knowledge, SAR is the first smartphone-based social aware recommendation system for personalized routes to drivers [42]. FUNDING This work was partially supported by the Shenzhen-Hong Kong Innovative Project under grant (SGLH20161212140718841); the Guangdong Technology Project (2017B010110007, 2016B010108010 and 2016B010125003); Technology and Information (JSGG20170413171746130, JCYJ20170413152535587, JSGG20160331185256983 and JSGG20160229115709109). REFERENCES 1 Jiang , S. , Qian , X. , Mei , T. and Fu , Y. ( 2016 ) Personalized travel sequence recommendation on multi-source big social media . IEEE Trans. Big Data , 2 ( 1 ), 43 – 56 . Google Scholar CrossRef Search ADS 2 Hu , G. , Shao , J. , Shen , F. , Huang , Z. and Shen , H.T. ( 2017 ) Unifying multi-source social media data for personalized travel route planning. Proc. 40th Int. ACM SIGIR Conf. Research and Development in Information Retrieval, Tokyo, Japan, 07-11 August, pages 893–896. ACM, New York, NY, USA. 3 Zheng , Y. , Xie , X. and Ma , W.-Y. ( 2010 ) Geolife: A collaborative social networking service among user, location and trajectory . IEEE Data Eng. Bull. , 33 ( 2 ), 32 – 39 . 4 Shahabi , C. , Kolahdouzan , M.R. and Sharifzadeh , M. ( 2003 ) A road network embedding technique for k-nearest neighbor search in moving object databases . GeoInformatica , 7 ( 3 ), 255 – 273 . Google Scholar CrossRef Search ADS 5 Chen , Z. , Shen , H.T. , Zhou , X. and Yu , J.X. ( 2009 ) Monitoring path nearest neighbor in road networks. Proc. 2009 ACM SIGMOD Int. Conf. Management of data, Providence, Rhode Island, USA, June 29–July 02, pages 591–602. ACM, New York, NY, USA. 6 Cho , H.-J. and Chung , C.-W. ( 2005 ) An efficient and scalable approach to cnn queries in a road network. Proc. 31st Int. Conf. Very large data bases,Trondheim, Norway, August 30–September 02, pages 865–876. VLDB Endowment, USA. 7 Kolahdouzan , M. and Shahabi , C. ( 2004 ) Voronoi-based k nearest neighbor search for spatial network databases. Proc. 30th Int. Conf. Very large data bases-Volume 30, Toronto, Canada, pages 840–851. VLDB Endowment, USA. 8 Papadias , D. , Zhang , J. , Mamoulis , N. and Tao , Y. ( 2003 ) Query processing in spatial network databases. Proc. 29th Int. Conf. Very large data bases-Volume 29, pages 802–813. Berlin, Germany. VLDB Endowment, USA. 9 Samet , H. ( 2006 ) Foundations of multidimensional and metric data structures . Morgan Kaufmann , USA . 10 Bast , H. , Funke , S. , Matijevic , D. , Sanders , P. and Schultes , D. ( 2007 ) In transit to constant time shortest-path queries in road networks. Proc. Meeting on Algorithm Engineering & Expermiments, New Orleans, Louisiana, January 06–06, pages 46–59. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA. 11 Dijkstra , E.W. ( 1959 ) A note on two problems in connexion with graphs . Numerische mathematik , 1 ( 1 ), 269 – 271 . Google Scholar CrossRef Search ADS 12 Goldberg , A.V. and Werneck , R.F.F. ( 2005 ) Computing point-to-point shortest paths from external memory. ALENEX/ANALCO, Vancouver, British Columbia, Canada, January 22, pages 26–40. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA. 13 Guerra-Filho , G. and Samet , H. ( 2013 ) A hybrid shortest path algorithm for intra-regional queries on hierarchical networks. Advances in Spatial Data Handling, pages 45–59. Springer, Berlin, Germany. 14 Chabini , I. and Lan , S. ( 2002 ) Adaptations of the a* algorithm for the computation of fastest paths in deterministic discrete-time dynamic networks . IEEE Trans. Intell. Transport. Syst. , 3 ( 1 ), 60 – 74 . Google Scholar CrossRef Search ADS 15 Wagner , D. and Willhalm , T. ( 2003 ) Geometric speed-up techniques for finding shortest paths in large sparse graphs. Algorithms—ESA 2003: 11th Annual European Symposium, Budapest, Hungary, September 16–19, pages 776–787. Springer Berlin Heidelberg, Berlin, Heidelberg. 16 Zhu , J. , Jiang , W. , Liu , A. , Liu , G. and Zhao , L. ( 2017 ) Effective and efficient trajectory outlier detection based on time-dependent popular route . World Wide Web , 20 ( 1 ), 111 – 134 . Google Scholar CrossRef Search ADS 17 Liu , H. , Mei , T. , Luo , J. , Houqiang , L. and Li , S. ( 2012 ) Finding perfect rendezvous on the go: accurate mobile visual localization and its applications to routing. Proc. 20th ACM Int. Conf. Multimedia, Nara, Japan, October 29–November 02, pages 9–18. ACM, New York, NY, USA. 18 Li , J. , Qian , X. , Tang , Y.Y. , Yang , L. and Mei , T. ( 2013 ) Gps estimation for places of interest from social users’ uploaded photos . IEEE Trans. Multimedia , 15 ( 8 ), 2058 – 2071 . Google Scholar CrossRef Search ADS 19 Yu , Z. , Xu , H. , Yang , Z. and Guo , B. ( 2016 ) Personalized travel package with multi-point-of-interest recommendation based on crowdsourced user footprints . IEEE Trans. Human-Machine Syst. , 46 ( 1 ), 151 – 158 . Google Scholar CrossRef Search ADS 20 Zhang , C. , Liang , H. , Wang , K. and Sun , J. ( 2015 ) Personalized trip recommendation with poi availability and uncertain traveling time. Proc. 24th ACM Int. Conf. Information and Knowledge Management, Melbourne, Australia, October 18–23, pages 911–920. ACM, New York, NY, USA. 21 Chen , X. , Zhang , Y. , Ma , P. , Li , C. and Xing , C. ( 2015 ) A package generation and recommendation framework based on travelogues. Computer Software and Applications Conference (COMPSAC), 2015 IEEE 39th Annual, Taichung, Taiwan, 1-5 July, volume 2, pages 692–701. IEEE, Piscataway, New Jersey, US. 22 Jiang , S. , Qian , X. , Shen , J. , Fu , Y. and Mei , T. ( 2015 ) Author topic model-based collaborative filtering for personalized poi recommendations . IEEE Trans. Multimedia , 17 ( 6 ), 907 – 918 . 23 Chen , Y.-Y. , Cheng , A.-J. and Hsu , W.H. ( 2013 ) Travel recommendation by mining people attributes and travel group types from community-contributed photos . IEEE Trans. Multimedia , 15 ( 6 ), 1283 – 1295 . Google Scholar CrossRef Search ADS 24 Yin , H. , Wang , C. , Yu , N. and Zhang , L. ( 2012 ) Trip mining and recommendation from geo-tagged photos. Multimedia and Expo Workshops (ICMEW), 2012 IEEE Int. Conf., Melbourne, VIC, Australia, 9–13 July, pages 540–545. IEEE, Piscataway, New Jersey, US. 25 Gao , Y. , Tang , J. , Hong , R. , Dai , Q. , Chua , T.-S. and Jain , R. ( 2010 ) W2go: a travel guidance system by automatic landmark ranking. Proc. 18th ACM Int. Conf. Multimedia, Firenze, Italy, October 25–29, pages 123–132. ACM, New York, NY, USA. 26 Hu , X. , Chu , T.H.S. , Chan , H.C.B. and Leung , V.C.M. ( 2013 ) Vita: A crowdsensing-oriented mobile cyber-physical system . IEEE Trans. Emerg. Top. Comput. , 1 ( 1 ), 148 – 165 . Google Scholar CrossRef Search ADS 27 Hu , X. , Leung , V. , Li , K.G. , Kong , E. , Zhang , H. , Surendrakumar , N.S. and TalebiFard , P. ( 2013 ) Social drive: a crowdsourcing-based vehicular social networking system for green transportation. Proc. 3rd ACM Int. Symp. Design and analysis of intelligent vehicular networks and applications, Barcelona, Spain, November 3–8, pages 85–92. ACM, New York, NY, USA. 28 Hu , X. , Chu , T.H.S. , Leung , V.C.M. , Ngai , E.C.-H. , Kruchten , P. and Chan , H.C.B. ( 2015 ) A survey on mobile social networks: Applications, platforms, system architectures, and future research directions . IEEE Commun. Surveys Tut. , 17 ( 3 ), 1557 – 1581 . 2015. Google Scholar CrossRef Search ADS 29 Zhang , J. , Hu , X. , Ning , Z. , Ngai , E. , Zhou , L. , Wei , J. , Cheng , J. and Hu , B. ( 2017 ) Energy-latency trade-off for energy-aware offloading in mobile edge computing networks . IEEE Internet Things J. , PP ( 99 ), 1 – 1 . 30 Nehls , K. ( 2015 ) Crowdsourcing . Taylor & Francis , USA . 31 Hu , X. , Li , X. , Ngai , E. , Leung , V. and Kruchten , P. ( 2014 ) Multidimensional context-aware social network architecture for mobile crowdsensing . IEEE Commun. Mag. , 52 ( 6 ), 78 – 87 . Google Scholar CrossRef Search ADS 32 Ning , Z. , Xia , F. , Ullah , N. , Kong , X. and Hu , X. ( 2017 ) Vehicular social networks: enabling smart mobility . IEEE Communi. Mag. , 55 ( 5 ), 49 – 55 . 33 Ning , Z. , Hu , X. , Chen , Z. , Zhou , M. , Hu , B. , Cheng , J. and Obaidat , M. ( 2017 ) A cooperative quality aware service access system for social internet of vehicles . IEEE Internet Things J. , PP ( 99 ), 1 – 1 . Google Scholar CrossRef Search ADS 34 Hu , X. , Deng , J. , Zhao , J. , Hu , W. , Ngai , E.C.-H. , Wang , R. , Shen , J. , Liang , M. , Li , X. and Leung , V. ( 2015 ) Safedj: A crowd-cloud codesign approach to situation-aware music delivery for dr ivers . ACM Trans. Multimedia Comput. Commun. Appl. , 12 , 21 . Google Scholar CrossRef Search ADS 35 Hu , X. , Cheng , J. , Zhou , M. , Hu , B. , Jiang , X. , Guo , Y. , Bai , K. and Wang , F. ( 2018 ) Emotion-Aware cognitive system in multi-channel cognitive radio ad hoc networks . IEEE Commun. Mag. , 56 ( 4 ), 180 – 187 . Google Scholar CrossRef Search ADS 36 Amini , S. , Gerostathopoulos , I. and Prehofer , C. ( 2017 ) Big data analytics architecture for real-time traffic control. 2017 5th IEEE Int. Conf. Models and Technologies for Intelligent Transportation Systems (MT-ITS), Naples, Italy, 26–28 June, pages 710–715. IEEE, Piscataway, New Jersey, US. 37 Pedersen , T. , Patwardhan , S. and Michelizzi , J. ( 2004 ) Wordnet::similarity: Measuring the relatedness of concepts. Demonstration Papers at HLT-NAACL 2004, Boston, Massachusetts, May 2–7, pages 38–41, Association for Computational Linguistics, Stroudsburg, PA, USA. 38 van der Zwaag , M.D. , Dijksterhuis , C. , de Waard , D. , Mulder , B.L.J.M. , Westerink , J.H.D.M. and Brookhuis , K.A. ( 2012 ) The influence of music on mood and performance while driving . Ergonomics , 55 ( 1 ), 12 – 22 . Google Scholar CrossRef Search ADS PubMed 39 Forward Development . ( 2017 ) City car driving. http://citycardriving.com/. 40 Ahmadi , H. , Pham , N. , Ganti , R. , Abdelzaher , T. , Nath , S. and Han , J. ( 2010 ) Privacy-aware regression modeling of participatory sensing data. Proc. 8th ACM Conf. Embedded Networked Sensor Systems, Zürich, Switzerland, November 3–5, pages 99–112. ACM, New York, NY, USA. 41 Vergara-Laurens , I.J. , Jaimes , L.G. and Labrador , M.A. ( 2017 ) Privacy-preserving mechanisms for crowdsensing: Survey and research challenges . IEEE Internet Things J. , 4 ( 4 ), 855 – 869 . Google Scholar CrossRef Search ADS 42 Salehinejad , H. , Nezamabadi-pour , H. , Saryazdi , S. and Farrahi-Moghaddam , F. ( 2015 ) Combined a*-ants algorithm: a new multi-parameter vehicle navigation scheme. CoRR, abs/1504.07329. Author notes Handling editor: Zhaolong Ning © The British Computer Society 2018. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com This article is published and distributed under the terms of the Oxford University Press, Standard Journals Publication Model (https://academic.oup.com/journals/pages/about_us/legal/notices) http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png The Computer Journal Oxford University Press

SAR: A Social-Aware Route Recommendation System for Intelligent Transportation

The Computer Journal , Volume Advance Article (7) – Apr 26, 2018

Loading next page...
 
/lp/ou_press/sar-a-social-aware-route-recommendation-system-for-intelligent-vEdpzqogta
Publisher
Oxford University Press
Copyright
© The British Computer Society 2018. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com
ISSN
0010-4620
eISSN
1460-2067
D.O.I.
10.1093/comjnl/bxy042
Publisher site
See Article on Publisher Site

Abstract

Abstract Driving is an important part in daily life. But it is also dangerous when people drive in a bad mood or when people are tired. In this paper, we propose SAR, a novel social aware route recommendation system, which is designed to recommend proper routes to drivers to help diminish negative mood and fatigue and help improve driving experience. SAR integrates multiple sources of sensing data from smartphones to recommend a proper route to the driver considering the driver’s real-time mood-fatigue, history record, and social information. Experiments have been conducted with SAR to demonstrate the system’s effectiveness as well as reasonable computation and communication overheads on smartphones. 1. INTRODUCTION The maturity of navigation system, including location-acquisition, travel routes recommendation, POI (points of interest) seeking and some other services, has enabled people to plan their travel more conveniently. Wide usage of the navigation systems on smartphones that are connected to the internet has made it possible to collect and analyze GPS data from users to provide real-time estimates of the performance of the transportation network. Normally, road condition, distance, travel time and other factors are considered in route planning in navigation system. These factors can be concluded as objective factors that are utilized to determine the final recommendation. Under such circumstance, users’ subjective mind will not be taken into account. The routes recommended are suitable from the sense of travel but not the satisfactory options for users. Current navigation systems usually pay their attention to the cost of time which will be spent on the route, by considering distance, even real-time traffic information in recent navigation systems. However, the final target of SAR, is to improve driving experience of target users, who want to drive casually like a walk in the park. These drivers do not care about arriving the destination in time or a small detour in order to avoid traffic congestion. To improve driving experience and help drivers relax themselves, subjective aspects are needed in searching routes. Route recommendation should be provided with social aware, which means users’ personal information should be collected. In order to meet users’ demand and make the whole travel more delightful, their moods are also necessary to be considered. Although there are solutions to recommend personalized travel sequence [1], or to seek help for route planning [2], they are all based on mining user interest from multi-source social media data. Others mainly use GPS trajectories to detect users’ life experience for the recommendation [3]. Drivers social information and emotions have never been under consideration. Therefore, to attain a route designed to make drivers more delighted and enhance driving experience, two main research challenges have not yet been addressed by the existing research. First, different routes’ attributes must be identified to form a measurement for the whole process. This issue is also concerned about route searching algorithm. Second, social aware information should be combined into the recommendation system. Social information input by users such as age, gender, profession and so on need processing properly as measurement of a route. After detecting drivers’ mood, the way it functions into the recommendation is also important. In this work, we address two main challenges mentioned above, aiming at bringing good driving experience to drivers and providing them a perfect route. SAR does not only consider the distances and the time cost on the road like the traditional navigation applications do, but also consider the beautiful scenery, the traffic, and the convenience along the road. The main contributions of this paper are concluded as: We not only consider traffic situation of roads as other research did but also take social information of drivers and the subjective factor, drivers’ moods, into account, which is the first social aware route recommendation system, to our best knowledge. We deploy and conduct SAR application, which orchestrate multiple sources of information including social information, real-time moods and traffic situation. Some experiments are conducted to verify its effectiveness. The remainder of this article is organized as follows. Background and related works of SAR are reviewed in Section 2. Section 3 presents the models and key designs of SAR with implementation strategies and Section 4 demonstrates the effectiveness and evaluates the performance of SAR. Section 5 discusses the current stage of SAR. In Section 6, the conclusions are drawn. 2. BACKGROUND AND RELATED WORK Location-based services have become more and more popular these years, so the need to process the large amount of map information has led an interest in related areas, such as operations on road structures [4–9]. The popular algorithm, which can be used to find the shortest route from a start point to a destination point in given graph, is also the topic of many researchers [10–15]. Generally, current route searching and recommendation mainly focus on users’ trajectories and POI [3]. Based on GPS trajectories [16–18], some graphs are built to mine the relationships among users, and then infer their interest level of a location to recommend routes to users. Yu et al. [19] and Zhang et al. [20] also contribute to involve check-in records for travel recommendation. Also, many other factors while travel recommendation, have been considered, such as travelogues [21, 22] and geo-tagged photos [23–25]. It is relatively easy to put it into practical use for the reason that smartphones are widely used and these data can be easily collected through some navigation applications. A problem is the measurement is too few to determine the final recommendation result, which means some physical factors will affect the system but other aspects are ignored such as real-time circumstance. Some more personalized travel recommendation research tends to pay their attention to data of social networks. Users’ interest from user-contributed photo collections including consumption capability, preferred time and season which is important for route planning but difficult to get directly can be mined through social media. However, this research has the same problem as the trajectory-based recommendation that users’ real-time situation will be ignored. To provide good driving experience, driver’s mood is not a dispensable factor in deciding the route. Capacities of mobile phones have been increasing for years, including computing resources (e.g. CPU cycles per second), storage resources (e.g. Random Access Memory, large Flash Memory, etc.), network technologies (e.g fourth/fifth cellular network, Wi-Fi network, etc.), various kinds of sensors integrated in the smartphone (accelerometers, cameras, GPS, etc.), and modern operating systems (e.g. iOS, and Android) with high-level programming languages (e.g. Kotlin, Java, Objective-C) on smartphones. The improvements enable smartphones to form mobile cyber-physical systems [26] and support many novel applications which would be used in our daily life [27, 28]. Researchers are also working on the energy consumption and latency of mobile networks. In [29], researchers present an energy-aware offloading scheme to investigate the trade-off between energy consumption and latency. Mobile crowdsensing is a special form of crowdsourcing [30], which can leverage the intelligence and experience of lots of human to solve specific problems [31]. As mentioned above, with the development of smartphones, it would be possible now to implement a mobile crowdsensing method to collect, process, aggregate sensing data from the public with individual smartphones. Social Internet of Vehicle (SIoV) is also a popular research area. Vehicular social networks are presented to solve problems like increasing number of road accidents and traffic congestion [32]. A cooperative quality-aware service access system for social Internet of vehicles is concentrated in [33], which focuses on a reliability assurance strategy and quality optimization. A related research is SAfeDJ [34], a crowd-cloud codesign approach to situation-aware music delivery for drivers. SAfeDJ is a smartphone-based situation-aware music recommendation system, which is designed to turn driving into a safe and enjoyable experience. SAfeDJ’s aim is to helping drivers to diminish fatigue and negative emotion. Based on novel interactive methods, it could provide some promising methods to collect and process emotional data generated by drivers. For example, how smartphones orchestrate multiple sources of sensing data and the drivers’ social context, in collaboration with cloud computing to form a seamless crowdsensing solution offers help. Also, the way to relate mood data to music is worth learning from. Also, in [35], authors represent an emotion-aware cognitive system to help deploy different emotion-aware mobile applications. 3. SYSTEM DESIGN Figure 1 illustrates the system structure of SAR, containing all the important components of SAR. The overall workflow of SAR is shown in Figure 2. In this section, we first propose our candidate route generation (CRG) method which can be used to analyze the map to generate the candidate routes and their attributes (e.g. convenience, traffic, pedestrian, beauty) for later recommendation in an efficient manner. Then the context model associated with the social information is introduced in Section 3.2, which is then used to process users and routes into a unified model to make the recommendation process easier. Finally, in Section 3.3, we present our social-aware recommendation system (SRS), combining the result of CRG and the context model to recommend a proper route for each driver to improve their driving experience. An automatic method calculating driver’s satisfaction and updating related recommendation table is also introduced in this section. Such a method can automatically help improve the accuracy of SRS. Figure 1. View largeDownload slide The system structure of SAR. Figure 1. View largeDownload slide The system structure of SAR. Figure 2. View largeDownload slide The overall workflow of SAR. Figure 2. View largeDownload slide The overall workflow of SAR. 3.1. Candidate route generation To recommend proper routes to drivers, we first need analyze the map and generate a candidate route set. Then SRS will recommend one of the routes from the candidate route set, considering drivers’ real-time mood, along with social information (i.e. gender, nationality, age and occupation). It is obvious that the route may not be the shortest one from the start point to the destination where the driver wish to reach. Because there may be a lot of traffic on that shortest route or the scenery along that road does not fit the driver’s taste. However, a too long detour is also not proper. Drivers may not be happy if they take a 100-mile detour just to avoid 3-min congestion. To address this problem, we predefine a throttle K, choose the K shortest routes between the start point and destination point as the candidate routes. A heuristic method, which is introduced in Section 3.1.1, is designed to calculate the candidate routes efficiently. Then calculate the attributes on the chosen routes for further recommendation. 3.1.1. Candidate route calculation The most traditional way to find the K shortest routes is to implement a breath-first search. However, it is not efficient in for our purpose, because the network of road may be too large to produce the K shortest routes in such a tight time. Thus, we implemented a heuristic method shown in Algorithm 1 to process the network. We define f(V) = h(V) + g(V) as our heuristic function, where h(V) is the distance from S to V, and g(V) is heuristic that estimates cost from V to T. Algorithm 1 Find K Candidate Routes Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns Algorithm 1 Find K Candidate Routes Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns Input: graph G = ⟨V,E⟩, number of candidates K, start point S, destination point T Output: K candidate routes 1: invert every edge in G to get G′ 2: calculate the shortest distance from T to every vertex in G′ and define V.g as the shortest distance from T to V 3: initialize an empty queue denoted as Q 4: Ans = {} 5: S.route = {s},S.cnt = 0,S.h = 0 6: Current route CR = {} 7: pushS into Q 8: whileQ is not empty do 9:  pop the V with minimal f(V) = h(V) + g(V) 10:  V.route = CR ∪ {V} 11:  CR = V.route 12:  If V == Tthen 13:   Ans = Ans ∪ V.route 14:  V.cnt = V.cnt + 1 15:  ifV.cnt >= Kthen 16:   goto back to while 17:  for Each vertex U such that ⟨V,U⟩ ∈ Edo 18:   U.h = V.h + dis(V,U) 19:   pushU into Q 20: returnAns 3.1.2. Route attributes generation After candidate routes are chosen with the method in Section 3.1.1, attributes of the routes should be generated. Five attributes are chosen as the attributes of each route: Distance (Dis), Traffic (Tra), Convenience (Con), Pedestrian (Ped) and Scenery (Sce). Thanks to the rapid advancement of detection and communication technology, with the help of Big Data, Intelligent Transportation System (ITS) has been changed a lot [36]. The popularity of the crowdsensing smartphone-based map applications, such as Google Map, has also been increased a lot. So we can get the traffic information easily. After attributes of each route are fetched with Map API from Internet, routes are modeled as vectors with five dimensions (i.e. Dis, Tra, Con, Ped and Sce). For example, Tra can be defined by traffic density on the road. While Tra of one particular route can be the minimal value of all Tra of road of that route. Similarly, the number of convenience stores and supermarkets along the road can be used as Con, so Con of one particular route can be the sum of all Con of roads of the route. 3.2. User model User information can be divided into three parts: Driver Social Context (DSC), Real-time Mood-fatigue Context (RMC) and Time Context (TC), respectively. DSC. From the previous work [34], we can see that drivers with similar social background tend to share the favor of similar style of routes. Thus, in current stage of SAR, four attributes are chosen: nationality, gender, age and occupation. In the future work, we plan to integrate more social information into DSC, such as the profile and social circle in Facebook to gather more social information for better recommendation. RMC. The Mood-fatigue detector is introduced in [34], which use multiple sensors on smartphones to collect and then analyze sensing data to infer the driver’s real-time mood-fatigue degrees. As can be seen in X. Hu et al.’s work, the mood are classified in six dimensions: aggressiveness, patience, neutral, happiness, sadness, and anger. Together with fatigue, a seven-dimension vector is formed, with each dimension quantified as float data in the range of 0–1. Every dimension of the vector is the ratio of number of corresponding mood to number of all detected faces during a short period of time. TC is also important for route recommendation, because the purpose of the driver can be inferred from TC. For instance, if a driver starts his car in 5:00 PM every weekday, perhaps he drives home after work at that time. So a relaxing route without a lot of traffic may be a great choice for him at that time. However, if someone starts at midnight without any history departure recorded at that time, may be he/she is in a hurry, and a route of the shortest time may fit his/her situation. In the current stage of SAR, departure time of day is considered as an integer which indicates the number of seconds has elapsed from 00:00 of that day. 3.2.1. Similarity computation As we observe during the development of SAR application, DSC is usually formed with string (i.e. nationality, gender, and occupation) and integer data (i.e. age). So we design a novel method to calculate the similarity between DSCs Sim(DSCi,DSCj)=(Sim(Ni,Nj)+Sim(Gi,Gj)+Sim(Ai,Aj)+Sim(Oi,Oj))/4, (1) where Sim (Ni, Nj), Sim (Gi, Gj) and Sim (Oi, Oj) represent the similarity of nationality, gender and occupation between driver i and driver j, respectively. These three values are usually text values. But if we implement the traditional string similarity computing methods (e.g. Levenshtein distance), it would be difficult for us to make use of the implicit context in the string information. To address this, the method we adopt is ontology-based similarity computing. Much work has been done on this topic. Wordnet [37] makes it possible to calculate the similarity between two English words based on their semantic relatedness. To satisfy the requirement for the efficiency during driving, we adopt the lightweight and scalable similarity computing method to make use of the ontology data mentioned above. Thus, the implicit context contained in the string information can be exploited for route recommendation. The similarity of numerical values RMC, TC, and especially age in DSC between drivers is calculated by the following Sim(RMCi,RMCj)=1−∑RMCiu×RMCju∑RMCiu2RMCju2 (2) Sim(TCi,TCj)=1−∑TCiu×TCju∑TCiu2∑TCju2 (3) Sim(Ai,Aj)=1−|Ai−Aj|Ai+Aj. (4) Finally, with all the data of RMC, TC and DSC collected and contextualized, a context model is designed to integrate data mentioned above into a driver context vector, which we can use to represent drivers under certain circumstances. The similarity between drivers can be calculated as the following formula: Sim(Di,Dj)=Sim(RMCi,RMCj)×Wr+Sim(TCi,TCj)×Wt+Sim(DSCi,DSCj)×Wd, (5) where Wr, Wt and Wd are the weight of RMC, TC and DSC, respectively. These three values are predefined as Wr = 0.3,Wt = 0.3, Wd = 0.4 in the current stage of SAR. In our research plan, we will conduct a large online survey to better determine these three values with statistical methods so that a more accurate result can be obtained to measure driver’s similarity under different situations. 3.3. Social-aware recommendation system As we discussed at the beginning of this article, there may be many complex situations, so that it would be difficult for individual smartphone to recommend proper route to a specific driver. For example, there may be records that this driver prefers flourishing city road when he feels happy and relax, while the situation that this driver with bad mood is not recorded. With the help of the context driver vector, which we present in Section 3.2, smartphone can automatically record driver information and upload driver information onto SAR cloud, then the SAR server combines the history record of all users to recommend a proper route to this driver. When driver arrives his destination, mood-fatigue degree record during this trip will be uploaded onto the SAR cloud too. With the mood-fatigue degree record, SAR server calculates the driver satisfaction score to update the driver’s record. 3.3.1. Driver history table Once a driver finishes his journey, all his information automatically collected by SAR application will be added into driver history table (DHT). Future recommendation will scan this table to retrieve the driver history information and make use of it to make an accurate recommendation. For each record, DHT contains: DSC, RMC, TC and route attributes. Table 1 shows an example of the DHT. Table 1. Example of DHT Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. Table 1. Example of DHT Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. Driver social context Real-time mood-fatigue context Route attribute Time context Country, age, occupation, gender Happy, neutral, patient, aggressive, sad, angry, fatigue Dis, con, tra, ped, sce Timestamp [China, 20, student, male] [0.2, 0.1, 0.2, 0, 0, 0, 0.4] [3.5, 0.3, 0.7, 0.5, 0.1] 17:02:47 [China, 32, teacher, female] [0.6, 0.2, 0.5, 0, 0, 0, 0.1] [2.7, 0.3, 0.7, 0.5, 0.6] 07:56:28 [China, 22, student, male] [0.1, 0.5, 0.2, 0.4, 0, 0, 0.8] [18, 0.1, 0.2, 0.1, 0.7] 09:12:45 … … … .. 3.3.2. Route recommendation Models are defined to process and represent the driver information and the route attributes in previous sections of this article. Once SAR server is asked to recommend a route, information mentioned above is integrated to serve the recommendation system. The recommendation system first calculates a predicted route attribute. Then one of routes in the candidate routes which has the closest attribute is selected and return to the SAR application on driver’s smartphone. The predicted route attribute Rp for Driver X are obtained using the following Rp=(Disp,Trap,Pedp,Conp,Scep) (6) Disp=∑Disi×Sim(Di,Dx)Trap=∑Trai×Sim(Di,Dx)Pedp=∑Pedi×Sim(Di,Dx)Conp=∑Coni×Sim(Di,Dx)Scep=∑Scei×Sim(Di,Dx). (7) Then the closest route in the candidate route set is chosen with the distance computing method Dis(Rp,Ru)=∑i=15((Rpi−Rui)×(Rpi−Rui)), (8) which is recommended to the driver. 3.3.3. Satisfaction calculation Furthermore, as mentioned above, SAR application on smartphones can detect driver’s real-time mood-fatigue degree and upload such data to SAR cloud when the driver arrives his destination. SAR server then process uploaded mood-fatigue data, calculate the satisfaction score and then update the driver’s preferable route attribute under his situation. Algorithm 2 is adopted to satisfaction calculation and route attribute update. The accuracy of the recommendation system can be improved with the route attributes that the driver really drives along, and the mood-fatigue information. Algorithm 2 Satisfaction Calculation and Historic Route Attributes Update. Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp Algorithm 2 Satisfaction Calculation and Historic Route Attributes Update. Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp Input: mood-fatigue degree record M during the journey, predicted route attributes for the driver Rp, and chosen route attributes Ra for the driver Output: satisfaction score, and update driver’s preferable route attributes Rp in Driving History Table 1: Definition:Whappy = +2,Wneutral = +1,Wpatient =+1,Wsad =−1,Waggressive =−1,Wangry = −2,Wfatigue = −1 2: Initiate satisfaction score Ans = 0 3: for each record Mi in the uploaded Mood-fatigue data Mdo 4:  Ans = Ans + Mi.happy × Whappy 5:  Ans = Ans + Mi.neutral × Wneutral 6:  Ans = Ans + Mi.patient × Wpatient 7:  Ans = Ans + Mi.sad × Wsad 8:  Ans = Ans + Mi.aggressive × Waggressive 9:  Ans = Ans + Mi.angry × Wangry 10:  Ans = Ans + Mi.fatigue × Wfatigue 11: NormalizeAns with the size of Mood-fatigue data n: Ans = Ans/n 12: Rp.dis = Rp.dis + Ans × Ra.dis 13: Rp.tra = Rp.tra + Ans × Ra.tra 14: Rp.ped = Rp.ped + Ans × Ra.ped 15: Rp.conv = Rp.conv + Ans × Ra.conv 16: Rp.sce = Rp.sce + Ans × Ra.sce 17: Update Driver History Table with Rp 4. EVALUATION In this section, we evaluate SAR in two aspects: (i) the unique functionality of SAR; (ii) the overhead of SAR. 4.1. Functionality of SAR Some user interfaces are shown in Figure 3. When SAR starts for the first time, drivers are required to input their social information (i.e. nationality, gender, age, occupation) in the Setting page as illustrated in Figure 3c. After the destination is set by touching the map, and the START button is pressed in Figure 3a, SAR application calculates the Candidate Route Set from a start point (i.e. the current position) to the destination. Context Model is also created and sent to the server requesting for preferable route attributes. When SAR app receives preferable route attributes returned from SAR server, the closest route will be chosen from the Candidate Route Set and marked in blue in the map, as shown in Figure 3b. Figure 3. View largeDownload slide User interfaces in SAR. (a) Ready page, (b) Navigation page and (c) Social information setting page. Figure 3. View largeDownload slide User interfaces in SAR. (a) Ready page, (b) Navigation page and (c) Social information setting page. Following methods used by previous research in the analysis of driving behavior [38], we adopt a driving simulator to evaluate the effectiveness of our SAR system in the current stage. City Car Driving, a realistic car driving simulator used to prepare users for driving tests and road rules training and improve their driving skills, is chosen for its good reputation in the simulation of real world road environment [39]. Initial experiments have been carried out in a scenario with four alternative routes between two positions. We recruited five volunteers with driving licences, two males and three females. Each subject was required to finish three tests with the same starting point and the same destination: (i) driving on the route recommended by SAR; (ii) choosing her or his favorite route to drive; and (iii) driving on a randomly assigned route. This was a within subject experiment. To avoid the impact from a previous test, there was a 10-minute interval between every two tests. Furthermore, to diminish the influence from differences in the route familiarity, the sequence of the three tests for each driver was randomized. The experience is the least enjoyable among 80% of the subjects when driving on a randomly assigned route. About 60% of the subjects reported the most enjoyable experience when driving on their favorite route and 40% gave it to the automatically recommended route. The difference between male and female subjects is not significant. We can also predict an improvement of drivers’ mood by approximately 10%-20%, which can be calculated from Satisfaction values described in Algorithm 2 (i.e. the growth rate of Satisfaction values). More subjects are aoing to be involved in the experiments, and better result can be expected. 4.2. Overhead of SAR We evaluated SAR running on popular smartphone Mi5 with Android 7.0 in four aspects: (i) CPU usage; (ii) RAM usage; (iii) Network usage; and (iv) Battery usage. Following data were recorded with a Mi5 device, indoor and with Wi-Fi connection. The duration of the test was 60 minutes. CPU Usage. Figure 4 shows the CPU usage during the running of SAR mobile application. At CRG stage, the CPU usage of SAR is around 21% on Mi5, because of the complex heuristic algorithm. After the navigation starts, most of the CPU resources are used by Mood-fatigue Detector, since it has to process images captured by the front camera of Mi5, to detect drivers’ mood and fatigue degree. At the last of the test session, Mood-fatigue Detector is stopped so we can see the low values at the right of the figure. Figure 4. View largeDownload slide CPU usage of SAR. Figure 4. View largeDownload slide CPU usage of SAR. RAM Usage. As can be seen Figure 5, CRG uses 80.55 MB RAM, which is also the peak of the whole running period of SAR application. After CRG, Mood-fatigue Detector is the main consumer of RAM, because of the big frame captured by the 4MP front camera of Mi5. Although the result of the RAM usage may be a little higher than the real use because of the Garage Collection strategy of JVM, the 80-MB RAM usage is not a problem since smartphones now are usually equipped with 2 GB or even more RAM. Figure 5. View largeDownload slide Ram usage of SAR. Figure 5. View largeDownload slide Ram usage of SAR. Network usage. The network requirement for SAR application is very low. There are only two transactions happened during the whole process. The first one happens when drivers press the START button. SAR uploads Context Model onto the cloud, and SAR server returns the predicted route attributes. The second one is when then journey finishes, SAR application will upload the Mood-fatigue degree onto the SAR cloud for satisfaction calculation, so we can find high values at the right side of the figure. As shown in Figure 6, the usage of network data is less than 10 KB throughout the running of SAR application (Figure 7). Figure 6. View largeDownload slide Network usage of SAR. Figure 6. View largeDownload slide Network usage of SAR. Figure 7. View largeDownload slide Battery usage of SAR. Figure 7. View largeDownload slide Battery usage of SAR. Battery usage. The Mood-fatigue Detector plays an important role in battery consumption. Both the continuous use of front camera and the heavy burden of image processing need a lot of energy. Considering that smartphones usually can get charged onboard vehicles, the battery energy is not a serious concern. 5. DISCUSSION In the current stage of SAR, we introduce the context model which combines users’ social information and real-time mood-fatigue status, and design the Social Aware Recommendation System which can recommend preferable routes for drivers via a novel crowd-sensing method. There are still some challenges. For example, the entire map of the real world is so enormous that it would be hard to store it on a smartphone. Usually, it is stored on the cloud platform and a mobile application downloads one part of the map as needed. With the increasing of the map size, CRG implemented now in SAR may be not efficient enough. But as mentioned in Section 2, much research work has been done, which can be helpful on candidate route set generation. Privacy preservation is always a great concern, especially to privacy sensitive applications like SAR, which involves lots of sensitive information such as users’ social information, location, daily schedule and etc. Users are not willing to use systems with weak privacy-preserving mechanisms. Thus, privacy preservation is also of great interest in research community. Many different methods have been proposed to design privacy preserving systems. For example, Ahmadi et al. propose a method, which provides privacy preservation by data transformation (e.g. adding noise on a trusted server [40]). Idalides J. Vergara-Laurens et al. [41] present privacy-preserving mechanisms in crowdsensing systems. SAR in the current stage is not implemented with such privacy preserving mechanisms, however, they can be easily integrated into SAR when needed. Another possibility of social aware information leakage is that the communication channel is not safe, thus the system is vulnerable to man-in-the-middle attacks. Transportation Layer Security with a certificated authority can be implemented in SAR to protect social information. Considering that the size of data needed to transfer is pretty small, it will not affect the performance of the system. In the future work, more experiments will be conducted to verify the efficiency and effectiveness of SAR in real world scenarios. 6. CONCLUSIONS In this paper, we proposed a smartphone-based novel social aware recommendation system orchestrated with the Context Model, which considered not only drivers’ social information but also drivers’ mood and fatigue records, as well as the time context. SAR leverages improving sensing and computing capacities of smartphones to combine multiple sources of sensing data with drivers’ real-time mood-fatigue degrees, and adopts cloud platform to collaborate with other drivers to make the recommendation system more accurate. This recommendation system makes it possible for numerous drivers with their smartphones, to collaboratively recommend proper routes to drivers. To the best of our knowledge, SAR is the first smartphone-based social aware recommendation system for personalized routes to drivers [42]. FUNDING This work was partially supported by the Shenzhen-Hong Kong Innovative Project under grant (SGLH20161212140718841); the Guangdong Technology Project (2017B010110007, 2016B010108010 and 2016B010125003); Technology and Information (JSGG20170413171746130, JCYJ20170413152535587, JSGG20160331185256983 and JSGG20160229115709109). REFERENCES 1 Jiang , S. , Qian , X. , Mei , T. and Fu , Y. ( 2016 ) Personalized travel sequence recommendation on multi-source big social media . IEEE Trans. Big Data , 2 ( 1 ), 43 – 56 . Google Scholar CrossRef Search ADS 2 Hu , G. , Shao , J. , Shen , F. , Huang , Z. and Shen , H.T. ( 2017 ) Unifying multi-source social media data for personalized travel route planning. Proc. 40th Int. ACM SIGIR Conf. Research and Development in Information Retrieval, Tokyo, Japan, 07-11 August, pages 893–896. ACM, New York, NY, USA. 3 Zheng , Y. , Xie , X. and Ma , W.-Y. ( 2010 ) Geolife: A collaborative social networking service among user, location and trajectory . IEEE Data Eng. Bull. , 33 ( 2 ), 32 – 39 . 4 Shahabi , C. , Kolahdouzan , M.R. and Sharifzadeh , M. ( 2003 ) A road network embedding technique for k-nearest neighbor search in moving object databases . GeoInformatica , 7 ( 3 ), 255 – 273 . Google Scholar CrossRef Search ADS 5 Chen , Z. , Shen , H.T. , Zhou , X. and Yu , J.X. ( 2009 ) Monitoring path nearest neighbor in road networks. Proc. 2009 ACM SIGMOD Int. Conf. Management of data, Providence, Rhode Island, USA, June 29–July 02, pages 591–602. ACM, New York, NY, USA. 6 Cho , H.-J. and Chung , C.-W. ( 2005 ) An efficient and scalable approach to cnn queries in a road network. Proc. 31st Int. Conf. Very large data bases,Trondheim, Norway, August 30–September 02, pages 865–876. VLDB Endowment, USA. 7 Kolahdouzan , M. and Shahabi , C. ( 2004 ) Voronoi-based k nearest neighbor search for spatial network databases. Proc. 30th Int. Conf. Very large data bases-Volume 30, Toronto, Canada, pages 840–851. VLDB Endowment, USA. 8 Papadias , D. , Zhang , J. , Mamoulis , N. and Tao , Y. ( 2003 ) Query processing in spatial network databases. Proc. 29th Int. Conf. Very large data bases-Volume 29, pages 802–813. Berlin, Germany. VLDB Endowment, USA. 9 Samet , H. ( 2006 ) Foundations of multidimensional and metric data structures . Morgan Kaufmann , USA . 10 Bast , H. , Funke , S. , Matijevic , D. , Sanders , P. and Schultes , D. ( 2007 ) In transit to constant time shortest-path queries in road networks. Proc. Meeting on Algorithm Engineering & Expermiments, New Orleans, Louisiana, January 06–06, pages 46–59. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA. 11 Dijkstra , E.W. ( 1959 ) A note on two problems in connexion with graphs . Numerische mathematik , 1 ( 1 ), 269 – 271 . Google Scholar CrossRef Search ADS 12 Goldberg , A.V. and Werneck , R.F.F. ( 2005 ) Computing point-to-point shortest paths from external memory. ALENEX/ANALCO, Vancouver, British Columbia, Canada, January 22, pages 26–40. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA. 13 Guerra-Filho , G. and Samet , H. ( 2013 ) A hybrid shortest path algorithm for intra-regional queries on hierarchical networks. Advances in Spatial Data Handling, pages 45–59. Springer, Berlin, Germany. 14 Chabini , I. and Lan , S. ( 2002 ) Adaptations of the a* algorithm for the computation of fastest paths in deterministic discrete-time dynamic networks . IEEE Trans. Intell. Transport. Syst. , 3 ( 1 ), 60 – 74 . Google Scholar CrossRef Search ADS 15 Wagner , D. and Willhalm , T. ( 2003 ) Geometric speed-up techniques for finding shortest paths in large sparse graphs. Algorithms—ESA 2003: 11th Annual European Symposium, Budapest, Hungary, September 16–19, pages 776–787. Springer Berlin Heidelberg, Berlin, Heidelberg. 16 Zhu , J. , Jiang , W. , Liu , A. , Liu , G. and Zhao , L. ( 2017 ) Effective and efficient trajectory outlier detection based on time-dependent popular route . World Wide Web , 20 ( 1 ), 111 – 134 . Google Scholar CrossRef Search ADS 17 Liu , H. , Mei , T. , Luo , J. , Houqiang , L. and Li , S. ( 2012 ) Finding perfect rendezvous on the go: accurate mobile visual localization and its applications to routing. Proc. 20th ACM Int. Conf. Multimedia, Nara, Japan, October 29–November 02, pages 9–18. ACM, New York, NY, USA. 18 Li , J. , Qian , X. , Tang , Y.Y. , Yang , L. and Mei , T. ( 2013 ) Gps estimation for places of interest from social users’ uploaded photos . IEEE Trans. Multimedia , 15 ( 8 ), 2058 – 2071 . Google Scholar CrossRef Search ADS 19 Yu , Z. , Xu , H. , Yang , Z. and Guo , B. ( 2016 ) Personalized travel package with multi-point-of-interest recommendation based on crowdsourced user footprints . IEEE Trans. Human-Machine Syst. , 46 ( 1 ), 151 – 158 . Google Scholar CrossRef Search ADS 20 Zhang , C. , Liang , H. , Wang , K. and Sun , J. ( 2015 ) Personalized trip recommendation with poi availability and uncertain traveling time. Proc. 24th ACM Int. Conf. Information and Knowledge Management, Melbourne, Australia, October 18–23, pages 911–920. ACM, New York, NY, USA. 21 Chen , X. , Zhang , Y. , Ma , P. , Li , C. and Xing , C. ( 2015 ) A package generation and recommendation framework based on travelogues. Computer Software and Applications Conference (COMPSAC), 2015 IEEE 39th Annual, Taichung, Taiwan, 1-5 July, volume 2, pages 692–701. IEEE, Piscataway, New Jersey, US. 22 Jiang , S. , Qian , X. , Shen , J. , Fu , Y. and Mei , T. ( 2015 ) Author topic model-based collaborative filtering for personalized poi recommendations . IEEE Trans. Multimedia , 17 ( 6 ), 907 – 918 . 23 Chen , Y.-Y. , Cheng , A.-J. and Hsu , W.H. ( 2013 ) Travel recommendation by mining people attributes and travel group types from community-contributed photos . IEEE Trans. Multimedia , 15 ( 6 ), 1283 – 1295 . Google Scholar CrossRef Search ADS 24 Yin , H. , Wang , C. , Yu , N. and Zhang , L. ( 2012 ) Trip mining and recommendation from geo-tagged photos. Multimedia and Expo Workshops (ICMEW), 2012 IEEE Int. Conf., Melbourne, VIC, Australia, 9–13 July, pages 540–545. IEEE, Piscataway, New Jersey, US. 25 Gao , Y. , Tang , J. , Hong , R. , Dai , Q. , Chua , T.-S. and Jain , R. ( 2010 ) W2go: a travel guidance system by automatic landmark ranking. Proc. 18th ACM Int. Conf. Multimedia, Firenze, Italy, October 25–29, pages 123–132. ACM, New York, NY, USA. 26 Hu , X. , Chu , T.H.S. , Chan , H.C.B. and Leung , V.C.M. ( 2013 ) Vita: A crowdsensing-oriented mobile cyber-physical system . IEEE Trans. Emerg. Top. Comput. , 1 ( 1 ), 148 – 165 . Google Scholar CrossRef Search ADS 27 Hu , X. , Leung , V. , Li , K.G. , Kong , E. , Zhang , H. , Surendrakumar , N.S. and TalebiFard , P. ( 2013 ) Social drive: a crowdsourcing-based vehicular social networking system for green transportation. Proc. 3rd ACM Int. Symp. Design and analysis of intelligent vehicular networks and applications, Barcelona, Spain, November 3–8, pages 85–92. ACM, New York, NY, USA. 28 Hu , X. , Chu , T.H.S. , Leung , V.C.M. , Ngai , E.C.-H. , Kruchten , P. and Chan , H.C.B. ( 2015 ) A survey on mobile social networks: Applications, platforms, system architectures, and future research directions . IEEE Commun. Surveys Tut. , 17 ( 3 ), 1557 – 1581 . 2015. Google Scholar CrossRef Search ADS 29 Zhang , J. , Hu , X. , Ning , Z. , Ngai , E. , Zhou , L. , Wei , J. , Cheng , J. and Hu , B. ( 2017 ) Energy-latency trade-off for energy-aware offloading in mobile edge computing networks . IEEE Internet Things J. , PP ( 99 ), 1 – 1 . 30 Nehls , K. ( 2015 ) Crowdsourcing . Taylor & Francis , USA . 31 Hu , X. , Li , X. , Ngai , E. , Leung , V. and Kruchten , P. ( 2014 ) Multidimensional context-aware social network architecture for mobile crowdsensing . IEEE Commun. Mag. , 52 ( 6 ), 78 – 87 . Google Scholar CrossRef Search ADS 32 Ning , Z. , Xia , F. , Ullah , N. , Kong , X. and Hu , X. ( 2017 ) Vehicular social networks: enabling smart mobility . IEEE Communi. Mag. , 55 ( 5 ), 49 – 55 . 33 Ning , Z. , Hu , X. , Chen , Z. , Zhou , M. , Hu , B. , Cheng , J. and Obaidat , M. ( 2017 ) A cooperative quality aware service access system for social internet of vehicles . IEEE Internet Things J. , PP ( 99 ), 1 – 1 . Google Scholar CrossRef Search ADS 34 Hu , X. , Deng , J. , Zhao , J. , Hu , W. , Ngai , E.C.-H. , Wang , R. , Shen , J. , Liang , M. , Li , X. and Leung , V. ( 2015 ) Safedj: A crowd-cloud codesign approach to situation-aware music delivery for dr ivers . ACM Trans. Multimedia Comput. Commun. Appl. , 12 , 21 . Google Scholar CrossRef Search ADS 35 Hu , X. , Cheng , J. , Zhou , M. , Hu , B. , Jiang , X. , Guo , Y. , Bai , K. and Wang , F. ( 2018 ) Emotion-Aware cognitive system in multi-channel cognitive radio ad hoc networks . IEEE Commun. Mag. , 56 ( 4 ), 180 – 187 . Google Scholar CrossRef Search ADS 36 Amini , S. , Gerostathopoulos , I. and Prehofer , C. ( 2017 ) Big data analytics architecture for real-time traffic control. 2017 5th IEEE Int. Conf. Models and Technologies for Intelligent Transportation Systems (MT-ITS), Naples, Italy, 26–28 June, pages 710–715. IEEE, Piscataway, New Jersey, US. 37 Pedersen , T. , Patwardhan , S. and Michelizzi , J. ( 2004 ) Wordnet::similarity: Measuring the relatedness of concepts. Demonstration Papers at HLT-NAACL 2004, Boston, Massachusetts, May 2–7, pages 38–41, Association for Computational Linguistics, Stroudsburg, PA, USA. 38 van der Zwaag , M.D. , Dijksterhuis , C. , de Waard , D. , Mulder , B.L.J.M. , Westerink , J.H.D.M. and Brookhuis , K.A. ( 2012 ) The influence of music on mood and performance while driving . Ergonomics , 55 ( 1 ), 12 – 22 . Google Scholar CrossRef Search ADS PubMed 39 Forward Development . ( 2017 ) City car driving. http://citycardriving.com/. 40 Ahmadi , H. , Pham , N. , Ganti , R. , Abdelzaher , T. , Nath , S. and Han , J. ( 2010 ) Privacy-aware regression modeling of participatory sensing data. Proc. 8th ACM Conf. Embedded Networked Sensor Systems, Zürich, Switzerland, November 3–5, pages 99–112. ACM, New York, NY, USA. 41 Vergara-Laurens , I.J. , Jaimes , L.G. and Labrador , M.A. ( 2017 ) Privacy-preserving mechanisms for crowdsensing: Survey and research challenges . IEEE Internet Things J. , 4 ( 4 ), 855 – 869 . Google Scholar CrossRef Search ADS 42 Salehinejad , H. , Nezamabadi-pour , H. , Saryazdi , S. and Farrahi-Moghaddam , F. ( 2015 ) Combined a*-ants algorithm: a new multi-parameter vehicle navigation scheme. CoRR, abs/1504.07329. Author notes Handling editor: Zhaolong Ning © The British Computer Society 2018. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com This article is published and distributed under the terms of the Oxford University Press, Standard Journals Publication Model (https://academic.oup.com/journals/pages/about_us/legal/notices)

Journal

The Computer JournalOxford University Press

Published: Apr 26, 2018

There are no references for this article.

You’re reading a free preview. Subscribe to read the entire article.


DeepDyve is your
personal research library

It’s your single place to instantly
discover and read the research
that matters to you.

Enjoy affordable access to
over 18 million articles from more than
15,000 peer-reviewed journals.

All for just $49/month

Explore the DeepDyve Library

Search

Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly

Organize

Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place.

Access

Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals.

Your journals are on DeepDyve

Read from thousands of the leading scholarly journals from SpringerNature, Elsevier, Wiley-Blackwell, Oxford University Press and more.

All the latest content is available, no embargo periods.

See the journals in your area

DeepDyve

Freelancer

DeepDyve

Pro

Price

FREE

$49/month
$360/year

Save searches from
Google Scholar,
PubMed

Create lists to
organize your research

Export lists, citations

Read DeepDyve articles

Abstract access only

Unlimited access to over
18 million full-text articles

Print

20 pages / month

PDF Discount

20% off