# Challenges with Extracting Arabic Entities in Rasa for a Multi-Intent Chatbot

**URL:** <https://forum.rasa.com/t/challenges-with-extracting-arabic-entities-in-rasa-for-a-multi-intent-chatbot/66832>\
**Category:** Rasa Open Source\
**Created:** [April 20, 2025, 11:02am UTC](https://forum.rasa.com/t/challenges-with-extracting-arabic-entities-in-rasa-for-a-multi-intent-chatbot/66832 "2025-04-20T11:02:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ashaaOufi](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/ashaaoufi/32/25135_2.png) [@ashaaOufi](https://forum.rasa.com/u/ashaaOufi)\
**Post date:** [April 20, 2025, 11:02am UTC](https://forum.rasa.com/t/challenges-with-extracting-arabic-entities-in-rasa-for-a-multi-intent-chatbot/66832/1 "2025-04-20T11:02:52Z")

</div>

Hi Rasa Community,

I’m currently working on an Arabic-language chatbot designed to assist students with academic inquiries. The chatbot is intended to handle a wide range of intents—over 100 in total—covering topics like course details, academic guidance, career advice, graduation requirements, and more. While I’ve made significant progress in developing the bot, I’m encountering challenges specifically with **entity extraction** for Arabic text.

The Problem: My chatbot uses custom entities (e.g., `course_name`) to identify key pieces of information in user queries. For example:

- User input: “Tell me about Physics”
- Expected entity extraction: `course_name = Physics`

However, the NLU model often fails to extract these entities correctly when users phrase their questions in natural or informal Arabic. For instance:

- Input: “حكيلي عن الكيمياء” (Tell me about Chemistry) → Fails to extract `course_name`.
- Input: “شو بتحكي مادة الكيميا” (What does the subject Chemistry cover?) → Also fails to extract `course_name`.

This issue is particularly problematic because the chatbot relies on these entities to provide accurate responses. Without proper entity extraction, the bot defaults to fallback responses like:

> “Please specify the name of the course you’re asking about.”

What I’ve Tried So Far: Training Data:

- I’ve added a variety of examples for each intent, including synonyms and informal phrasing, in my `nlu.yml` file. For example:

- I’ve also used lookup tables to include a comprehensive list of course names:

- I’ve defined synonyms for common variations of course names, such as:

- I’ve implemented custom actions to handle cases where entities are missing, prompting users for clarification. For example:

Despite these efforts, the model still struggles with entity extraction, especially for informal or slightly misspelled Arabic inputs.

Are there specific techniques or tools in Rasa that work better for Arabic NLU?  
How can I improve entity extraction for informal Arabic phrases or variations of words?  
Would using pre-trained language models (e.g., BERT, AraBERT) help with entity recognition in Arabic? If so, how can I integrate them into my Rasa pipeline?  
Any suggestions for optimizing the NLU model when dealing with a large number of intents (100+)?

I’d greatly appreciate any advice, tips, or resources from the community to help resolve this issue. Thank you in advance for your support!

Best regards,
