Contar o número de palavras em uma string (Scala)

Este é um trecho aprimorado de Programação em Scala

def countWords(text: String) = {
val counts
= mutable.Map.empty[String, Int].withDefaultValue(0)
for (rawWord <- text.split("[ ,!.]+")) {
val word
= rawWord.toLowerCase
counts
(word) += 1
}
counts

}

Retorna a palavra do formulário de mapa para o número de ocorrências