# No tasks available in v1.10 - texcat.teach

**URL:** <https://support.prodi.gy/t/no-tasks-available-in-v1-10-texcat-teach/3081>\
**Category:** Uncategorized\
**Tags:** usage, textcat\
**Created:** [June 25, 2020, 11:55pm UTC](https://support.prodi.gy/t/no-tasks-available-in-v1-10-texcat-teach/3081 "2020-06-25T23:55:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![nifty](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/nifty/32/1490_2.png) [@nifty](https://support.prodi.gy/u/nifty)\
**Post date:** [June 25, 2020, 11:55pm UTC](https://support.prodi.gy/t/no-tasks-available-in-v1-10-texcat-teach/3081/1 "2020-06-25T23:55:28Z")

</div>

I have a news dataset of 70K headlines and I am trying to categorize them by topic (10 in total). I store the headlines in a `txt` file and also pass a set of patterns in `jsonl` format.

This is what I use to run prodigy:

```python
prodigy textcat.teach my_dataset en_core_web_lg data/my-data.txt --label t1,t2,t3,... --patterns data/my-patterns.jsonl --loader txt

```

I associate around 20 pattern words to each topic.

Irrespective of whether or not I run things with the patterns `jsonl` I keep getting a **No tasks available** prompt after around 20-30 annotations.

With 10 topics and 70K headlines I doubt the active learning is good enough to disambiguate between all the topics?

Many thanks for any help! 😊

---

<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:** [June 26, 2020, 1:25pm UTC](https://support.prodi.gy/t/no-tasks-available-in-v1-10-texcat-teach/3081/2 "2020-06-26T13:25:42Z")

</div>

Hi! If your .txt actually has 70k unique lines, it definitely sounds a bit suspicious that it exits so early. Skipping examples is expected (and kind of the point of using `textcat.teach`), but it should only happen once you've moved through all the batches. When you see "no tasks available" and reload the browser, do you get new examples? This could indicate that something on the server is taking too long and the queue runs out before it gets new examples 🤔

Otherwise, what you describe here sounds similar to the question in [this thread](https://support.prodi.gy/t/best-use-of-textcat-teach/3035/3) so I'd probably also give similar advice:

> [@Best use of \`textcat.teach\`](https://support.prodi.gy/t/best-use-of-textcat-teach/3035/3):
>
> The idea of the textcat.teach recipe is that it uses the model in the loop to select the most relevant examples for annotation, based on the score (e.g. pioritising the examples with a score closest to 0.5, as those may be the most "uncertain" predictions). This also means that the recipe will skip examples with high and low scores, so you're not going to see all examples in your dataset. The recipe will use an exponential moving average go decide which scores to consider. This prevents Prodigy…

If you have a lot of patterns, I think it'd probably be a good idea in your case to start with some basic pattern matching with `prodigy match`, collect some initial data to give the model a head-start and get a feeling for how common/rare the individual labels are.

---

<div class="post-metadata">

**Author:** ![nifty](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/nifty/32/1490_2.png) [@nifty](https://support.prodi.gy/u/nifty)\
**Post date:** [June 26, 2020, 11:36pm UTC](https://support.prodi.gy/t/no-tasks-available-in-v1-10-texcat-teach/3081/3 "2020-06-26T23:36:18Z")

</div>

I do indeed get new examples after a reload. For now I have been annotating 20-30 examples and then re-loading to get a new batch. Could it be because I'm using the large model `en_core_web_lg` ? 🤔

---

<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:** [June 27, 2020, 9:43am UTC](https://support.prodi.gy/t/no-tasks-available-in-v1-10-texcat-teach/3081/4 "2020-06-27T09:43:40Z")

</div>

Ah, that's interesting! The model size shouldn't make a big difference, because it shouldn't be that much slower at inference, it just takes slightly longer on on initial load 🤔

How long are your texts on average? If they are quite long, can you split them into smaller chunks? You could also experiment with a larger `batch_size`, so more examples are queued up at once

---

<div class="post-metadata">

**Author:** ![nifty](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/nifty/32/1490_2.png) [@nifty](https://support.prodi.gy/u/nifty)\
**Post date:** [June 28, 2020, 1:25am UTC](https://support.prodi.gy/t/no-tasks-available-in-v1-10-texcat-teach/3081/5 "2020-06-28T01:25:06Z")

</div>

Text sizes are small, ~5-50 tokens. Here is their distribution:

 ![Screen Shot 2020-06-27 at 23.15.07](https://us1.discourse-cdn.com/flex020/uploads/prodigy/original/2X/4/4c26cbe616f24c152b1f595ce42bd26beccd690e.png)

I've just labelled 1,000 examples (I love prodigy! 🎉) and have discovered that after a while the variance of the number of annotations before **"No tasks available"** pops up begins to vary more widely. Sometimes it appears as little as 2 or 3 annotations in, other times as many as 100+. To be honest, it's not really that annoying at all - I just reload the page whenever it happens and get back to annotating.

I'll look into the `batch_size` parameter next.
