ada dua celah (batasan) yang terlalu ketat pada sistem sebelumnya:
Skor Relevansi Terlalu Tinggi (
relevance_score >= 2): Sebelumnya, saya mengatur agar artikel yang tampil minimal mendapat skor 2. Artinya, jika kata "rumus" hanya ada di dalam teks artikel (bukan di Judul atau Kategori), skornya hanya 1. Karena skornya 1 (di bawah batas 2), artikel tersebut disembunyikan oleh sistem.Batas Huruf (
strlen > 2): Batasan ini membuang kata yang panjangnya cuma 2 huruf. Padahal di dunia pendidikan/teknologi, kata 2 huruf itu sangat penting (contoh: "AI", "SD", "TK", "UI", "UX").
Mari kita sempurnakan algoritmanya. Saya telah merombak rasio nilainya: Judul = 5 poin, Kategori = 3 poin, Isi = 1 poin, dan menurunkan batas lolos menjadi 1 poin. Jadi, sekecil apa pun kata itu tersembunyi di dalam isi paragraf, sistem pasti akan menemukannya!
menambahkan fungsi PHP (Regex & Substring) yang akan memindai isi artikel, mengambil potongan paragraf yang mengandung kata kunci Anda, lalu membungkus kata kunci tersebut dengan highlight warna kuning ()
Sistem pencarian bawaan database (SQL) memang cenderung mencocokkan kata secara acak. Jika pengunjung mengetik "Bagaimana cara membuat web", sistem lama akan memunculkan semua artikel yang mengandung kata "cara" atau "membuat", sehingga hasilnya melenceng ke mana-mana.
Untuk membuatnya benar-benar pintar layaknya AI, kita harus membangun Logika Pembobotan (Relevance Scoring) & Penyaringan Kata Hubung (Stop-Words).
Dengan kode baru di bawah ini:
Sistem akan membuang kata-kata tidak penting seperti "cara", "bagaimana", "yang", "di", dll.
Sistem akan menilai artikel. Jika kata kunci ada di Judul, nilainya 3. Jika di Kategori, nilainya 2. Jika hanya lewat di Isi teks, nilainya 1.
Artikel yang nilainya di bawah standar tidak akan ditampilkan.
Hasil maksimal dibatasi hanya 3 artikel terbaik agar tidak menumpuk.
terlihat jelas bahwa sistem menyorot (highlight) kata "teks" yang kebetulan berada di tengah-tengah kata "terdeteksi" (terde-teks-i).
Di dunia pemrograman, ini disebut sebagai Partial Match (pencocokan sebagian). Sistem AI kita sebelumnya terlalu "bersemangat" sehingga asal ada urutan huruf yang sama, langsung disorot, meskipun itu bukan kata yang berdiri sendiri.
Untuk mengatasi ini agar AI tidak terlihat "konyol" dengan memotong kata tanpa makna, kita harus menerapkan aturan Word Boundary (Batas Kata) menggunakan kode khusus Regex yaitu
. Dengan kode, sistem akan diinstruksikan: "Hanya sorot dan cari jika kata tersebut berdiri sendiri, bukan bagian dari kata lain!"