Improving human-computer interaction by understanding end-user behaviour and language composition