# Skip Functionality

**URL:** <https://support.prodi.gy/t/skip-functionality/5978>\
**Category:** Uncategorized\
**Tags:** usage\
**Created:** [September 26, 2022, 5:13pm UTC](https://support.prodi.gy/t/skip-functionality/5978 "2022-09-26T17:13:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cheyanneb](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/cheyanneb/32/2409_2.png) [@cheyanneb](https://support.prodi.gy/u/cheyanneb)\
**Post date:** [September 26, 2022, 5:13pm UTC](https://support.prodi.gy/t/skip-functionality/5978/1 "2022-09-26T17:13:39Z")

</div>

I was wondering if there was a way to build a skip option in addition to, or in place of, `ignore`. `ignore`, afaik, doesn't present skipped documents to the annotator again, and instead allows me (the admin) to gather the ignored documents and create a new task.

Use case: we have annotators who have questions about tricky cases, and since our annotators often work off-hours, there may a delay in a response back to them. It would be great if they could skip those and be presented with them again at the end.

Thanks!  
Cheyanne

---

<div class="post-metadata">

**Author:** ![koaning](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/koaning/32/230_2.png) [@koaning](https://support.prodi.gy/u/koaning)\
**Post date:** [September 27, 2022, 11:47am UTC](https://support.prodi.gy/t/skip-functionality/5978/2 "2022-09-27T11:47:40Z")

</div>

If examples are tricky but deserve another look, wouldn't it be best to allow users to [flag examples](https://prodi.gy/docs/api-web-app#flagging)? Flagged examples can be queried with the `db-out` command for re-use by setting the `--flagged-only` flag.

There's a [Prodigy Short](https://www.youtube.com/watch?v=D8KkXee2x5o) that explains how to set this up too.

[![](https://img.youtube.com/vi/D8KkXee2x5o/maxresdefault.jpg "Flagging while Annotating - Prodigy SHORTS") ](https://www.youtube.com/watch?v=D8KkXee2x5o)

---

<div class="post-metadata">

**Author:** ![cheyanneb](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/cheyanneb/32/2409_2.png) [@cheyanneb](https://support.prodi.gy/u/cheyanneb)\
**Post date:** [September 27, 2022, 12:44pm UTC](https://support.prodi.gy/t/skip-functionality/5978/3 "2022-09-27T12:44:35Z")

</div>

We already flag them and discuss them, but I wanted annotators to be able to revisit them later because sometimes there is a clear answer by the end of the task.

---

<div class="post-metadata">

**Author:** ![koaning](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/koaning/32/230_2.png) [@koaning](https://support.prodi.gy/u/koaning)\
**Post date:** [September 28, 2022, 12:42pm UTC](https://support.prodi.gy/t/skip-functionality/5978/4 "2022-09-28T12:42:59Z")

</div>

Prodigy doesn't allow too much interaction with the database, as explained [here](https://support.prodi.gy/t/editing-datasets/66/2), because it easily gets messy. If users are able to make changes to annotations, you probably also need a way to track who made what change and when.

So instead, here's how I've dealt with this in the past. I make two datasets, say `ner_v1` and `ner_v2`. When I start annotating, everything goes into `ner_v1`. I'm fully aware that this `v1` data will be a first draft. Many annotations are correct, but some might need to change later after understanding the problem better.

Then, once there are a few flagged examples, or when some [bad labels have been detected](https://www.youtube.com/watch?v=khZ5-AN-n2Y), I re-label the relevant candidates and move these annotations to `ner_v2`.

Then, when it's time to make a model, I have a custom script that gets the examples from `ner_v1` and `ner_v2`. If an example appears in both sets, I always prefer the annotation from `ner_v2`. This gives me a final dataset that can be used to train a model.

Other people might have another way to handle their data, but for my projects, this approach has worked quite well.
