mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-26 18:06:29 +03:00
Don't make "settings" or "title" required in displaCy data (closes #3531)
This commit is contained in:
parent
2f0f439c54
commit
6a4575a56c
|
@ -50,8 +50,9 @@ class DependencyRenderer(object):
|
||||||
rendered = []
|
rendered = []
|
||||||
for i, p in enumerate(parsed):
|
for i, p in enumerate(parsed):
|
||||||
if i == 0:
|
if i == 0:
|
||||||
self.direction = p["settings"].get("direction", DEFAULT_DIR)
|
settings = p.get("settings", {})
|
||||||
self.lang = p["settings"].get("lang", DEFAULT_LANG)
|
self.direction = settings.get("direction", DEFAULT_DIR)
|
||||||
|
self.lang = settings.get("lang", DEFAULT_LANG)
|
||||||
render_id = "{}-{}".format(id_prefix, i)
|
render_id = "{}-{}".format(id_prefix, i)
|
||||||
svg = self.render_svg(render_id, p["words"], p["arcs"])
|
svg = self.render_svg(render_id, p["words"], p["arcs"])
|
||||||
rendered.append(svg)
|
rendered.append(svg)
|
||||||
|
@ -254,9 +255,10 @@ class EntityRenderer(object):
|
||||||
rendered = []
|
rendered = []
|
||||||
for i, p in enumerate(parsed):
|
for i, p in enumerate(parsed):
|
||||||
if i == 0:
|
if i == 0:
|
||||||
self.direction = p["settings"].get("direction", DEFAULT_DIR)
|
settings = p.get("settings", {})
|
||||||
self.lang = p["settings"].get("lang", DEFAULT_LANG)
|
self.direction = settings.get("direction", DEFAULT_DIR)
|
||||||
rendered.append(self.render_ents(p["text"], p["ents"], p["title"]))
|
self.lang = settings.get("lang", DEFAULT_LANG)
|
||||||
|
rendered.append(self.render_ents(p["text"], p["ents"], p.get("title")))
|
||||||
if page:
|
if page:
|
||||||
docs = "".join([TPL_FIGURE.format(content=doc) for doc in rendered])
|
docs = "".join([TPL_FIGURE.format(content=doc) for doc in rendered])
|
||||||
markup = TPL_PAGE.format(content=docs, lang=self.lang, dir=self.direction)
|
markup = TPL_PAGE.format(content=docs, lang=self.lang, dir=self.direction)
|
||||||
|
|
33
spacy/tests/regression/test_issue3531.py
Normal file
33
spacy/tests/regression/test_issue3531.py
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# coding: utf8
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from spacy import displacy
|
||||||
|
|
||||||
|
|
||||||
|
def test_issue3531():
|
||||||
|
"""Test that displaCy renderer doesn't require "settings" key."""
|
||||||
|
example_dep = {
|
||||||
|
"words": [
|
||||||
|
{"text": "But", "tag": "CCONJ"},
|
||||||
|
{"text": "Google", "tag": "PROPN"},
|
||||||
|
{"text": "is", "tag": "VERB"},
|
||||||
|
{"text": "starting", "tag": "VERB"},
|
||||||
|
{"text": "from", "tag": "ADP"},
|
||||||
|
{"text": "behind.", "tag": "ADV"},
|
||||||
|
],
|
||||||
|
"arcs": [
|
||||||
|
{"start": 0, "end": 3, "label": "cc", "dir": "left"},
|
||||||
|
{"start": 1, "end": 3, "label": "nsubj", "dir": "left"},
|
||||||
|
{"start": 2, "end": 3, "label": "aux", "dir": "left"},
|
||||||
|
{"start": 3, "end": 4, "label": "prep", "dir": "right"},
|
||||||
|
{"start": 4, "end": 5, "label": "pcomp", "dir": "right"},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
example_ent = {
|
||||||
|
"text": "But Google is starting from behind.",
|
||||||
|
"ents": [{"start": 4, "end": 10, "label": "ORG"}],
|
||||||
|
}
|
||||||
|
dep_html = displacy.render(example_dep, style="dep", manual=True)
|
||||||
|
assert dep_html
|
||||||
|
ent_html = displacy.render(example_ent, style="ent", manual=True)
|
||||||
|
assert ent_html
|
Loading…
Reference in New Issue
Block a user