In addition to the problems with social context already mentioned, there certainly are cultural differences that might be very difficult to code for. For example, Japanese schoolchildren are taught that it is disrespectful to make eye contact with superiors and ancestors, and that they should look at the speakers neck or collar. How would the software know which people were due such respect in this context?
I would also advise you to tread very carefully with such context recognition for legal reasons. However well meaning your intentions, such "cultural context" profiling could easily be misinterpreted as "racial profiling" or discrimination.
_________________
When you are fighting an invisible monster, first throw a bucket of paint over it.