# Annotate text with multiple entities using ner\_manual

**URL:** <https://support.prodi.gy/t/annotate-text-with-multiple-entities-using-ner-manual/990>\
**Category:** Uncategorized\
**Tags:** usage, ner\
**Created:** [November 26, 2018, 8:44pm UTC](https://support.prodi.gy/t/annotate-text-with-multiple-entities-using-ner-manual/990 "2018-11-26T20:44:17Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![shekhar2010us](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/shekhar2010us/32/541_2.png) [@shekhar2010us](https://support.prodi.gy/u/shekhar2010us)\
**Post date:** [November 26, 2018, 8:44pm UTC](https://support.prodi.gy/t/annotate-text-with-multiple-entities-using-ner-manual/990/1 "2018-11-26T20:44:17Z")

</div>

I just got a personal license and am trying to annotate text data for NER training with multiple entities (custom entities), for now I just want data annotation, and care less about model training.

I followed the tutorial and did the following  
(1) created dataset:  
prodigy dataset my\_data “My data for Annotation”  
(2) I have jsonl file with few records in json format – “tmp.jsonl”  
(3) I tried ner.teach but I am not able to provide custom label, also ner.teach opens up web interface for one entity  
prodigy ner.teach my\_data en\_core\_web\_sm tmp.jsonl  
(4) I tried mark, but this doesn’t load any data  
prodigy mark my\_data tmp.jsonl --view-id ner\_manual

All I wanted is to just annotate text on a set of custom entities.

Any help is much appreciated.

Thanks,

---

<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:** [November 26, 2018, 8:49pm UTC](https://support.prodi.gy/t/annotate-text-with-multiple-entities-using-ner-manual/990/2 "2018-11-26T20:49:45Z")

</div>

You’re probably looking for the `ner.manual` recipe, which streams in your text, tokenizes it and asks you to label one or more spans of text. The `--label` argument lets you pass in one or more labels to annotate. For example:

```bash
prodigy ner.manual my_data en_core_web_sm my_data.tmp.jsonl --label LABEL_ONE,LABEL_TWO

```

Some background on the other recipes: Because `ner.teach` only asks you for binary feedback, it also only asks you for one entity at a time. You can still annotate multiple labels and multiple entities in the same text – just in separate steps. The `mark` recipe on the other hand streams in whatever you give it, without transforming your data. So if you set `--view-id ner_manual`, it also expects the data to be tokenized and in the correct format for the manual interface (see your `PRODIGY_README.html` for details if you’re interested).

---

<div class="post-metadata">

**Author:** ![shekhar2010us](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/shekhar2010us/32/541_2.png) [@shekhar2010us](https://support.prodi.gy/u/shekhar2010us)\
**Post date:** [November 26, 2018, 9:05pm UTC](https://support.prodi.gy/t/annotate-text-with-multiple-entities-using-ner-manual/990/3 "2018-11-26T21:05:17Z")

</div>

Thanks for the quick reply.

I ran `prodigy ner.manual my_data en_core_web_sm tmp.jsonl --label ONE,TWO` but the web UI shows “NO TASK AVAILABLE”.

I have few json text in `tmp.jsonl` but `my-data` dataset should be empty because I just created it.

Do I have to load `my-data` dataset first?

Below is the screenshot.

![25%20PM](https://us1.discourse-cdn.com/flex020/uploads/prodigy/original/1X/cf821dfe36f079989682e17a63e553a8112762fc.jpg)

---

<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:** [November 26, 2018, 9:11pm UTC](https://support.prodi.gy/t/annotate-text-with-multiple-entities-using-ner-manual/990/4 "2018-11-26T21:11:59Z")

</div>

No, what you’re doing is correct. The `my_data` dataset is where the _answers_ will be saved when you submit them in the app.

In the “Progress” in the sidebar it says that the total number of annotations in your dataset is 5 – did you already annotate something with that dataset previously? And what happens if you create a completely new dataset and try again?

If that doesn’t work, what’s in your `temp.jsonl`? Can you show an example? And can you run the command with `PRODIGY_LOGGING=basic` and see if there’s anything suspicious in the logs? For example:

```bash
PRODIGY_LOGGING=basic prodigy ner.manual ...

```

---

<div class="post-metadata">

**Author:** ![shekhar2010us](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/shekhar2010us/32/541_2.png) [@shekhar2010us](https://support.prodi.gy/u/shekhar2010us)\
**Post date:** [November 26, 2018, 9:29pm UTC](https://support.prodi.gy/t/annotate-text-with-multiple-entities-using-ner-manual/990/5 "2018-11-26T21:29:20Z")

</div>

Hi,

Yes I previously annotated `my_data`. But then, I dropped the dataset and re-created it with the same name, seems like dropping dataset doesn’t delete the table in SQLite.  
When I created a dataset with a different name, it worked.

Thanks for your help.
