A villagers mood can be seen at the left om its GUI. The mood can change from time to time, but it can also be influenced by your interactions. There are three 'extreme' moods, being ecstatic, infuriated and depressed. The 'central' mood is passive.
Moods cannot change with more than one level at a time, e.g. they cannot jump from 'blue' to 'cheerful', neither can they jump from 'annoyed to 'infuriated'.
The mood will change depending on what action you did to the villager and what their personality is.