← All use cases
CASE STUDY / BUILT WITH BASAL

Semantic categorisation of text

Mateusz

English translation of a contributor’s story. Read the Polish original →

In my Data Science team, we assess articles from more than a dozen news and advice websites. We do not generate text; we need decisions: which category a text belongs to, whether it is news, whether it has a political slant, and whether it suits a particular campaign. basal is a perfect fit for that.

We already had an article assessment pipeline. basal speaks the same language as the models we used before, so adding it took one afternoon. We changed neither the questions nor the result format. We select the model with one field in the request, so we can run the same questions on different models and immediately compare results. A single L4 GPU is enough.

What we appreciate most is its Polish. Our taxonomy has many exclusions and homonyms:
- “mandat drogowy” (a traffic fine) belongs to Automotive, while “mandat poselski” (a parliamentary mandate) belongs to Politics;
- “Rak” as a zodiac sign belongs to Horoscopes, not disease;
- a recent crime belongs to Current Events, while a trial belongs to Crime and Investigations.

basal reads these rules as we wrote them for the editorial team, without translating them into English or fine-tuning. A few examples from one batch:
- a report of shelling on the front line → Military and Defence;
- an award for a distinguished speedway rider → Speedway;
- a remembrance of a deceased cinematographer → Film and TV.

We normally work with gpt-5.6-luna. On the same articles and categories, basal agrees with it in 100% of cases!!! GPU time costs around USD 1.40 per hour, processing several hundred articles with the full set of questions. For us, that changes the scale: we can finally assess our entire output.

Thank you, Remek, for the open weights and solid documentation. For our Polish media use case, it is the best solution we have found so far.

Submitted by a model user and published after moderation.

How do you use basal?

Share your use case