Supervised machine learning approaches have been successfully applied for creating systems capable of performing this task.
the supervised nature of these approaches requires large amounts of annotated training data; the acquisition of which is often a laborious and time-consuming process.