Perpustakaan dan alat untuk mengaktifkan pengalaman pengguna yang digerakkan data di web.
Untuk pengguna webpack:
Instal dan Konfigurasikan GuessPlugin - Plugin Webpack Guess.js yang mengotomatiskan sebanyak mungkin proses pengaturan untuk Anda.
Jika Anda ingin mencoba modul yang kami tawarkan secara individual, direktori packages berisi tiga paket:
ga - Modul untuk mengambil data terstruktur dari Google Analytics API untuk mempelajari tentang pola navigasi pengguna.parser - Modul yang menyediakan kerangka kerja JavaScript. Ini kekuatan kemampuan yang memukau rute yang diterapkan di plugin tebakan webpack.webpack - Plugin Webpack untuk mengatur pengambilan prediktif di aplikasi Anda. Ini mengkonsumsi modul ga dan parser dan menawarkan sejumlah besar opsi untuk mengkonfigurasi bagaimana pengambilan prediktif harus berfungsi dalam aplikasi Anda.Untuk pengguna non-Webpack:
Alur kerja yang membuat prediktif untuk situs kami menyediakan serangkaian langkah yang dapat Anda ikuti untuk mengintegrasikan pengambilan prediktif menggunakan API Google Analytics ke situs Anda.
Repo ini menggunakan data Google Analytics untuk menentukan halaman mana yang kemungkinan besar akan dikunjungi pengguna selanjutnya dari halaman tertentu. Skrip sisi klien (yang akan Anda tambahkan ke aplikasi Anda) mengirimkan permintaan ke server untuk mendapatkan URL halaman yang harus diambil, lalu prefetch sumber daya ini.
Guess.js menyediakan perpustakaan & alat untuk menyederhanakan pendekatan yang digerakkan oleh data-analitik prediktif untuk meningkatkan pengalaman pengguna di web. Data ini dapat didorong dari sejumlah sumber, termasuk analitik atau model pembelajaran mesin. Tebak.JS bertujuan untuk menurunkan gesekan mengkonsumsi dan menerapkan pemikiran ini ke semua situs dan aplikasi modern, termasuk membangun perpustakaan & alat untuk alur kerja populer.
Menerapkan pemikiran analitik data prediktif ke situs dapat diterapkan dalam sejumlah konteks:
Dengan berkolaborasi di berbagai titik sentuh dalam ekosistem di mana pendekatan berbasis data dapat dengan mudah diterapkan, kami berharap dapat menggeneralisasi infrastruktur umum untuk memaksimalkan penerapannya di tumpukan teknologi yang berbeda.
<link rel=prefetch> untuk navigasi masa depan sangat bergantung pada analitik deskriptif membaca secara manual untuk menginformasikan keputusan mereka tentang apa yang harus dipilih.<link rel=prefetch> saat ini digunakan pada 5% dari total pageload chrome, tetapi ini bisa lebih tinggi.Prioritas besar pertama untuk Guess.js akan meningkatkan kinerja web melalui prediktif prediktif konten.
Dengan membangun model halaman yang mungkin dikunjungi pengguna, mengingat halaman masuk yang sewenang-wenang, solusi dapat menghitung kemungkinan pengguna akan mengunjungi halaman berikutnya atau set halaman dan sumber daya prefetch untuk mereka sementara pengguna masih melihat halaman mereka saat ini. Ini memiliki kemungkinan untuk meningkatkan kinerja beban halaman untuk kunjungan halaman berikutnya karena ada peluang kuat halaman sudah ada di cache pengguna.
Untuk memprediksi halaman berikutnya yang kemungkinan besar akan dikunjungi pengguna, solusi dapat menggunakan API Google Analytics. Data sesi Google Analytics dapat digunakan untuk membuat model untuk memprediksi halaman yang paling mungkin akan dikunjungi pengguna berikutnya di situs. Manfaat dari data sesi ini adalah dapat berkembang seiring waktu, sehingga jika jalur navigasi tertentu berubah, prediksi dapat tetap up to date juga.
Dengan ketersediaan data ini, mesin dapat memasukkan <link rel="[prerender/prefetch/preload]"> Tag untuk mempercepat waktu pemuatan untuk permintaan halaman berikutnya. Dalam beberapa tes, seperti muatan halaman supercharging Mark Edmondson dengan R, ini menyebabkan peningkatan 30% dalam waktu pemuatan halaman. Tanda pendekatan yang digunakan dalam penelitiannya melibatkan menggunakan tag GTM dan pembelajaran mesin untuk melatih model prediksi halaman. Ini adalah tanda ide yang dilanjutkan dalam pembelajaran mesin memenuhi prefetching cloud - cerdas.
Meskipun pendekatan ini sehat, metodologi yang digunakan dapat dianggap sedikit kompleks. Pendekatan lain yang bisa diambil (yang lebih sederhana) berusaha untuk mendapatkan data prediksi yang akurat dari Google Analytics API. Jika Anda menjalankan laporan untuk halaman dan dimensi jalur halaman sebelumnya yang dikombinasikan dengan pageViews dan keluar metrik, ini harus memberikan data yang cukup untuk menangani prefetch untuk halaman paling populer.
ML dapat membantu meningkatkan akurasi keseluruhan prediksi solusi, tetapi bukan kebutuhan untuk implementasi awal. Pengambilan prediktif dapat dicapai dengan melatih model pada halaman yang cenderung berkunjung dan meningkatkan model ini dari waktu ke waktu.
Jaringan saraf yang dalam sangat pandai menggoda kompleksitas yang dapat menyebabkan pengguna memilih satu halaman daripada yang lain, khususnya, jika kami ingin mencoba versi solusi yang melayani halaman yang mungkin dikunjungi oleh pengguna individu vis. Halaman yang mungkin dikunjungi pengguna "umum/median" berikutnya. Urutan halaman tetap (Prev, saat ini, berikutnya) mungkin yang paling mudah untuk mulai berurusan dengan pada awalnya. Ini berarti membangun model yang unik untuk set dokumen Anda.
Pembaruan model cenderung dilakukan secara berkala, jadi orang dapat mengatur pekerjaan malam/mingguan untuk menyegarkan berdasarkan perilaku pengguna baru. Ini bisa dilakukan secara real-time, tetapi kemungkinan kompleks, jadi melakukannya secara berkala mungkin cukup. Orang bisa membayangkan model generik yang mewakili pola perilaku untuk pengguna di situs yang dapat didorong oleh set status terlatih, Google Analytics, atau deskripsi khusus Anda plugin menggunakan lapisan baru ke dalam router yang memberikan situs kemampuan untuk secara prediksi mengambil halaman masa depan, meningkatkan kinerja pemuatan halaman.
Prefetch spekulatif dapat prefetch halaman kemungkinan akan dinavigasi pada beban halaman. Ini mengasumsikan adanya pengetahuan tentang probabilitas halaman akan membutuhkan halaman atau set halaman berikutnya, atau model pelatihan yang dapat memberikan pendekatan berbasis data untuk menentukan probabilitas tersebut.
Prefetching pada beban halaman dapat dicapai dalam beberapa cara, dari menunda ke UA untuk memutuskan kapan harus prefetch sumber daya (misalnya pada prioritas rendah dengan <link rel=prefetch> ), selama waktu idle halaman (melalui requestIdlecallback () ()) atau pada beberapa interval lain. Tidak diperlukan interaksi lebih lanjut oleh pengguna.
Halaman dapat secara spekulatif memulai konten prefetching ketika tautan di halaman terlihat di viewport, menandakan bahwa pengguna mungkin memiliki peluang lebih tinggi ingin mengkliknya.
Ini adalah pendekatan yang digunakan oleh Gatsby (yang menggunakan reaksi dan reaksi router). Implementasi spesifik mereka adalah sebagai berikut:
<Link> menjadi tidak terlihat, tautan "suara" untuk halaman yang ditautkan untuk menjadi suara prefetch bernilai sedikit lebih sedikit poin setiap kali sehingga tautan di bagian atas halaman diprioritaskan daripada yang lebih rendah ke bawahHalaman dapat mulai secara spekulatif prefetching sumber daya ketika pengguna menunjukkan bahwa mereka tertarik pada beberapa konten. Ini dapat mengambil banyak bentuk, termasuk ketika pengguna memilih untuk melayang di atas tautan atau sebagian dari UI yang akan menavigasi mereka ke halaman terpisah. Browser dapat mulai mengambil konten untuk tautan segera setelah ada indikasi minat yang jelas. Ini adalah pendekatan yang diambil oleh perpustakaan JavaScript seperti InstantClick.
Seperti halnya mekanisme apa pun untuk memilih konten sebelumnya, ini perlu didekati dengan sangat hati -hati. Pengguna pada rencana data terbatas mungkin tidak menghargai atau mendapat manfaat sebanyak mungkin dari halaman yang diambil sebelumnya, khususnya jika mereka mulai memakan data mereka. Ada mekanisme yang bisa diambil oleh situs/solusi untuk memperhatikan kekhawatiran ini, seperti menghormati header save-data.
Prefetching link ke halaman "logout" cenderung tidak diinginkan. Hal yang sama dapat dikatakan dari halaman apa pun yang memicu tindakan pada beban halaman (misalnya pembelian satu klik). Solusi mungkin ingin memasukkan daftar hitam URL yang tidak pernah dipilih untuk meningkatkan kemungkinan halaman yang dipilih menjadi berguna.
Beberapa upaya untuk menyelesaikan proposal serupa di masa lalu telah mengandalkan <link rel=prerender> . Tim Chrome saat ini sedang mengeksplorasi Rel = Prerender yang tidak mendukung NostatePrefetch - versi yang lebih ringan dari mekanisme ini yang hanya dipilih ke cache HTTP tetapi tidak menggunakan keadaan lain dari platform web. Solusi harus menjadi faktor apakah akan mengandalkan penggantian ke rel = prerender atau menggunakan prefetch/preload/pendekatan lainnya.
Ada dua perbedaan utama antara NostatePrefetch dan Prefetch:
Nostate-Prefetch adalah mekanisme, dan <link rel=prefetch> adalah API. Prefetch nostat dapat diminta oleh titik masuk lainnya: prediksi omnibox, tab khusus, <link rel=prerender> .
Implementasinya berbeda: <link rel=prefetch> prefetch satu sumber daya, tetapi nostat-prefetch di atas yang menjalankan pemindai preload pada sumber daya (dalam renderer baru yang baru), menemukan subresource dan prefetch mereka juga (tanpa berulang ke pemindai preload).
Ada tiga jenis analitik data utama yang perlu diperhatikan dalam ruang masalah ini: deskriptif, prediktif, dan preskriptif. Setiap jenis terkait dan membantu tim memanfaatkan berbagai jenis wawasan.
Analisis deskriptif merangkum data mentah dan mengubahnya menjadi sesuatu yang dapat ditafsirkan oleh manusia. Ini dapat melihat peristiwa masa lalu, terlepas dari kapan peristiwa itu terjadi. Analisis deskriptif memungkinkan tim untuk belajar dari perilaku masa lalu dan ini dapat membantu mereka mempengaruhi hasil di masa depan. Analisis deskriptif dapat menentukan halaman apa yang sebelumnya dilihat pengguna situs dan jalur navigasi apa yang telah mereka ambil diberikan halaman entri yang diberikan.
Analisis prediktif “memprediksi” apa yang bisa terjadi selanjutnya. Analisis prediktif membantu kita memahami masa depan dan memberikan wawasan yang dapat ditindaklanjuti oleh tim menggunakan data. Ini memberikan perkiraan kemungkinan hasil di masa depan bermanfaat. Penting untuk diingat, beberapa algoritma dapat memprediksi peristiwa di masa depan dengan akurasi lengkap, tetapi kami dapat menggunakan sebanyak mungkin sinyal yang tersedia bagi kami untuk membantu meningkatkan akurasi dasar. Landasan analisis prediktif didasarkan pada probabilitas yang kami tentukan dari data. Analisis prediktif dapat memprediksi halaman berikutnya atau set halaman yang kemungkinan besar akan dikunjungi pengguna dengan halaman entri yang sewenang -wenang.
Analisis preskriptif memungkinkan resep berbagai kemungkinan tindakan untuk memandu solusi. Analisis preskriptif memberikan saran, berusaha mengukur dampak keputusan di masa depan mungkin harus memberi nasihat tentang kemungkinan hasil sebelum keputusan ini dibuat. Analisis preskriptif bertujuan untuk tidak hanya memprediksi apa yang akan terjadi tetapi melangkah lebih jauh; Menginformasikan mengapa itu akan terjadi dan memberikan rekomendasi tentang tindakan yang dapat memanfaatkan prediksi tersebut. Analisis preskriptif dapat memprediksi halaman berikutnya yang akan dikunjungi pengguna, tetapi juga menyarankan tindakan seperti memberi tahu Anda tentang cara Anda dapat menyesuaikan pengalaman mereka untuk memanfaatkan pengetahuan ini.
Tujuan utama dari model prediksi dalam ruang masalah prefetching adalah untuk mengidentifikasi apa yang diminta oleh permintaan pengguna selanjutnya, mengingat permintaan halaman tertentu. Ini memungkinkan server atau klien untuk membuat pra-pembiakan set halaman berikutnya dan berusaha memastikan mereka berada di cache pengguna sebelum mereka secara langsung menavigasi ke halaman. Idenya adalah untuk mengurangi waktu pemuatan secara keseluruhan. Ketika ini diimplementasikan dengan hati -hati, teknik ini dapat mengurangi waktu akses halaman dan latensi, meningkatkan pengalaman pengguna secara keseluruhan.
Model Markov telah banyak digunakan untuk meneliti dan memahami proses stokastik (distribusi probabilitas acak) [Ref, Ref]. Mereka telah terbukti sangat cocok untuk pemodelan dan memprediksi perilaku penelusuran pengguna. Input untuk masalah ini cenderung menjadi urutan halaman web yang diakses oleh pengguna atau set pengguna (di seluruh situs) dengan tujuan membangun model Markov yang dapat kita gunakan untuk memodelkan dan memprediksi halaman yang kemungkinan besar akan diakses pengguna berikutnya. Proses Markov memiliki negara bagian yang mewakili halaman dan tepi yang diakses yang mewakili probabilitas transisi antara negara -negara yang dihitung dari urutan yang diberikan dalam log analitik. Model Markov yang terlatih dapat digunakan untuk memprediksi keadaan berikutnya yang diberikan satu set negara bagian sebelumnya.
Dalam beberapa aplikasi, model Markov orde pertama tidak seakurat dalam memprediksi perilaku menjelajah pengguna karena ini tidak selalu melihat ke masa lalu untuk membuat perbedaan antara pola berbeda yang telah diamati. Ini adalah salah satu alasan model tingkat tinggi sering digunakan. Model-model tingkat tinggi ini memiliki keterbatasan dengan kompleksitas ruang-negara, cakupan yang kurang luas dan kadang-kadang mengurangi akurasi prediksi.
Salah satu cara [REF] untuk mengatasi masalah ini adalah dengan melatih berbagai model Markov urutan, yang kemudian kami gunakan selama fase prediksi. Ini dicoba dalam model Markov all-kth-order yang diusulkan dalam referensi ini. Namun, ini dapat membuat kompleksitas ruang negara bagian lebih buruk. Pendekatan lain adalah mengidentifikasi pola akses yang sering (berulang paling lama) dan menggunakan serangkaian urutan ini untuk prediksi. Meskipun pendekatan ini dapat memiliki urutan pengurangan besarnya pada kompleksitas ruang-negara, ia dapat mengurangi akurasi prediksi.
Selektif Markov Model (SMM) yang hanya menyimpan beberapa negara dalam model juga telah diusulkan sebagai solusi untuk pengorbanan kompleksitas ruang negara. Mereka mulai dengan model Markov all-kth-order-pendekatan pasca-penanaman kemudian digunakan untuk memangkas keadaan yang tidak diharapkan menjadi prediktor yang akurat. Hasil dari ini adalah model yang memiliki kekuatan prediksi yang sama dari model semua-kth-order dengan lebih sedikit kompleksitas ruang dan akurasi prediksi yang lebih tinggi. Di Deshpane dan Karpis, kriteria yang berbeda untuk memangkas keadaan dalam model sebelum prediksi (frekuensi, kepercayaan diri, kesalahan) dilihat.
Di Mabroukeh dan Ezeife, kinerja model Markov urutan pertama dan ke-2 semantik dipelajari dan dibandingkan dengan SMM SMM tingkat tinggi dan SMM yang diprunik semantik. Mereka menemukan bahwa SMM yang dipaksa semantik memiliki ukuran 16% lebih kecil daripada SMM yang dipaksa frekuensi dan memberikan akurasi yang hampir sama.
Mengamati pola navigasi dapat memungkinkan kami untuk menganalisis perilaku pengguna. Pendekatan ini membutuhkan akses ke identifikasi sesi pengguna, sesi pengelompokan ke dalam kelompok yang sama dan mengembangkan model untuk prediksi menggunakan pola akses saat ini dan sebelumnya. Sebagian besar pekerjaan sebelumnya di bidang ini mengandalkan skema pengelompokan seperti teknik pengelompokan K-means dengan jarak Euclidean untuk meningkatkan kepercayaan prediksi. Salah satu kelemahan menggunakan k-means adalah kesulitan menentukan jumlah kelompok, memilih pusat acak awal dan urutan kunjungan halaman tidak selalu dipertimbangkan. Kumar et al menyelidiki hal ini, mengusulkan teknik pengelompokan hierarkis dengan jarak levenshtein yang dimodifikasi, PageRank menggunakan panjang waktu akses, frekuensi dan model Markov orde yang lebih tinggi untuk prediksi.
Banyak makalah yang dirujuk pada bagian berikut berpusat di sekitar model Markov, aturan asosiasi dan pengelompokan. Makalah yang menyoroti pekerjaan yang relevan terkait dengan penemuan pola untuk akurasi prediksi halaman yang berkembang adalah fokus kami.
Menggunakan model Markov orde pertama untuk memodelkan urutan halaman web yang diminta oleh pengguna untuk memprediksi halaman berikutnya yang cenderung diakses. Rantai Markov memungkinkan sistem untuk memodelkan pola akses URL secara dinamis yang diamati pada log navigasi berdasarkan keadaan sebelumnya. Model Markov yang “dipersonalisasi” dilatih untuk setiap pengguna dan digunakan untuk memprediksi sesi masa depan pengguna. Dalam praktiknya, terlalu mahal untuk membangun model unik untuk setiap pengguna dan biaya penskalaan ini menjadi lebih menantang ketika situs memiliki basis pengguna yang besar.
Makalah pertama untuk menyelidiki model Markov tersembunyi (hmm). Penulis mengumpulkan log server web, memangkas data dan menambal jalur yang dilewati oleh pengguna. Berdasarkan HMM, penulis membangun model spesifik untuk penelusuran web yang memprediksi apakah pengguna memiliki niat untuk membeli secara real-time. Langkah -langkah terkait, seperti mempercepat operasi dan dampaknya ketika dalam mode pembelian diselidiki.
Mengusulkan kerangka kerja untuk memprediksi posisi peringkat halaman berdasarkan peringkat sebelumnya. Dengan asumsi serangkaian peringkat top-k berturut-turut, penulis mengidentifikasi prediktor berdasarkan metodologi yang berbeda. Kualitas prediksi dikuantifikasi sebagai kesamaan antara peringkat yang diprediksi dan aktual. Eksperimen lengkap dilakukan pada dataset skala besar dunia nyata untuk peringkat Ko-K global dan kueri. Berbagai ukuran kesamaan yang ada untuk membandingkan daftar peringkat top termasuk novel yang ditangkap di koran.
Mengusulkan menggunakan model N-hop Markov untuk memprediksi halaman web berikutnya yang cenderung diakses. Pola cocok dengan urutan akses pengguna saat ini dengan urutan akses web historis pengguna untuk meningkatkan akurasi prediksi untuk prefetch.
Mengusulkan metode berbasis pengelompokan dinamis untuk meningkatkan akurasi model Markov dalam mewakili kumpulan sesi navigasi web. Menggunakan konsep kloning keadaan untuk menduplikasi keadaan dengan cara memisahkan tautan dalam probabilitas orde kedua yang sesuai. Metode yang diusulkan mencakup teknik pengelompokan yang menentukan cara untuk menetapkan tautan dalam dengan probabilitas orde kedua yang sama ke klon yang sama.
Memperluas penggunaan algoritma peringkat halaman dengan banyak atribut navigasi: ukuran halaman, waktu durasi halaman, durasi transisi (dua kunjungan halaman secara berurutan), frekuensi halaman dan transisi. Mendefinisikan peringkat berbasis durasi (DPR) dan peringkat halaman berbasis popularitas (PPR). Penulis melihat popularitas transisi dan halaman menggunakan informasi durasi, menggunakannya dengan ukuran halaman dan frekuensi kunjungi. Menggunakan nilai popularitas halaman, makalah ini berupaya meningkatkan algoritma peringkat halaman konvensional dan memodelkan prediksi halaman berikutnya di bawah nilai top-n yang diberikan.
![]() Minko Gechev | ![]() Addy Osmani | ![]() Katie Hempenius | ![]() Kyle Mathews |