mirror of https://github.com/explosion/spaCy.git
Adjust kb_id visualizer templating and docs
This commit is contained in:
parent
beb4a8c524
commit
6bb0324b81
|
@ -3,7 +3,7 @@ import uuid
|
||||||
|
|
||||||
from .templates import TPL_DEP_SVG, TPL_DEP_WORDS, TPL_DEP_WORDS_LEMMA, TPL_DEP_ARCS
|
from .templates import TPL_DEP_SVG, TPL_DEP_WORDS, TPL_DEP_WORDS_LEMMA, TPL_DEP_ARCS
|
||||||
from .templates import TPL_ENT, TPL_ENT_RTL, TPL_FIGURE, TPL_TITLE, TPL_PAGE
|
from .templates import TPL_ENT, TPL_ENT_RTL, TPL_FIGURE, TPL_TITLE, TPL_PAGE
|
||||||
from .templates import TPL_ENTS
|
from .templates import TPL_ENTS, TPL_KB_LINK
|
||||||
from ..util import minify_html, escape_html, registry
|
from ..util import minify_html, escape_html, registry
|
||||||
from ..errors import Errors
|
from ..errors import Errors
|
||||||
|
|
||||||
|
@ -315,11 +315,8 @@ class EntityRenderer:
|
||||||
start = span["start"]
|
start = span["start"]
|
||||||
end = span["end"]
|
end = span["end"]
|
||||||
kb_id = span.get("kb_id", "")
|
kb_id = span.get("kb_id", "")
|
||||||
kb_url = span.get("kb_url", "")
|
kb_url = span.get("kb_url", "#")
|
||||||
if kb_id:
|
kb_link = TPL_KB_LINK.format(kb_id=kb_id, kb_url=kb_url) if kb_id else ""
|
||||||
kb_link = """<a style="text-decoration: none; color: black; font-weight: bold" href="{}">{}</a>""".format(kb_url, kb_id)
|
|
||||||
else:
|
|
||||||
kb_link = ""
|
|
||||||
additional_params = span.get("params", {})
|
additional_params = span.get("params", {})
|
||||||
entity = escape_html(text[start:end])
|
entity = escape_html(text[start:end])
|
||||||
fragments = text[offset:start].split("\n")
|
fragments = text[offset:start].split("\n")
|
||||||
|
@ -329,7 +326,12 @@ class EntityRenderer:
|
||||||
markup += "</br>"
|
markup += "</br>"
|
||||||
if self.ents is None or label.upper() in self.ents:
|
if self.ents is None or label.upper() in self.ents:
|
||||||
color = self.colors.get(label.upper(), self.default_color)
|
color = self.colors.get(label.upper(), self.default_color)
|
||||||
ent_settings = {"label": label, "text": entity, "bg": color, "kb_link": kb_link}
|
ent_settings = {
|
||||||
|
"label": label,
|
||||||
|
"text": entity,
|
||||||
|
"bg": color,
|
||||||
|
"kb_link": kb_link,
|
||||||
|
}
|
||||||
ent_settings.update(additional_params)
|
ent_settings.update(additional_params)
|
||||||
markup += self.ent_template.format(**ent_settings)
|
markup += self.ent_template.format(**ent_settings)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -51,19 +51,22 @@ TPL_ENTS = """
|
||||||
TPL_ENT = """
|
TPL_ENT = """
|
||||||
<mark class="entity" style="background: {bg}; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
|
<mark class="entity" style="background: {bg}; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
|
||||||
{text}
|
{text}
|
||||||
<span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">{label}
|
<span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">{label}{kb_link}</span>
|
||||||
{kb_link}
|
|
||||||
</span>
|
|
||||||
</mark>
|
</mark>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
TPL_ENT_RTL = """
|
TPL_ENT_RTL = """
|
||||||
<mark class="entity" style="background: {bg}; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em">
|
<mark class="entity" style="background: {bg}; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em">
|
||||||
{text}
|
{text}
|
||||||
<span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-right: 0.5rem">{label}</span>
|
<span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-right: 0.5rem">{label}{kb_link}</span>
|
||||||
</mark>
|
</mark>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# Important: this needs to start with a space!
|
||||||
|
TPL_KB_LINK = """
|
||||||
|
<a style="text-decoration: none; color: inherit; font-weight: normal" href="{kb_url}">{kb_id}</a>
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
TPL_PAGE = """
|
TPL_PAGE = """
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
|
@ -297,7 +297,7 @@ position.
|
||||||
>
|
>
|
||||||
> ```python
|
> ```python
|
||||||
> ex = [{"text": "But Google is starting from behind.",
|
> ex = [{"text": "But Google is starting from behind.",
|
||||||
> "ents": [{"start": 4, "end": 10, "label": "ORG", "kb_id": "Q95", "kb_url": "https://www.wikidata.org/entity/Q95"}],
|
> "ents": [{"start": 4, "end": 10, "label": "ORG"}],
|
||||||
> "title": None}]
|
> "title": None}]
|
||||||
> html = displacy.render(ex, style="ent", manual=True)
|
> html = displacy.render(ex, style="ent", manual=True)
|
||||||
> ```
|
> ```
|
||||||
|
@ -321,6 +321,15 @@ position.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
### ENT input
|
### ENT input
|
||||||
|
{
|
||||||
|
"text": "But Google is starting from behind.",
|
||||||
|
"ents": [{"start": 4, "end": 10, "label": "ORG"}],
|
||||||
|
"title": None
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
### ENT input with knowledge base links
|
||||||
{
|
{
|
||||||
"text": "But Google is starting from behind.",
|
"text": "But Google is starting from behind.",
|
||||||
"ents": [{"start": 4, "end": 10, "label": "ORG", "kb_id": "Q95", "kb_url": "https://www.wikidata.org/entity/Q95"}],
|
"ents": [{"start": 4, "end": 10, "label": "ORG", "kb_id": "Q95", "kb_url": "https://www.wikidata.org/entity/Q95"}],
|
||||||
|
|
Loading…
Reference in New Issue