Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

In the new trend of ubiquitous computing, Crowd Sensing (CS) has been proposed to efficiently collect information in the multiple-source and heterogeneous environment. Based on massive information, including users’ behavior characteristics, context information and activities law, the user behavior model and the relationship between service attributes could be obtained.

However, there are still some problems needed to be solved in the crowd sensing scenario. To start with, present crowdsourcing models do not particularly classifying the service requests [1]. Furthermore, the internal relationship between service preference of customers and historical data has not been fully considered in the existing service recommending model [2]. Thus, finding an applicable model to utilize the historical data is an effective way to promote success rate of service assignment.

To solve the problems mentioned above, a fine-grained crowdsourcing model has been proposed in this paper to realize sensing task assignment, which could recommend a set of appropriate service providers to the requesters. The whole system model is showed in the Fig. 1. The key contributions of this paper are listed as following.

Fig. 1.
figure 1

Structure of service crowdsourcing model and whole process of recommending.

  • In order to realize the reasonable distribution of sensing tasks, ontology theory is used in this paper to describe various attributes of users. Based on the ontology method, all service providers and requesters could be accurately differentiate.

  • According to the fine granularity description of sensing requests, recommendation index of each service provider is calculated through similarity analysis.

  • In addition, as a method to obtain approximate discrete valued target function, decision tree is also referred in the crowdsourcing model to predict potential attribute with the information entropy principle.

2 Characteristic Ontology Triple

The characteristic data should be defined in a unified form which could accurately describe the user behavior. Ontology, a concept data structure, could effectively show the user characteristic through concept sets and concept relationship set. In order to meticulously classify all service providers and customers, the characteristic is supposed to be defined as ontology triple \( < {\text{CP}}, {\text{EP}}, {\text{QoS}} > \). The components in each type of property are listed as following.

Common Property.

For a service provider or a customer, common property contains user ID, user name and additional information. Therefore, the common property is defined as a set,

$$ {\text{CP}} = \{ {\text{ID}}, {\text{Name}}, {\text{Additional Information}}\} $$

Particularly, all the elements of CP are text attributes, even though ID is the serial number of a service provider or a customer.

Exclusive Property

The exclusive property contains the location, availability and the service type. The Exclusive Property is defined as following set,

$$ {\text{EP}} = \{ {\text{Location}}, {\text{Availability}}, {\text{Type}}\} $$

The element Location ∊ EP is the GPS location of the service provider or the customer. The element Availability ∊ EP describes whether the user could participate in the service. The type service providers specializing in or customers requesting for is selected from the type catalogue set which is determined subjectively in relation to the application scenarios.

QoS Property

Although the exclusive properties will affect the decision of users, the Quality of Service properties are the determinant in service selection. The QoS property is defined as following set,

$$ {\text{QoS}} = \{ {\text{Vaulation}}, {\text{Success Rate}}\} $$

Both of Valuation ∊ QoS and \( {\text{Success Rate}} \in {\text{QoS}} \) are N × M matrixs, where N is the number of service providers and M is the number of customers. Every element in the Valuation matrix is valued in the range of [0, 10].

3 Recommendation Method

3.1 Recommendation Index

The recommendation index shows selection priority of a service provider. The higher recommendation index of a service provider, the more likely the user will enjoy the service.

Definition 1 (User Behavior Similarity)

In the service selection method, the user behavior similarity between two users is calculated by valuation offered in the past service. The user behavior similarity between two users U i and U j could be calculated through following equation,

$$ {Sim_{user} \left( {U_{i} ,U_{j} } \right) = \frac{{\sum\nolimits_{{SP_{k} \epsilon OS\left( {U_{i} ,U_{j} } \right)}} {\left( {Val\left( {i,k} \right) - \overline{{Val_{i} }} } \right)\left( {Val\left( {j,k} \right) - \overline{{Val_{j} }} } \right)} }}{{\sqrt {\mathop \sum \nolimits_{{SP_{k} \epsilon OS\left( {U_{i} ,U_{j} } \right)}} \left( {Val\left( {i,k} \right)\bar{ - }\overline{{Val_{i} }} } \right)^{2} \cdot \mathop \sum \nolimits_{{SP_{k} \epsilon OS\left({U_{i} ,U_{j} } \right)}} \left({Val\left({j,k} \right) - \overline{{Val_{j}}}} \right)^{2}}}}} $$
(1)

Where OS(U i U j ) consists of the service providers which have both served users U i and U j , Val(ik) ∊ [0, 10] is the valuation that user U i values on the service provider SP k .

Except for User Behavior Similarity, the types of service the service providers specialize in will also impact the validity of the valuation. Concept Hierarchy Tree [3] is proposed to processing the service types.

According to the definition of the information content in the information theory [4], the present information content of service type Typex will be calculated through the method proposed by the Resnik, and the calculate method is mentioned as following,

$$ IC(Type_{x} ) = - \log p\left( {Type_{x} } \right) $$
(2)

Definition 2 (Type Similarity)

After obtaining the information content of each type, the type similarity Sim sp (Type i Type j ) between Type i and Type j will use the following formula to calculate,

$$ {Sim_{sp} \left( {Type_{i} ,Type_{j} } \right) = \frac{{IC\left( {A\left( {Type_{i} ,Type_{j} } \right)} \right)}}{{IC\left( {Type_{i} } \right) + IC\left( {Type_{j} } \right)}} + \frac{{d\left( {A\left( {Type_{i} ,Type_{j} } \right)} \right)}}{{2\left( {d\left( {Type_{i} } \right) + d\left( {Type_{j} } \right) - d\left( {A\left( {Type_{i} ,Type_{j} } \right)} \right)} \right)}}} $$
(3)

Where A(Type i Type j ) is the nearest common ancestor concept of Type i and Type j .\( d\left( {Type_{i} } \right) \),\( d\left( {Type_{j} } \right) \) and d(A(Type i Type j )) are the depth of the \( Type_{i} \), \( Type_{j} \) and the nearest common ancestor concept of Type i and Type j .

Recommendation Index

Using user behavior similarity and type similarity, the recommendation index of service provider SP j to user U i is calculated as following,

$$ RI\left( {U_{i} ,SP_{j} ,Type_{k} } \right) = Sim_{sp} \left( {Type\left( {SP_{j} } \right),Type_{k} } \right)\mathop \sum \limits_{x = 1}^{n} (Sim_{user} \left( {U_{i} ,U_{x} } \right) \times Val\left( {i,j} \right)) $$
(4)

Where Type(SP j ) is the Type property concluded in the exclusive property of SP j , Type k is the service type which user requires, and n is the number of the users.

3.2 Service Decision Tree

Decision tree is an appropriate prediction model used in the process of selecting service provider. The attributes considered in the service decision tree conclude following data: Availability, Distance, Type and Success Rate.

After building the basis of the service decision tree by using the Ontology Triple, the rest of the service decision tree will be built through recursive process described as following step:

Step 1. Acquiring the data of node N x which is going to build the its subtree, then defining the sample set remained as S x , the attributes remained in the attribute list as AttList x

Step 2. Check whether the attributes Valuation of samples in set S x are the same. If the valuation attributes of samples in S x are the same, this node should be marked as the leaves of the service decision tree. Conversely, if not all the valuation of samples is identical, turn to step 3.

Step 3. Check the attribute list. If the attribute list is empty, marking the major valuation attributes of the samples in S x as the leaves of the service decision tree. Conversely, if the attribute list is not empty, turn to step 4.

Step 4. Find the most appropriate attribute Attribute x  ∊ AttList x as the decision factor and divide the sample into different child nodes of N x and remove Attribute x from AttList x .

Step 5. Recur Step 1 with the child node N * x (S * x , AttList * x ), S * x and AttList * x are the sample set and attribute list in the node N * x .

4 Experiment

In the experiment, we have tested the fine-grained crowdsourcing model through data set collected from www.dianping.com. The data collects from 5000 customers and 100 service providers.

To show the recommendation process choosing the suitable service provider and improving the expect evaluation. In this experiment, Random Service Selection (RSS) and Convergent Population Diversity Handling Genetic Algorithm (CoDiGA) [5] are chosen to compare with Fine-grained Crowdsourcing Model (FCM). The experiment result shows in the Fig. 2.

Fig. 2.
figure 2

Customers’ average evaluation on recommended service providers after using RSS, CoDiGA and FCM in different sets of customers.

The recommendation effect of service decision tree should also be compared with recommendation index in the experiment. Hence, we choosing different numbers of service providers which have the highest prediction value gained from decision tree as the recommended service providers, in the meantime, choosing the same amount of service providers owns the highest recommendation index and choosing the same amount of service providers received the highest average valuation. The experiment result shows in the Fig. 3.

Fig. 3.
figure 3

The average scores valued by customers after accepting different number of recommended service providers through different recommendation methods.

In the fine-grained crowdsourcing model, different coefficient could lead to different results. The number of the customers, the number of the service providers and the number of clusters the server preparing to divide will impact the effectiveness of model. In order to affirm this model could be efficient in various environments. The experiment applies the fine-grained crowdsourcing model in different scales of customers and service providers, and gains the average valuation that customers score on the recommended service providers. The relationship between the scale of data and the average evaluation is showed in the Figs. 4 and 5.

Fig. 4.
figure 4

The effect of model on different data scales (M = 2)

Fig. 5.
figure 5

The effect of model on different data scales (M = 5)

5 Conclusion

Taking the advantage of ontology theory and decision tree in the service recommendation could highly increase the customer satisfaction. The fine-grained crowdsourcing model discussed in this paper offering a good way to choose appropriate service providers.

In addition, we can find that if user needs a large amount of service provider, the service decision tree performs better, and if only a few service providers are needed, according to the recommendation index is a better choice. Both using service decision tree and recommendation index in the service recommendation could bring a perfect result to user.