A formação de sonolento ocorreu em latim e não em português. Trata-se de ‘somnolēntus’ ou ‘somnulēntus’, palavra derivada de 'sōmnus, i', «sono», através da associação do sufixo '-lentus', cujo sentido geral é o de intensificar uma qualidade (cf. a formação de fraudulento, suculento, virulento; ver Dicionário Eletrônico Houaiss).
Desfiar é uma palavra derivada de fiar, por prefixação.