Several computational methods based on stochastic context-free grammars have been developed for modeling and analyzing functional RNA sequences. These grammatical methods have succeeded in modeling typical secondary structures of RNA and are used for structural alignment of RNA sequences. However, such stochastic models cannot sufficiently discriminate member sequences of an RNA family from non-members and hence detect non-coding RNA regions from genome sequences. A novel kernel function, stem kernel, for the discrimination and detection of functional RNA sequences using support vector machines (SVM) is proposed. The stem kernel is a natural extension of the string kernel, specifically the all-subsequences kernel, and is tailored to measure the similarity of two RNA sequences from the viewpoint of secondary structures. The stem kernel examines all possible common base-pairs and stem structures of arbitrary lengths, including pseudoknots between two RNA sequences and calculates the inner product of common stem structure counts. An efficient algorithm was developed to calculate the stem kernels based on dynamic programming. The stem kernels are then applied to discriminate members of an RNA family from non-members using SVM. The study indicates that the discrimination ability of the stem kernel is strong compared with conventional methods. Further, the potential application of the stem kernel is demonstrated by the detection of remotely homologous RNA families in terms of secondary structures. This is because the string kernel is proven to work for the remote homology detection of protein sequences. These experimental results have convinced us to apply the stem kernel to find novel RNA families from genome sequences.