deplacy

Current PyPI packages

deplacy

Simple dependency visualizer for spaCy, UniDic2UD, Stanza, NLP-Cube, etc.

Usage with spaCy

>>> import spacy
>>> nlp=spacy.load("en_core_web_sm")
>>> doc=nlp("I saw a horse yesterday which had no name.")
>>> import deplacy
>>> deplacy.render(doc)
I         PRON  <══════════════╗   nsubj
saw       VERB  ═══════════╗═╗═╝═╗ ROOT
a         DET   <════════╗      det
horse     NOUN  ═══════╗═╝<     dobj
yesterday NOUN  <══════║═════╝    npadvmod
which     DET   <════╗           nsubj
had       AUX   ═══╗═╝<          relcl
no        DET   <               det
name      NOUN  ═╝<              dobj
.         PUNCT <════════════════╝ punct

deplacy.render(doc,BoxDrawingWidth=1,EnableCR=False,WordRight=False,CatenaAnalysis=True,file=None,Japanese=False) renders doc on a terminal. For old terminals, whose Box Drawing characters are “fullwidth”, BoxDrawingWidth=2 nicely works. For several languages with “proportional” characters, EnableCR=True or WordRight=True may work well. CatenaAnalysis=False disables Immediate Catena Analysis.

deplacy.serve(doc,port=5000,RtoL=False) invokes a simple web-server to visualize doc with SVG. Try to connect http://127.0.0.1:5000 with your local browser. For Google Colaboratory, port=None visualizes doc directly on the notebook.

deplacy.dot(doc,RtoL=False) returns raw DOT string for graphviz.Source.

Other usages

Visualization examples

deplacy.render()

deplacy.render()

deplacy.serve()

deplacy.serve()

deplacy.dot()

deplacy.dot()

Installation

pip install deplacy

You need to install spaCy, UniDic2UD, Stanza, or NLP-Cube separately. For Google Colaboratories, please follow (and edit) the templates shown below.

Templates for Google Colaboratory

Author

Koichi Yasuoka (安岡孝一)

Reference