# ✨ VIDEO: FAQ #1: Tips & tricks for NLP, annotation & training with Prodigy and spaCy

**URL:** <https://support.prodi.gy/t/video-faq-1-tips-tricks-for-nlp-annotation-training-with-prodigy-and-spacy/1193>\
**Category:** Uncategorized\
**Tags:** project, news\
**Created:** [February 6, 2019, 12:50pm UTC](https://support.prodi.gy/t/video-faq-1-tips-tricks-for-nlp-annotation-training-with-prodigy-and-spacy/1193 "2019-02-06T12:50:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [February 6, 2019, 12:50pm UTC](https://support.prodi.gy/t/video-faq-1-tips-tricks-for-nlp-annotation-training-with-prodigy-and-spacy/1193/1 "2019-02-06T12:50:40Z")

</div>

I recorded a new video about frequently asked Prodigy questions (inspired by the forum), and some more general advice about structuting annotation projects, designing label schemes and setting up NLP pipelines 😃

---

<div class="post-metadata">

**Author:** ![nix411](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/nix411/32/2982_2.png) [@nix411](https://support.prodi.gy/u/nix411)\
**Post date:** [February 12, 2019, 8:43am UTC](https://support.prodi.gy/t/video-faq-1-tips-tricks-for-nlp-annotation-training-with-prodigy-and-spacy/1193/3 "2019-02-12T08:43:46Z")

</div>

Very nice!

About the accept or reject. What if your model only detects one Named Entity in the feed but it should have found two? Is that a reject as well?

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [February 12, 2019, 11:46am UTC](https://support.prodi.gy/t/video-faq-1-tips-tricks-for-nlp-annotation-training-with-prodigy-and-spacy/1193/4 "2019-02-12T11:46:33Z")

</div>

> [@nix411](#):
>
> About the accept or reject. What if your model only detects one Named Entity in the feed but it should have found two? Is that a reject as well?

If you're doing binary annotation (e.g. using `ner.teach`), you're only giving feedback on **this particular entity span** that's highlighted. It will only ever show you one at a time, so if that one entity is correct, then it should be an accept. The model is only updated with _that_ information. (Btw, [my slides here](https://speakerdeck.com/inesmontani/belgium-nlp-meetup-rapid-nlp-annotation-through-binary-decisions-pattern-bootstrapping-and-active-learning?slide=12) show an example of how the updating with incopmplete information works.)

---

<div class="post-metadata">

**Author:** ![nix411](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/nix411/32/2982_2.png) [@nix411](https://support.prodi.gy/u/nix411)\
**Post date:** [February 12, 2019, 1:28pm UTC](https://support.prodi.gy/t/video-faq-1-tips-tricks-for-nlp-annotation-training-with-prodigy-and-spacy/1193/5 "2019-02-12T13:28:46Z")

</div>

Great. Btw. I wanted to create new training data by using `Matcher` first. So I produced a ~10k examples of multi word, e.g.

```
[{
  'text': 'This is an example of a Big Volcano', 
  'entities': [(23, 35, 'MY_LABEL'),]
}, ...]

```

Then I loaded `en_core_web_sm` with `ner` disabled (I want a _fresh_ NER model), added a new `ner` to the pipeline and started training. After training I thought I would go ahead and use `ner.make-gold` but results were disappointing.

My question is; is the approach wrong for training a fresh NER model?

---

<div class="post-metadata">

**Author:** ![honnibal](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/honnibal/32/35_2.png) [@honnibal](https://support.prodi.gy/u/honnibal)\
**Post date:** [February 13, 2019, 11:10am UTC](https://support.prodi.gy/t/video-faq-1-tips-tricks-for-nlp-annotation-training-with-prodigy-and-spacy/1193/6 "2019-02-13T11:10:40Z")

</div>

Your approach doesn’t sound bad, but I can imagine a number of details that could go wrong. When you say the results were disappointing, were you mostly finding it proposed too many entities, or too few? Did you have an evaluation so you could measure accuracy? Also, how did you train? It sounds like you wrote your own script, which is fine, but there could be a couple of small things that might have gone wrong, e.g. no minibatching, not shuffling between epochs, etc.
