Here is some notes and thinkings of the author.

- In fact, this can be seen as a modified version of the author's previous parser nngdparser, but despite the similar name and similar framework of coding (similar messy), many changes have been made. Although we still support the models in nngdparser, they are quite unstable and not suggested for usage.
- Although the author works hard to improve the codes, the implementation still become messy and un-maintainable ...
- The nn library is called CSNN. However, CSNN's struture is hard coded and really unflexible, and the author even do not know why he made such a stupid choice ... Anyway, thankfully, there have been many wonderful open-source nn libraries such as theano, tensorflow and CNN(C++nn) ...
- The parsing algorithms (decoding or encoding) are the classical graph-parsing dynamic programming algorithms, the decoding ones are implemented with reference of MstParser and MaxParser (https://sourceforge.net/projects/maxparser/); while the encoding ones (inside-outside ones) are directly modified on the implementation of MaxParser (adding labeled situations).
- The 'graph-based' part is really the mess ...
- The author will try to improve coding skills and wish that he will make progress ...

zzs 
2016.5
