Classes of kernels which operate on discrete structures have been proposed relatively recently which allow the successful family of kernel-based algorithms to work directly on strings, trees, and other objects without the need to first convert them into an explicit vector representation first. It has been shown that there is a probablistic interpretation of the string kernel, which strongly relates string kernels and fisher kernels. This has lead to a kernel over a finite state automata which deals with variable-length substrings. This project intends to extend the work in this area by examining the area of kernels from generative models, with applications to text-categorisation, bioinformatics tasks and image classification. The project will also consider clustering algorithms using domain-specific kernels.