Classiying names with character level RNN

Hi,

In the official example of classifying names with a char level RNN (link) what does it mean when the predictor predicts the following

$ python predict.py Hinton
(-0.47) Scottish
(-1.52) English
(-3.57) Irish

$ python predict.py Schmidhuber
(-0.19) German
(-2.48) Czech
(-2.68) Dutch

What is the significance of these values?
Why are the values negative?
Why do they not sum to 1?
How can the topk(1) value be negative? (meaning that all entries in the output tensor are negative)

The numbers are negative log probabilities.