Spaces:
Runtime error
Runtime error
| 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 | |