Pengetahuan

Cara Membangun Algoritma Ranking Pencarian dengan Machine Learning

Dewabiz
March 14, 2019
Cara Membangun Algoritma Ranking Pencarian dengan Machine Learning
Cara Membangun Algoritma Ranking Pencarian dengan Machine Learning

Artikel ini akan memecah masalah Machine Learning yang dikenal sebagai Learning to Rank. Dan jika Anda ingin bersenang-senang, Anda bisa mengikuti langkah yang sama untuk membangun algoritma peringkat web Anda sendiri.

Mengapa Machine Learning?

Definisi standar Machine Learning adalah sebagai berikut:

“Pembelajaran mesin adalah ilmu untuk membuat komputer bertindak tanpa diprogram secara eksplisit.”

Pada level tinggi, Machine Learning pandai mengidentifikasi pola dalam data dan menggeneralisasi berdasarkan pada sejumlah kecil.

Untuk peringkat web, hal itu berarti membangun model yang akan melihat beberapa SERP yang ideal dan mempelajari fitur mana yang paling prediktif serta relevansi.

Dengan ini membuat Machine Learning adalah cara yang scalable untuk membuat algoritma peringkat web. Anda tidak perlu mempekerjakan ahli dalam setiap topik yang memungkinkan untuk merekayasa algoritma Anda dengan cermat.

Alih-alih, berdasarkan pola yang dibagikan oleh situs sepak bola yang hebat dan situs bisbol yang hebat, model tersebut akan belajar mengidentifikasi situs bola basket yang hebat atau situs hebat untuk olahraga yang bahkan belum ada!

Keuntungan lain dari memperlakukan peringkat web sebagai masalah machine learning adalah Anda dapat menggunakan penelitian selama puluhan tahun untuk secara sistematis mengatasi masalah tersebut.

Ada beberapa langkah kunci yang pada dasarnya sama untuk setiap proyek machine learning. Diagram di bawah ini menyoroti apa langkah-langkah dalam konteks pencarian.

1. Tetapkan Tujuan Algoritma Anda

Menentukan tujuan terukur yang tepat adalah kunci keberhasilan setiap proyek. Dalam dunia machine learning, ada pepatah yang menyoroti dengan sangat penting tentang mendefinisikan metrik yang tepat. “You only improve what you measure.”

Setiap orang akan memiliki pendapat berbeda tentang apa yang membuat suatu hasil relevan, berwibawa, atau kontekstual. Setiap orang akan memprioritaskan dan menimbang aspek-aspek ini secara berbeda.

Di situlah pedoman penilaian kualitas pencarian ikut berperan.

Pada Bing, SERP ideal mereka adalah yang memaksimalkan kepuasan pengguna. Tim mereka telah banyak memikirkan apa artinya itu dan hasil seperti apa yang perlu mereka tunjukkan untuk membuat pengguna mereka bahagia.

Hasilnya setara dengan spesifikasi produk untuk algoritma peringkat mereka. Data tersebut menguraikan apa hasil yang hebat (atau buruk) untuk kueri serta mencoba untuk menghapus subjektivitas dari persamaan.

Untuk lapisan kompleksitas tambahan adalah bahwa kualitas pencarian bukan binary. Terkadang Anda mendapatkan hasil yang sempurna dan kadang-kadang Anda mendapatkan hasil yang mengerikan, tetapi yang paling sering Anda dapatkan sesuatu diantaranya.

Untuk menangkap seluk-beluk ini, bing meminta seseorang untuk menilai setiap hasil pada skala 5 poin.

Akhirnya, untuk query dan daftar hasil penilaian berperingkat, Anda dapat menilai SERP Anda menggunakan beberapa formula pencarian informasi klasik.

Discounted kumulative gain (DCG) adalah metrik kanonik yang menangkap intuisi bahwa semakin tinggi hasilnya dalam SERP, semakin penting untuk memperbaikinya.

2. Kumpulkan Beberapa Data

Sekarang Anda memiliki definisi objektif tentang kualitas, skala untuk menilai setiap hasil yang diberikan, dan dengan perluasan metrik untuk menilai setiap SERP yang diberikan. Langkah selanjutnya adalah mengumpulkan beberapa data untuk melatih algoritma Anda.

Dengan kata lain, Anda akan mengumpulkan satu set SERP dan meminta seseorang untuk menilai hasil menggunakan panduan yang ada.

Yang di ingin rangkaian SERP ini mewakili hal-hal yang dicari oleh basis pengguna yang luas. Cara mudah untuk melakukannya adalah dengan melontarkan beberapa pertanyaan yang sering ditanyakan sebelumnya.

Setelah Anda memiliki daftar SERP yang baik (baik kueri maupun URL), Anda mengirimkan daftar itu ke seseorang untuk menilai dengan memberikan peringkatnya menurut pedoman.

Setelah selesai, Anda akan memiliki daftar permintaan / URL beserta peringkat kualitasnya. Set itu akan terbagi dalam “set pelatihan” dan “set tes”, yang masing-masing digunakan untuk:

Mencoba algoritma Machine Learning.

Mengevaluasi seberapa baik kerja pada kueri yang belum pernah dilihat sebelumnya

3. Tentukan Fitur Model Anda

Peringkat kualitas pencarian didasarkan pada apa yang dilihat oleh pengguna di halaman.

Mesin memiliki pandangan yang sangat berbeda dari data web yang didasarkan pada perayapan dan pengindeksan, serta banyak preprocessing.

Itu karena mesin beralasan dengan angka, tidak secara langsung dengan teks yang terdapat pada halaman.

Langkah selanjutnya membangun algoritma Anda adalah mengubah dokumen menjadi “fitur”.

Dalam konteks ini, fitur adalah karakteristik yang menentukan dari dokumen, yang dapat digunakan untuk memprediksi seberapa relevannya untuk permintaan yang diberikan.

Berikut ini beberapa contohnya.

Fitur sederhana bisa berupa jumlah kata dalam dokumen.

Fitur yang sedikit lebih maju bisa menjadi bahasa dokumen yang terdeteksi (dengan masing-masing bahasa diwakili oleh nomor yang berbeda).

Fitur yang bahkan lebih kompleks adalah semacam skor dokumen berdasarkan grafik tautan. Tentunya, yang satu itu membutuhkan sejumlah besar preprocessing!

Anda bahkan bisa memiliki fitur sintetik, seperti kuadrat panjang dokumen dikalikan dengan log dari jumlah outlink.

Bergantung pada kerumitan fitur yang diberikan, mungkin juga terlalu mahal untuk melakukan prakomputasi secara handal.

Beberapa fitur pasti akan memiliki bobot yang bisa diabaikan dalam model akhir, dalam arti bahwa mereka tidak bisa membantu untuk memprediksi kualitas dengan satu atau cara lain.

Beberapa fitur bahkan mungkin memiliki bobot negatif, yang berarti mereka agak tidak relevan dengan prediksi!

Sebagai catatan tambahan, kueri juga akan memiliki fitur sendiri. Karena ada seseorang yang mencoba mengevaluasi kualitas hasil pencarian untuk permintaan yang diberikan. Penting bagi Anda agar algoritma belajar dari keduanya.

4. Mencoba Algoritma Pemeringkatan Anda

Di sinilah semuanya bisa terlihat. Setiap dokumen dalam indeks diwakili oleh ratusan fitur. Mereka sepeti bing memiliki serangkaian kueri dan URL, bersama dengan peringkat dan kualitasnya.

Tujuan dari algoritma peringkat adalah untuk memaksimalkan peringkat dari SERP ini hanya dengan menggunakan fitur dokumen (dan permintaan).

Secara intuitif Anda mungkin ingin membangun model yang memprediksi peringkat dari setiap pasangan permintaan / URL, juga dikenal sebagai pendekatan “pointwise”. Ternyata itu adalah masalah yang sulit dan tidak persis seperti apa yang kita inginkan.

Metrik yang relevan dapat menangkap gagasan tentang urutan yang benar. Hal ini adalah jumlah inversi di peringkat Anda, berapa kali hasil yang berperingkat lebih rendah muncul di atas peringkat yang lebih tinggi. Pendekatan ini dikenal sebagai “pairwise”, dan mereka ada juga yang menyebut inversi ini “pairwise errors”.

5. Evaluasi Seberapa Baik Anda Melakukannya

Hal pertama yang akan kita lakukan adalah mengukur kinerja algoritma kami pada “set tes” itu.

Jika Anda melakukan pekerjaan dengan baik, kinerja algoritma pada set tes harus sebanding dengan kinerjanya pada set pelatihan. Namun terkadang bukan itu masalahnya. Risiko utama adalah apa yang disebut “overfitting”, yang berarti terlalu mengoptimalkan model untuk SERP diset pelatihan.

Mari kita bayangkan skenario karikatural di mana algoritme akan meng-hardcode hasil terbaik untuk setiap permintaan. Maka itu akan tampil sempurna di set pelatihan, untuk mengetahui apa hasil terbaik.

Di sisi lain, itu akan mengisi pada set tes yang tidak memiliki informasi tersebut.

Semoga bermanfaat!

Bagikan Artikel Ini