Em resposta a LINQ arruinou minha pergunta de entrevista favorita , aqui está minha solução (um pouco generalizada) no Scala, para estragar as coisas também para os recrutadores do Scala.
def topWords(s: String, n: Int) = {
val freqs = s.split(' ').groupBy(identity).mapValues(_.size)
freqs.toList.sortBy(-_._2).take(n).map(_._1)
}