File size: 1,395 Bytes
5a6800c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 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
} |