Salta el contingut

Rúbrica PR5071/01: Chatbot amb Rasa i Docker

Informació General

Camp Detalls
Pràctica PR5071/01 — Chatbot en Català amb Rasa i Docker
Mòdul 5071 — Models d'Intel·ligència Artificial
Resultat aprenentatge RA5, RA6
Pes en la nota del mòdul 20%
Lliurament Fitxer ZIP amb nom PR5071/01_nom_cognoms.zip
Defensa oral Presentació de 10 minuts + 5 minuts de preguntes

Criteris d'Avaluació

Criteri 1: Funcionament del chatbot (30%)

Avalua si el chatbot funciona correctament des d'un punt de vista tècnic: s'entrena sense errors, respon als intents definits i gestiona adequadament els casos no reconeguts.

Nivell Puntuació Descriptor
Excel·lent 9-10 El chatbot s'entrena sense cap error ni advertiment. Reconeix correctament tots els intents definits amb frases noves no vistes durant l'entrenament. Gestiona el fallback de manera elegant i informativa. L'API REST respon correctament a totes les proves. El Docker funciona amb les comandes exactes del README sense necessitat de modificació.
Notable 7-8 El chatbot s'entrena amb advertiments menors que no afecten el funcionament. Reconeix correctament la majoria dels intents (80%+) però falla ocasionalment amb frases molt allunyades dels exemples. El fallback funciona. L'API REST respon a la majoria de proves. El Docker requereix un ajust menor de les comandes.
Aprovat 5-6 El chatbot s'entrena però amb errors de configuració que han estat resolts manualment. Reconeix correctament els intents bàsics (salutació i comiat) i algun intent temàtic, però falla en casos intermedis. El fallback pot estar configurat però no funciona de manera consistent. L'API REST funciona parcialment.
Insuficient < 5 El chatbot no s'entrena correctament o produeix errors en l'entrenament que no han estat resolts. Reconeix menys del 50% dels intents definits. El fallback no funciona o no està configurat. L'API REST no respon o respon amb errors.

Criteri 2: Qualitat del diàleg en català (20%)

Avalua la naturalitat, correcció lingüística i riquesa dels diàlegs en català: exemples NLU, respostes del bot i cobertura de registres lingüístics.

Nivell Puntuació Descriptor
Excel·lent 9-10 Tots els exemples NLU i les respostes del bot estan escrits en un català correcte (ortografia, gramàtica, sintaxi). Els exemples inclouen varietat de registres: formal, col·loquial, abreviatures habituals. Les respostes del bot són naturals, informatives i apropiades per al context d'un institut. Cap error d'accentuació ni de concordança. Mínim 15 exemples per intent.
Notable 7-8 Els exemples i les respostes estan majoritàriament en català correcte, amb errors ortogràfics o gramaticals puntuals (màxim 2-3 per fitxer). Les respostes del bot són informatives. Hi ha varietat en els exemples NLU. Mínim 12 exemples per intent.
Aprovat 5-6 El contingut és reconeixiblement en català però amb errors sistemàtics (accents, concordança de gènere i nombre, castellanismes evidents). Les respostes del bot son funcionals però massa breus o genèriques. Mínim 10 exemples per intent.
Insuficient < 5 El contingut conté barreja de castellà i català, o les respostes estan majoritàriament en castellà. Menys de 10 exemples per intent o els exemples són molt similars entre ells (poca variació lingüística).

Criteri 3: Personalització amb nom de l'alumne (10%)

Avalua que el projecte incorpori la identificació personal de l'alumne als elements clau tal com s'indica a les instruccions de la pràctica.

Nivell Puntuació Descriptor
Excel·lent 9-10 El nom del bot és exactament Assistent_[Nom]_[Cognoms]. Les comandes Docker inclouen --name [nom]-[cognoms] a tots els passos (init, train, shell, server). El fitxer Python d'accions (si n'hi ha) inclou el nom. El fitxer ZIP porta el nom correcte. El sender de les proves API usa el nom de l'alumne.
Notable 7-8 El nom del bot és correcte. La majoria de comandes Docker inclouen el nom (pot faltar en 1-2 passos). El fitxer ZIP porta el nom. El sender de les proves pot no incloure el nom.
Aprovat 5-6 El nom del bot inclou el nom de l'alumne però no segueix exactament el format Assistent_[Nom]_[Cognoms]. Algunes comandes Docker inclouen el nom. El fitxer ZIP porta el nom.
Insuficient < 5 El nom del bot és el genèric "MyBot" o similar. Les comandes Docker no inclouen el nom de l'alumne. El fitxer ZIP no porta el nom de l'alumne.

Criteri 4: Cobertura de casos d'ús (20%)

Avalua l'amplitud i la profunditat del domini definit: nombre d'intents, qualitat de les stories i cobertura de situacions reals d'una conversa d'institut.

Nivell Puntuació Descriptor
Excel·lent 9-10 Mínim 7 intents, tots rellevants i ben diferenciats. Les stories cobreixen converses de múltiples torns (mínim 3 passos) i inclouen bifurcacions. Hi ha almenys una acció personalitzada Python (class Action). Les respostes del bot cobreixen tots els casos d'ús típics d'un estudiant que contacti l'assistent de l'institut. La configuració inclou entities i slots.
Notable 7-8 Mínim 6 intents ben diferenciats. Les stories inclouen converses de múltiples torns. No hi ha accions personalitzades però les respostes estàtiques cobreixen bé el domini. La configuració usa entities o slots.
Aprovat 5-6 Mínim 5 intents (mínim exigit), alguns poc diferenciats entre ells. Les stories cobreixen converses bàsiques (1-2 torns). No hi ha entities ni slots. El domini cobreix les necessitats mínimes però no és gaire realista.
Insuficient < 5 Menys de 5 intents o intents idèntics als de la plantilla per defecte de Rasa sense adaptació al context de l'institut. Stories trivials (només 1 pas). El domini és genèric i no específic de l'institut.

Criteri 5: Documentació (10%)

Avalua la qualitat del fitxer README i de la documentació interna del projecte (comentaris als fitxers YAML i Python).

Nivell Puntuació Descriptor
Excel·lent 9-10 El README explica: (1) com executar el projecte pas a pas amb comandes exactes, (2) les decisions de disseny preses (per quin motiu s'han triat els intents i les respostes), (3) les limitacions identificades del chatbot, (4) les respostes reflexionades a les 5 preguntes de reflexió. Els fitxers YAML inclouen comentaris que expliquen les seccions principals.
Notable 7-8 El README explica com executar el projecte i inclou les respostes a les preguntes de reflexió. Les decisions de disseny no estan documentades o ho estan parcialment. Algun comentari als fitxers YAML.
Aprovat 5-6 El README inclou les comandes d'execució però és mínim. Les respostes a les preguntes de reflexió estan presents però poc elaborades (1-2 frases per pregunta). Pocs o cap comentari als fitxers.
Insuficient < 5 No hi ha README o és el fitxer genèric de Rasa. Les preguntes de reflexió no estan contestades o les respostes mostren que no s'ha entès la pràctica. Cap comentari als fitxers.

Criteri 6: Defensa oral (10%)

Avalua la capacitat de l'alumne de presentar i defensar el seu treball, demostrar que ha entès el que ha implementat i respondre preguntes tècniques.

Nivell Puntuació Descriptor
Excel·lent 9-10 Presentació clara i estructurada de 8-10 minuts. L'alumne fa una demostració en directe del chatbot (shell o API). Explica amb claredat l'arquitectura NLU + diàleg de Rasa i les decisions de disseny preses. Respon correctament preguntes tècniques sobre com funcionen les stories, les rules i el fallback. Pot comparar Rasa amb un LLM amb arguments propis.
Notable 7-8 Presentació clara de 7-10 minuts amb demostració funcional. Explica l'arquitectura Rasa amb alguna imprecisió menor. Respon la majoria de preguntes tècniques correctament. La comparativa Rasa/LLM és bàsica però correcta.
Aprovat 5-6 Presentació de 5-8 minuts. La demostració funciona però l'explicació és superficial. Respon preguntes tècniques senzilles però té dificultats amb les que requereixen comprensió conceptual. Demostra que ha fet la pràctica però no domina tots els conceptes.
Insuficient < 5 La presentació és molt breu (< 5 minuts) o no hi ha demostració funcional. No pot explicar com funciona Rasa. No respon les preguntes tècniques de manera satisfactòria. Hi ha evidències que la pràctica ha estat copiada o generada per IA sense comprensió.

Taula Resum de Puntuació

# Criteri Pes Puntuació (0-10) Nota ponderada
1 Funcionament del chatbot 30%
2 Qualitat del diàleg en català 20%
3 Personalització (nom alumne) 10%
4 Cobertura de casos d'ús 20%
5 Documentació 10%
6 Defensa oral 10%
TOTAL 100% __ / 10

Penalitzacions

Les situacions següents impliquen una penalització automàtica sobre la nota final:

Situació Penalització
Lliurament fora de termini (per cada dia de retard) -0,5 punts
Fitxer ZIP amb nom incorrecte (sense el nom de l'alumne) -0,5 punts
Contingut en castellà en lloc de català (per fitxer afectat) -1 punt
Evidència d'haver copiat d'un altre alumne Suspens automàtic (0)
Impossibilitat de fer funcionar el projecte amb les instruccions del README -2 punts

Preguntes Tipus per a la Defensa Oral

El professorat pot fer qualsevol de les preguntes següents durant la defensa:

  1. Explica la diferència entre un intent, una story i una rule a Rasa. Posa un exemple del teu projecte per a cada concepte.
  2. Quin algorisme usa el DIETClassifier per classificar intents? Quin és el paper dels epochs en l'entrenament?
  3. Com funciona el FallbackClassifier? Quin threshold has configurat i per quin motiu?
  4. Si un usuari escriu "Quin és l'horari de tarda?" i el model ho classifica com a fora_de_domini, quin seria el problema i com ho solucionaríes?
  5. Per quin motiu Rasa pot ser millor que ChatGPT per a un chatbot de secretaria d'un hospital?
  6. Explica com funciona el Tracker de Rasa. Com s'usa per a gestionar converses de múltiples torns?
  7. Quines millores afegiríes al teu chatbot si tinguessis dues setmanes més de temps?

Recordatori

La nota mínima per superar la pràctica és 5 sobre 10 en la nota global ponderada. Una nota inferior a 3 en el criteri de Funcionament (criteri 1) implica no superar la pràctica independentment de la resta de criteris.