ams-core-api / core /intent_parser.py
Amssou's picture
Create intent_parser.py
5a6800c verified
Raw
History Blame Contribute Delete
1.4 kB
import re
class IntentParser:
def parse(self, message: str):
text = message.lower()
intent = "unknown"
count = 1
theme = text
# =========================
# EXPLAIN
# =========================
if "explique" in text or "expliquer" in text:
intent = "explain"
theme = text.replace("explique", "")
theme = theme.replace("expliquer", "")
theme = theme.strip()
return {
"intent": intent,
"count": 1,
"theme": theme
}
# =========================
# CREATE VIDEO
# =========================
if "video" in text or "vidéo" in text:
intent = "create_video"
numbers = re.findall(r"\d+", text)
if numbers:
count = int(numbers[0])
elif "plusieurs" in text:
count = 5
theme = re.sub(
r"cree|crée|video|vidéo|\d+|sur|plusieurs",
"",
text
)
theme = theme.strip()
return {
"intent": intent,
"count": count,
"theme": theme
}
return {
"intent": intent,
"count": count,
"theme": theme
}