Article Preview
Top1. Introduction
With the development of popular technologies such as cloud computing, pervasive computing, and the Internet of Things, not only major computing resources but also businesses, applications, and data are involved in web services (usually web APIs), and it will create an all-time increase in services on the Internet (Al-Mari et al.,2008). Thus, as service technologies mature, it will be widely used in all fields; therefore, they will spawn related commercial opportunities (Yu et al., 2010). The focus of service computing will be on targeting a market and providing user-centered composed service applications, which makes it a key problem to mine user demands and provide accurate recommendations.
User demands in service computing areas appear to be dynamic, complex, and often unconsciously influenced. First, a user’s interest, influenced by both internal and external factors, may change over time. For example, long-term interests may change gradually over time, whereas short-term interests can be shifted by surprising recommendations or can vary under the influence of other users. Second, user demands tend to be uncertain and often unconsciously influenced, owing to the users’ lack of expertise and the complex nature of service composition. For instance, in some fields such as telemedicine and research cooperation, “service composition and its procedure cannot be thoroughly defined beforehand, and need instant plan and adjustment according to the results, effects and environments during the implementation” (Wang et al., 2014). In such cases, an exploratory service composition mode is applied to clarify vague user demands. Finally, demands from different users can be complicated and diverse, ranging from abstract to concrete and from general to detailed. For example, in terms of travel, some users may provide specific requirements such as “ticket booking, hotel reservation, car hiring, and tourism,” whereas others may present a general one like “travel”.
Figure 1. An example of user’s changing demands
The example in Figure 1 explains dynamic user demand. Assume that User1 has a demand for outdoor travel services, and User2 prefers photography and video services. The service system recommends a service such as Facebook which includes outdoor travel, photography, video, and search functions to both User1 and User2, as shown in Figure 1a. So, the two users having different preferences are recommended the same service. So, if we can identify the users’ implicit demands, we will have a more comprehensive and deeper understanding of the meaning of their demands. In addition, user demand is influenced by the external environment and changes constantly, as shown in Figure 1b. For example, User1 originally had a demand for outdoor travel services. While after using the Facebook, he may be interested in photo and video services also. Similarly, User2 originally preferred photography and video services, but after using the Facebook, he is now interested in search services also. Obviously, if the recommendation system cannot effectively incorporate these dynamic features of user demands, and just makes recommendation according to the original demand, it will suffer from an overfitting problem.
On the other hand, in practical applications, the recommendation system’s initial data are usually sparse, which often results in a cold-start problem. For example, User1 may only use the Facebook. If the Facebook had been used by very few or no users at that time, traditional collaborative filtering (CF) algorithms would find it difficult to find users similar to User1 or services similar to Facebook. However, if the recommendation system identified that the Facebook combines outdoor travel, photography, video, and search functions in one, It would recommend not only other outdoor tourism services for User1, but also consider implicit demands and recommend some photography or video services (such as Flickr and AOL Video), and some search services (such as Baidu, Google Search, and Trulia). This would alleviate the cold-start problem to some extent.