Improving natural language processing : from adding graph structure to distributed learning