Skip to main content

Simple dependency visualizer

Project description

Current PyPI packages

deplacy

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

Usage with spaCy

>>> import spacy
>>> nlp=spacy.load("en_core_web_sm")
>>> doc=nlp("The programmer was pleased by the nicely formatted parse tree.")
>>> import deplacy
>>> deplacy.render(doc)
The        DET   <               det
programmer NOUN  ═╝<══════════╗   nsubjpass
was        AUX   <══════════╗    auxpass
pleased    VERB  ═════════╗═╝═╝═╗ ROOT
by         ADP   ═══════╗<      agent
the        DET   <════╗         det
nicely     ADV   <            advmod
formatted  VERB  ═╝<          amod
parse      NOUN  <           compound
tree       NOUN  ═╝═╝═╝<        pobj
.          PUNCT <══════════════╝ punct
>>> deplacy.serve(doc)
http://127.0.0.1:5000   HTTP deplacy/0.7.0

deplacy.render(doc,BoxDrawingWidth=1,EnableCR=False,CatenaAnalysis=True,file=None) 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 may work well. CatenaAnalysis=False disables Immediate Catena Analysis.

deplacy.serve(doc,port=5000) invokes a simple web-server to visualize doc with SVG. Try to connect http://127.0.0.1:5000 with your local browser.

Usage with UniDic2UD

>>> import unidic2ud
>>> nlp=unidic2ud.load(None,"english-ewt")
>>> doc=nlp("The programmer was pleased by the nicely formatted parse tree.")
>>> d=str(doc)
>>> import deplacy
>>> deplacy.render(d)
>>> deplacy.serve(d)

Usage with Stanza

>>> import stanza
>>> nlp=stanza.Pipeline("en")
>>> doc=nlp("The programmer was pleased by the nicely formatted parse tree.")
>>> from stanza.utils.conll import CoNLL
>>> d=CoNLL.conll_as_string(CoNLL.convert_dict(doc.to_dict()))
>>> import deplacy
>>> deplacy.render(d)
>>> deplacy.serve(d)

Usage with NLP-Cube

>>> from cube.api import Cube
>>> nlp=Cube()
>>> nlp.load("en")
>>> doc=nlp("The programmer was pleased by the nicely formatted parse tree.")
>>> d="".join("".join(str(t)+"\n" for t in s)+"\n" for s in doc)
>>> import deplacy
>>> deplacy.render(d)
>>> deplacy.serve(d)

Installation

pip install deplacy

You need to install spaCy, UniDic2UD, Stanza, or NLP-Cube separately.

Author

Koichi Yasuoka (安岡孝一)

Reference

  • 安岡孝一: Universal Dependenciesの拡張にもとづく古典中国語(漢文)の直接構成鎖解析の試み, 情報処理学会研究報告, Vol.2019-CH-120『人文科学とコンピュータ』, No.1 (2019年5月11日), pp.1-8.

Project details


Release history Release notifications | RSS feed

This version

0.9.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deplacy-0.9.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file deplacy-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: deplacy-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.44.0 CPython/3.7.6

File hashes

Hashes for deplacy-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd1eabf3f3d73226b82d05ce1f24f79a2549824978cbcbedf5baea061c4ffbaa
MD5 96cdbcef53416745cf156a404ddfcdb5
BLAKE2b-256 4de4f80bf8de3cd8fa42aaeffce8eab05cb6af723997f8697854351ddd89bb48

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page