Automated annotation of good moves It is easy enough to use a chess engine to "annotate" a game to the extent of pointing out mistakes and blunders: when the evaluation function drops by greater than a certain amount, the move is deemed bad enough to merit a "?" or a "??".

Has anyone tried to develop a program to add exclamation marks to good/brilliant moves? In the eyes of a chess engine, those moves would usually be the best move for the position, but just being the best move does not make a move brilliant, because the best move may be obvious. Exclamation marks are added to moves that are hard to find by humans, which is somewhat subjective. But I imagine one could come up with some rules or heuristics, at least for things such as recognizing sound sacrifices. Or maybe there is a way to train the system using a library of annotated games.

I wouldn't expect such a tool to be better than a good human annotator, but I find the question interesting from an artificial intelligence perspective.
It is not an answer, but an extended comment.

A great question, and a very interesting functionality proposal.

I don't know if such a tool exists - however if I were to implement it I'd consider analysing the same position using different strength settings. For example, if the move is only found by the top strength, it is a good candidate for !!. It is more or less easy to implement, but may require some effort tuning up.