“…We assume a query Q to be characterized by a set of keywords, i.e., Q = {k Q i } i=1,...,m . Similarly, the context is given by a user profile U = {k U i } i=1,...,n ; in this case, the keywords k U i can be determined using text analysis techniques, such as the ones described in [22], operating on the environment, user, and history data of the profile. Also, we consider a pool of available services S; each service S 2 S is defined as S = {k S i } i=1,...,l a set of keywords k S i derived from the service description that characterize the service itself.…”