# Annotation JSON

**URL:** <https://support.prodi.gy/t/annotation-json/5746>\
**Category:** Uncategorized\
**Tags:** ner, spancat\
**Created:** [June 27, 2022, 4:01pm UTC](https://support.prodi.gy/t/annotation-json/5746 "2022-06-27T16:01:43Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![ryanwesslen](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ryanwesslen/32/2969_2.png) [@ryanwesslen](https://support.prodi.gy/u/ryanwesslen)\
**Post date:** [August 10, 2022, 10:23pm UTC](https://support.prodi.gy/t/annotation-json/5746/4 "2022-08-10T22:23:16Z")

</div>

hi @nnn!

Thanks for your follow up!

> [@NNN](#):
>
> 2.) **Unclear** - I still don't understand why for some of the `spans` there are additional keys (`text` , `source` and `_input_hash` ) whereas for others these do not appear (see the attached JSON snippet in my original question). There we can see that the spans in indices 1 and 2 have additional key-values (`text`, `source`, and `_input_hash`) while all other spans only have `start`, `end`, `token_start`, `token_end` and `label`.

Good point! What recipe did you use to create those annotations, specifically the "COUNTRY" and "JOB\_TITLE" spans?

I suspect you used a `correct` recipe (either `ner.correct` or `span.correct`). The highlighted examples (with the extra keys for `text`, `source`, and `input_hash`) is the normal behavior for **model suggested annotations** from a `correct` recipe.

Perhaps the other spans (don't have the extra keys) were created with the same recipe, but **are "manual" annotations** (i.e., you only highlighted) and **weren't model suggested** since the `en_core_web_lg` doesn't have the custom entities (`"COUNTRY"` and `"JOB_TITLE"`).

Said differently, the extra keys (`text`, `source`, and `input_hash`) are created when annotated using model assisted correction.

If you had a trained NER model that had all the entities and were model suggestions, then you would have all the keys/data.

One caveat: it is possible to not have these extra fields for entity types that were in your model (e.g., an `ORG`) because there could be entities that you manually created and weren't model suggestions.

> [@NNN](#):
>
> Is that arbitrary?

It's not required to train so for purposes of training, it's arbitrary.

However, the data does identify the source of the suggestion (e.g., model). Also, having this info distinguishes it as model suggested ("gold" annotations) because it reflects added confidence that the model would select this label (i.e., the data/model are consistent). So in that way, having this data would tell you this data is more important than manual annotations.

Just curious, have you trained a model by updating the original (e.g., `--base-model en_core_web_lg` to update) with both your custom entities and fine-tuned entities from `en_core_web_lg`?

If so, since you're mixing old and new entity types, make sure to account for potential catastrophic forgetting:

> [@New entity model ruins other entities](https://support.prodi.gy/t/new-entity-model-ruins-other-entities/179/2):
>
> Sorry about the late reply! I think what you’re experiencing might be whats often referred to as the “catastrophic forgetting problem”. As your model is learning about the new entity type, it’s “forgetting” what it has previously learned. In your example, this is pretty significant – but it might be because you’ve trained a completely new entity, so the only data the model is updating on is examples labelled TECH and none of the other entity types. Because the model is never “reminded” about the…

I hope this answers your question and let us know if you have other questions!

---

_[View the full topic](https://support.prodi.gy/t/annotation-json/5746)._
