Answers.Body: <p>It is not an answer, but an extended comment.</p>
  
  <p>A great question, and a very interesting functionality proposal.</p>
  
  <p>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 <code>!!</code>. It is more or less easy to implement, but may require some effort tuning up.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-15T17:58:47.887Z
Answers.LastActivityDate: 2017-08-15T17:58:47.887Z
Answers.UserDisplayName: user58697
Answers.Body: <p><a href="https://lichess.org/paste" rel="nofollow noreferrer">Lichess</a> has an excellent import tool with computer aided analysis.</p>
  
  <p>After uploading a game and analyzing with Stockfish, you can download an annotated PGN of the game. It adds alternate lines and annotated symbols (?! for inaccuracy, ?? for blunder, etc.)</p>
  
  <p><a href="https://i.sstatic.net/sqYh1.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/sqYh1.png" alt="Computer analysis"> In the PGN, move
  23. Qf3 looks like: <code>23. Qf3?? { (3.13 → 0.10) Blunder. Best move was Qg4. }</code></a></p>
  
  <p>Here's an example <a href="https://lichess.org/QSZqZ5Kf" rel="nofollow noreferrer">game</a> I uploaded and analyzed. Use the tabs/links below the game "FEN &amp; PGN" > "Download Annotated" to export the annotated PGN.</p>
  
  <p><a href="https://i.sstatic.net/aWz2z.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/aWz2z.png" alt="Image showing link to download"></a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-15T17:07:28.800Z
Answers.LastActivityDate: 2017-08-15T17:07:28.800Z
Answers.UserDisplayName: PenumbraBrah
Body: <p>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 "??".</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-14T19:23:11.643Z
Comments.Text: Check out the chess.com analyzer, Lichess has something similar I think. There is also an app called Analyze This which has such a feature (in beta)
Comments.UserDisplayName: firtydank
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-14T19:31:15.860Z
Comments.Text: @firtydank: I have used both the chess.com and lichess analyzers and they have the limitation I described: they recognize bad moves, but not good moves worthy of annotation. chess.com may classify moves as "excellent" if they agree with Stockfish, but this is the case even for trivial moves. I haven't tried Analyze This; I may give it a try.
Comments.UserDisplayName: itub
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-14T19:38:56.013Z
Comments.Text: Cool, np. I think its difficult for a chess engine to recognize a good move, because it does not understand the human limitations which makes a good move good.
Comments.UserDisplayName: firtydank
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-14T21:02:44.243Z
Comments.Text: I suspect that an automatic annotator would do OK with !! or ??, but might not find it easy to award !?
Comments.UserDisplayName: Philip Roe
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-14T23:05:14.177Z
Comments.Text: http://www-lucaschess.rhcloud.com/ does add "!," but it's so liberal that it's not really a good feature.
Comments.UserDisplayName: Fred Knight
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-15T06:52:31.377Z
Comments.Text: Analyzers that assign ! very liberally probably use the Nunn Convention: a move always gets a ! if it is the only move that doesn't affect the evaluation negatively, no matter how trivial it is. This is an objective criterion for engines (so you might use it, even if it's too much sometimes) - unlike the !!s, which are subjective (and what you are looking for in a strict sense).
Comments.UserDisplayName: Annatar
Tags: <annotation>
Title: Automated annotation of good moves
ThreadText: # Automated annotation of good moves
  
  (Asked by: username_0 on 2017-08-14)
  
  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.
  
  **Tags:** annotation
  
  > **Comments:**
  > **username_1**: Check out the chess.com analyzer, Lichess has something similar I think. There is also an app called Analyze This which has such a feature (in beta)  
  > **username_0**: @username_1: I have used both the chess.com and lichess analyzers and they have the limitation I described: they recognize bad moves, but not good moves worthy of annotation. chess.com may classify moves as "excellent" if they agree with Stockfish, but this is the case even for trivial moves. I haven't tried Analyze This; I may give it a try.  
  > **username_1**: Cool, np. I think its difficult for a chess engine to recognize a good move, because it does not understand the human limitations which makes a good move good.  
  > **username_2**: I suspect that an automatic annotator would do OK with !! or ??, but might not find it easy to award !?  
  > **username_3**: http://www-lucaschess.rhcloud.com/ does add "!," but it's so liberal that it's not really a good feature.  
  > **username_4**: Analyzers that assign ! very liberally probably use the Nunn Convention: a move always gets a ! if it is the only move that doesn't affect the evaluation negatively, no matter how trivial it is. This is an objective criterion for engines (so you might use it, even if it's too much sometimes) - unlike the !!s, which are subjective (and what you are looking for in a strict sense).  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_5 on 2017-08-15. Score: 3
  
  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.
  
  
  ---
  
  ### Answer by username_6 on 2017-08-15. Score: 1
  
  [Lichess](https://lichess.org/paste) has an excellent import tool with computer aided analysis.
  
  After uploading a game and analyzing with Stockfish, you can download an annotated PGN of the game. It adds alternate lines and annotated symbols (?! for inaccuracy, ?? for blunder, etc.)
  
  [![Computer analysis](https://i.sstatic.net/sqYh1.png) In the PGN, move
  23. Qf3 looks like: `23. Qf3?? { (3.13 → 0.10) Blunder. Best move was Qg4. }`](https://i.sstatic.net/sqYh1.png)
  
  Here's an example [game](https://lichess.org/QSZqZ5Kf) I uploaded and analyzed. Use the tabs/links below the game "FEN & PGN" > "Download Annotated" to export the annotated PGN.
  
  [![Image showing link to download](https://i.sstatic.net/aWz2z.png)](https://i.sstatic.net/aWz2z.png)
  
  
  ---
  
  