Spaces:
Runtime error
Runtime error
File size: 1,167 Bytes
47405c0 42dc04a 47405c0 42dc04a 47405c0 42dc04a 47405c0 42dc04a 47405c0 42dc04a 47405c0 42dc04a 47405c0 42dc04a 47405c0 42dc04a | 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 | import re
from langdetect import detect
# Bersihkan teks dari filler dan simbol
def clean_text(text):
text = text.lower()
text = re.sub(r"\b(uh|um|eee|hmm|ah|eh|hmm)\b", "", text) # hapus filler umum
text = re.sub(r"[^a-zA-Z\s]", "", text) # hapus simbol
text = re.sub(r"\s+", " ", text).strip() # rapikan spasi
return text
# Cek apakah teks cukup panjang
def is_valid_length(text, min_words=3):
return len(text.split()) >= min_words
# Cek apakah teks dalam Bahasa Indonesia
def is_indonesian(text):
try:
return detect(text) == "id"
except:
return False
# Fungsi utama validasi
def validate_transcription(text):
if not text or text.strip() == "":
return False, "Maaf, saya tidak bisa mendengar dengan jelas. Bisa diulang lagi?"
cleaned = clean_text(text)
if not is_valid_length(cleaned):
return False, "Terima kasih. Boleh ceritakan sedikit lebih panjang agar saya bisa memahami dengan lebih baik?"
if not is_indonesian(cleaned):
return False, "Maaf, saya hanya bisa memahami Bahasa Indonesia untuk saat ini."
return True, cleaned
|