How does SpaCy make its dependency tree?
Matthew Honnibal, who created Spacy, answered me :


  The full answer is rather complicated :). I've written a few blog
  posts over the years to make it more accessible. The best place to
  start is this blog post:
  
  https://explosion.ai/blog/parsing-english-in-python
  
  Since v2, we use a more complicated machine learning strategy,
  following the general architecture described here:
  https://explosion.ai/blog/deep-learning-formula-nlp . More specifics
  about the model architecture can be found in this description of the
  NER model: https://www.youtube.com/watch?v=sqDHBH9IjRU
  
  The transition system is mostly described by this paper:
  http://aclweb.org/anthology/D15-1162 , but with some modifications for
  sentence segmentation.


I already started with the first one which I didn't completly understand yet. I will update this post through my reading progress but leave the question open if a concise question comes to your mind.