Since we have to take various factors into consideration, it is difficult to find a good combination of heuristic rules.
the machine learning approach is attractive, but it requires a large amount of training data.