mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-26 18:06:29 +03:00
81 lines
3.0 KiB
Plaintext
81 lines
3.0 KiB
Plaintext
//- 💫 DOCS > USAGE > VISUALIZERS > ENTITIES
|
||
|
||
p
|
||
| The entity visualizer, #[code ent], highlights named entities and
|
||
| their labels in a text.
|
||
|
||
+code("Named Entity example").
|
||
import spacy
|
||
from spacy import displacy
|
||
|
||
text = """But Google is starting from behind. The company made a late push
|
||
into hardware, and Apple’s Siri, available on iPhones, and Amazon’s Alexa
|
||
software, which runs on its Echo and Dot devices, have clear leads in
|
||
consumer adoption."""
|
||
|
||
nlp = spacy.load('custom_ner_model')
|
||
doc = nlp(text)
|
||
displacy.serve(doc, style='ent')
|
||
|
||
+codepen("a73f8b68f9af3157855962b283b364e4", 345)
|
||
|
||
p The entity visualizer lets you customise the following #[code options]:
|
||
|
||
+table(["Name", "Type", "Description", "Default"])
|
||
+row
|
||
+cell #[code ents]
|
||
+cell list
|
||
+cell
|
||
| Entity types to highlight (#[code None] for all types).
|
||
+cell #[code None]
|
||
|
||
+row
|
||
+cell #[code colors]
|
||
+cell dict
|
||
+cell
|
||
| Color overrides. Entity types in lowercase should be mapped to
|
||
| color names or values.
|
||
+cell #[code {}]
|
||
|
||
p
|
||
| If you specify a list of #[code ents], only those entity types will be
|
||
| rendered – for example, you can choose to display #[code PERSON] entities.
|
||
| Internally, the visualizer knows nothing about available entity types and
|
||
| will render whichever spans and labels it receives. This makes it
|
||
| especially easy to work with custom entity types. By default, displaCy
|
||
| comes with colours for all
|
||
| #[+a("/api/annotation#named-entities") entity types supported by spaCy].
|
||
| If you're using custom entity types, you can use the #[code colors]
|
||
| setting to add your own colours for them.
|
||
|
||
+aside-code("Options example").
|
||
colors = {'ORG': 'linear-gradient(90deg, #aa9cfc, #fc9ce7)'}
|
||
options = {'ents': ['ORG'], 'colors': colors}
|
||
displacy.serve(doc, style='ent', options=options)
|
||
|
||
+codepen("f42ec690762b6f007022a7acd6d0c7d4", 300)
|
||
|
||
p
|
||
| The above example uses a little trick: Since the background colour values
|
||
| are added as the #[code background] style attribute, you can use any
|
||
| #[+a("https://tympanus.net/codrops/css_reference/background/") valid background value]
|
||
| or shorthand — including gradients and even images!
|
||
|
||
+h(3, "ent-titles") Adding titles to documents
|
||
|
||
p
|
||
| Rendering several large documents on one page can easily become confusing.
|
||
| To add a headline to each visualization, you can add a #[code title] to
|
||
| its #[code user_data]. User data is never touched or modified by spaCy.
|
||
|
||
+code.
|
||
doc = nlp(u'This is a sentence about Google.')
|
||
doc.user_data['title'] = 'This is a title'
|
||
displacy.serve(doc, style='ent')
|
||
|
||
p
|
||
| This feature is espeically handy if you're using displaCy to compare
|
||
| performance at different stages of a process, e.g. during training. Here
|
||
| you could use the title for a brief description of the text example and
|
||
| the number of iterations.
|