1. A non-transitory computer readable medium including code that when executed by a computer system performs a method of selecting most relevant terms from service description documents, the method comprising: receiving a set of service description documents; determining a term-by-document matrix X using terms extracted from documents in the set of service description documents, wherein the matrix X includes a first dimension listing each of the documents, a second dimension listing the extracted terms, and a third dimension listing values indicating a frequency of each of the extracted terms occurred in each of the documents; decomposing the matrix X using singular value decomposition (SVD) into three matrices T, S, and D t , wherein S is a diagonal matrix of singular values ordered in descending order, and T and D t are matrices of eigen vectors; selecting k singular values from S, where k is an integer greater than or equal to 1; determining rankings of the terms in the matrix X using the k singular values; and selecting a set of terms from the matrix X based on the rankings.