# Manual Text classification

**URL:** <https://support.prodi.gy/t/manual-text-classification/362>\
**Category:** Uncategorized\
**Tags:** usage, textcat, custom\
**Created:** [March 2, 2018, 4:39pm UTC](https://support.prodi.gy/t/manual-text-classification/362 "2018-03-02T16:39:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gregory-Howard](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/gregory-howard/32/320_2.png) [@Gregory-Howard](https://support.prodi.gy/u/Gregory-Howard)\
**Post date:** [March 2, 2018, 4:39pm UTC](https://support.prodi.gy/t/manual-text-classification/362/1 "2018-03-02T16:39:15Z")

</div>

Hi,  
As there is a NER Manual classification in the demo, it is possible to have a manual text classification/correction ?

For exemple with article classification [https://iptc.org/standards/media-topics/](https://iptc.org/standards/media-topics/)  
And the tree representing it : [http://show.newscodes.org/index.html?newscodes=medtop&lang=en-GB&startTo=Show](http://show.newscodes.org/index.html?newscodes=medtop&lang=en-GB&startTo=Show)

BTW, the categories have levels, can we choose the training level?

Last question can we contribute on Prodigy ?  
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:** [March 2, 2018, 10:32pm UTC](https://support.prodi.gy/t/manual-text-classification/362/2 "2018-03-02T22:32:39Z")

</div>

> [@Gregory-Howard](#):
>
> As there is a NER Manual classification in the demo, it is possible to have a manual text classification/correction ?

The easiest solution would probably to use the `choice` interface – you can see a demo of it [here](https://prodi.gy/demo?view_id=textchoice). If you set `"choice_auto_accept": true` in your `prodigy.json` or the recipe config, the annotation will be accepted automatically when the user selects an answer. The [custom recipes workflow](https://prodi.gy/docs/workflow-custom-recipes#example-choice) has a little code example of a recipe using the choice interface.

Prodigy's annotation philosophy is centered around simple and mostly binary decisions. This helps the "human in the loop" focus and make decisions quickly and with as little distractions as possible. Even if you're working with large, nested labels sets like IPTC codes, it's often a good idea to start with the more general top-level categories, and then narrow in on the more specific ones down the tree. This means you'll have to make several passes over the data – but you'll also be able to annotate much faster. It'll also make it easier to measure things like inter-annotator agreement.

> [@Gregory-Howard](#):
>
> BTW, the categories have levels, can we choose the training level?

What do you mean by training level?

> [@Gregory-Howard](#):
>
> Last question can we contribute on Prodigy ?

Sure! You can easily write your own [custom recipe scripts](https://prodi.gy/docs/workflow-custom-recipes) and [custom interfaces](https://prodi.gy/docs/web-app#html-templates) with HTML templates. The source of the built-in recipes is also included in the package, so you can modify them or use them for inspiration. You can also use Prodigy as a Python library and write your own extensions for it.

Many users have already shared their custom recipes and workflows on the forum, and we also have a [`project` tag](https://support.prodi.gy/tags/project) for more complex solutions. We're also working on a `prodigy-recipes` repo that makes it easier to contribute to the built-in recipes and share your own recipes with others.

---

<div class="post-metadata">

**Author:** ![Gregory-Howard](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/gregory-howard/32/320_2.png) [@Gregory-Howard](https://support.prodi.gy/u/Gregory-Howard)\
**Post date:** [March 5, 2018, 9:33am UTC](https://support.prodi.gy/t/manual-text-classification/362/3 "2018-03-05T09:33:50Z")

</div>

Thanks for the answers !

> What do you mean by training level?

For exemple a News Title :

> "Italy is heading for a hung parliament with a euroskeptic, right-wing party seeing strong gains"

This should be classified as : **politics/election/national election**  
My point is : can we classify every expression into **politics** ; **society** or **sport** etc ...  
Then every **politics** into **election** , **government** etc ...  
Then have a model that can chose between predicting into **politics** level (1) or **election** level (2)
