SpaCy 3 - New Toys
The new version of SpaCy in pre-release hase several new features i'm eagerly awaiting.
- Transformer Model
- Trainable Sentence Splitter
- Improved Interface for Training
- Groups of Overlapable Spans
import json
import spacy
from spacy.tokens import Doc
from spacy.training import Example
spacy.__version__
model_acc = spacy.load("en_core_web_trf")
model_acc.components
As well as an improved version of the model we all know and love
model_eff = spacy.load("en_core_web_sm")
model_eff.components
predicted = Doc(model_eff.vocab, words=["Apply", "some", "sun", "screen"])
token_ref = ["Apply", "some", "sun", "screen"]
tags_ref = ["VERB", "DET", "NOUN", "NOUN"]
sent_refs = [1, 0, 0, 0]
example = Example.from_dict(predicted, {"words": token_ref, "tags": tags_ref, "sent_starts": sent_refs})
example.to_dict()
senter = model_eff.get_pipe("senter")
optimizer = model_eff.initialize()
examples = [example]
losses = senter.update(examples, sgd=optimizer)
losses