spaCy/website/docs/api
Adriane Boyd 2bcceb80c4
Refactor the Scorer to improve flexibility (#5731)
* Refactor the Scorer to improve flexibility

Refactor the `Scorer` to improve flexibility for arbitrary pipeline
components.

* Individual pipeline components provide their own `evaluate` methods
that score a list of `Example`s and return a dictionary of scores
* `Scorer` is initialized either:
  * with a provided pipeline containing components to be scored
  * with a default pipeline containing the built-in statistical
    components (senter, tagger, morphologizer, parser, ner)
* `Scorer.score` evaluates a list of `Example`s and returns a dictionary
of scores referring to the scores provided by the components in the
pipeline

Significant differences:

* `tags_acc` is renamed to `tag_acc` to be consistent with `token_acc`
and the new `morph_acc`, `pos_acc`, and `lemma_acc`
* Scoring is no longer cumulative: `Scorer.score` scores a list of
examples rather than a single example and does not retain any state
about previously scored examples
* PRF values in the returned scores are no longer multiplied by 100

* Add kwargs to Morphologizer.evaluate

* Create generalized scoring methods in Scorer

* Generalized static scoring methods are added to `Scorer`
  * Methods require an attribute (either on Token or Doc) that is
used to key the returned scores

Naming differences:

* `uas`, `las`, and `las_per_type` in the scores dict are renamed to
`dep_uas`, `dep_las`, and `dep_las_per_type`

Scoring differences:

* `Doc.sents` is now scored as spans rather than on sentence-initial
token positions so that `Doc.sents` and `Doc.ents` can be scored with
the same method (this lowers scores since a single incorrect sentence
start results in two incorrect spans)

* Simplify / extend hasattr check for eval method

* Add hasattr check to tokenizer scoring
* Simplify to hasattr check for component scoring

* Reset Example alignment if docs are set

Reset the Example alignment if either doc is set in case the
tokenization has changed.

* Add PRF tokenization scoring for tokens as spans

Add PRF scores for tokens as character spans. The scores are:

* token_acc: # correct tokens / # gold tokens
* token_p/r/f: PRF for (token.idx, token.idx + len(token))

* Add docstring to Scorer.score_tokenization

* Rename component.evaluate() to component.score()

* Update Scorer API docs

* Update scoring for positive_label in textcat

* Fix TextCategorizer.score kwargs

* Update Language.evaluate docs

* Update score names in default config
2020-07-25 12:53:02 +02:00
..
architectures.md Update API docs 2020-07-08 13:34:35 +02:00
cli.md Merge pull request #5747 from explosion/feature/refactor-config-args 2020-07-14 00:00:22 +02:00
corpus.md Update docs 2020-07-04 14:23:10 +02:00
cython-classes.md unicode -> str consistency 2020-05-24 17:23:00 +02:00
cython-structs.md Documentation updates for v2.3.0 (#5593) 2020-06-16 15:37:35 +02:00
cython.md Update WIP 2020-07-06 22:22:37 +02:00
data-formats.md Update WIP 2020-07-06 22:22:37 +02:00
dependencyparser.md Update API docs 2020-07-08 13:34:35 +02:00
doc.md Update doc.md 2020-07-06 18:17:00 +02:00
docbin.md DocBin: add version number, missing attributes and strings (#5685) 2020-07-02 17:41:50 +02:00
entitylinker.md Update API docs 2020-07-08 13:34:35 +02:00
entityrecognizer.md Update API docs 2020-07-08 13:34:35 +02:00
entityruler.md Start updating website for v3 [ci skip] 2020-07-01 21:26:39 +02:00
example.md Update example and training docs 2020-07-07 20:30:12 +02:00
index.md Update v3 docs 2020-07-03 16:48:21 +02:00
kb.md unicode -> str consistency 2020-05-24 17:23:00 +02:00
language.md Refactor the Scorer to improve flexibility (#5731) 2020-07-25 12:53:02 +02:00
lemmatizer.md Start updating website for v3 [ci skip] 2020-07-01 21:26:39 +02:00
lexeme.md Merge branch 'develop' into master-tmp 2020-06-20 15:52:00 +02:00
lookups.md unicode -> str consistency 2020-05-24 17:23:00 +02:00
matcher.md Update matcher usage examples [ci skip] 2020-07-02 15:39:45 +02:00
morphologizer.md Initial draft of Morphologizer API docs 2020-07-20 12:53:02 +02:00
phrasematcher.md Update matcher usage examples [ci skip] 2020-07-02 15:39:45 +02:00
pipeline-functions.md unicode -> str consistency 2020-05-24 17:23:00 +02:00
scorer.md Refactor the Scorer to improve flexibility (#5731) 2020-07-25 12:53:02 +02:00
sentencerecognizer.md Update API docs 2020-07-08 13:34:35 +02:00
sentencizer.md Update docs 2020-07-04 14:23:10 +02:00
span.md Update docs 2020-07-04 14:23:10 +02:00
stringstore.md Start updating website for v3 [ci skip] 2020-07-01 21:26:39 +02:00
tagger.md remove tensors, fix predict, get_loss and set_annotations 2020-07-08 13:11:54 +02:00
textcategorizer.md Update API docs 2020-07-08 13:34:35 +02:00
tok2vec.md Update API docs 2020-07-08 13:34:35 +02:00
token.md Update docs 2020-07-04 14:23:10 +02:00
tokenizer.md Merge branch 'develop' into master-tmp 2020-06-20 15:52:00 +02:00
top-level.md remove tensors, fix predict, get_loss and set_annotations 2020-07-08 13:11:54 +02:00
vectors.md Start updating website for v3 [ci skip] 2020-07-01 21:26:39 +02:00
vocab.md Start updating website for v3 [ci skip] 2020-07-01 21:26:39 +02:00