Bagaimana cara membuat “answer engine” seperti Google?

March 07, 2019 by




























Anggaplah kita bekerja dalam koleksi dokumen.
Pertama kita mulai dengan membangun mesin pencari dokumen. Mesin pencari bertugas melakukan ekstraksi dokumen sebagai koleksi term yang diasosiasikan dengan dokumen yang mengandung term tersebut. Kemudian Mesin pencari akan membuat indeks untuk proses pencarian dokumen berdasarkan term.
Selanjutnya kita lihat lebih rinci tentang mesin pencari khususnya pada bagian yang dicetak tebal:
  • ekstraksiterm dapat berupa kata (paling sederhana), frase yang merujuk ke suatu konsep (kata benda, kata kerja). kompleksitas term menentukan algoritma ekstraksi apa yang dibutuhkan dari sekadar pemisahan string hingga pengenalan entitas nama, disambiguasi, dan penautan (named entity recognition, disambiguation, and linking)
  • proses pencarian umumnya berupa bahasa kueri. bentuk kueri paling sederhana hanya berupa konjungsi (AND). ekspresivitas kueri bertambah dengan adanya negasi dan turunannya (ekspresi “atau”/OR). bahasa kueri juga bisa menjadi lebih kompleks seperti SPARQL yang juga melibatkan proses seleksi, transformasi, dan penggunaan layanan eksternal (misal data kontekstual seperti lokasi, cuaca, riwayat pribadi, dst).
Selanjutnya dibutuhkan Mesin penjawab yang memanfaatkan mesin pencari. Tugas mesin penjawab adalah menerjemahkan pertanyaan masukan menjadi ekspresi kueri yang dipahami mesin pencari, kemudian mengolah lagi hasil dari mesin pencari untuk disajikan sebagai jawaban.
Proses analisis pertanyan bergantung pada kompleksitas masukan (pertanyaan) dan ekspresivitas proses pencarian. Seperti halnya pada mesin pencari, proses ini melibatkan mengekstraksi informasi (seperti ekstraksi pada dokumen pada mesin pencari) serta petunjuk lainnya. Sebagai pembanding dengan ekstraksi informasi pada mesin pencari, ekstraksi informasi pada mesin penjawab juga mencari petunjuk-petunjuk seperti jenis pertanyaan, ekspektasi jenis jawaban, serta petunjuk yang membatasi jawaban yang diinginkan (filter & constraints).
Proses selanjutnya adalah membuat konstruksi kueri yang spesifik berdasarkan informasi yang telah diekstrak dari proses analisis pertanyaan. Eksekusi kueri pada mesin pencari menghasilkan koleksi dokumen yang berpotensi mengandung “jawaban”.
Terakhir adalah proses pengemasan atau konstruksi dalam bentuk jawaban. Bagian ini bertugas menggabungkan (fusion) dan memilih informasi dari koleksi dokumen dengan cara mengekstrak bagian tertentu dari dokumen, memfilter, dan menyusun sehingga menjadi bentuk jawaban yang sesuai.

0 comments:

Post a Comment