Rumah >Peranti teknologi >AI >Aplikasi pembelajaran mendalam dalam analisis makna perkataan carian Ctrip
Data besar dan pasukan R&D AI Jabatan R&D Pelancongan Ctrip menyediakan bahagian pelancongan dengan pelbagai produk teknologi AI dan keupayaan teknikal.
Carian ialah salah satu aspek yang paling penting dalam e-dagang Kebanyakan pengguna menggunakan carian untuk mencari produk yang mereka inginkan, jadi carian adalah cara yang paling langsung untuk pengguna menyatakan niat mereka dan salah satu sumber trafik dengan kadar penukaran tertinggi. Sebahagian besar carian e-dagang diselesaikan dengan memasukkan istilah carian (Query) ke dalam kotak carian Oleh itu, analisis makna dan pemahaman maksud istilah carian telah menjadi bahagian penting dalam carian.
Analisis makna perkataan carian arus perdana dan pemahaman pertanyaan memerlukan langkah seperti pembetulan ralat, penggantian sinonim, pembahagian perkataan, pengetegan sebahagian daripada pertuturan, pengecaman entiti, pengecaman niat, pemberat kepentingan perkataan dan kehilangan perkataan. Ambil carian dalam senario pelancongan sebagai contoh, seperti yang ditunjukkan dalam Rajah 1. Apabila pengguna memasukkan "Yunnan Xiangge Lira" sebagai Pertanyaan dalam kotak carian, enjin carian terlebih dahulu perlu membetulkan istilah carian Ini adalah untuk memudahkan yang berikutnya langkah. Menghuraikan kandungan yang ingin dicari oleh pengguna; Kemudian, lakukan pembahagian perkataan dan penandaan sebahagian daripada pertuturan pada istilah carian untuk mengenal pasti "Yunnan" sebagai wilayah dan "Shangri-La" sebagai jenama bandar atau hotel Kemudian, pengecaman entiti akan dilakukan untuk menarik balik entiti yang sepadan "Yunnan" dan "Shangri-La" dalam pangkalan data latar belakang.
Pada masa ini, timbul perselisihan faham "Shangri-La" mungkin kedua-dua bandar dan jenama hotel. Apabila pengguna mencari, sama ada kategori dan entiti yang betul boleh diramalkan adalah sangat penting kepada paparan tepat hasil carian dan meningkatkan pengalaman pengguna. Oleh itu, kita mesti mengenal pasti kategori yang benar-benar ingin dicari oleh pengguna dan mencari entiti yang sepadan. Jika tidak, keputusan yang tidak diingini oleh pengguna mungkin diberikan di barisan hadapan halaman senarai carian. Berdasarkan pengetahuan sedia ada, apabila pengguna mencari "Yunnan Shangri-La", kemungkinan besar mereka ingin mencari bandar. Langkah pengenalpastian niat adalah untuk merealisasikan fungsi ini dan mengenal pasti niat carian sebenar pengguna, yang mewakili "Shangri-La" bandar.
Anda kemudiannya boleh memasuki langkah panggil balik carian tersebut bertanggungjawab terutamanya untuk mencari produk atau kandungan yang berkaitan dengan maksud istilah carian. Selepas mendapatkan ID "Yunnan" dan "Shangri-La" dalam langkah sebelumnya, anda boleh mengingati produk atau kandungan yang berkaitan dengan kedua-dua "Yunnan" dan "Shangri-La" dengan mudah. Walau bagaimanapun, kadangkala, keputusan panggil semula kosong atau terlalu jarang Pada masa ini, pengalaman pengguna tidak baik Oleh itu, apabila keputusan panggil semula kosong atau terlalu jarang, operasi panggil balik sekunder sering diperlukan. Di samping itu, beberapa perkataan yang ditinggalkan atau yang mengganggu carian juga boleh diproses dengan kehilangan perkataan.
Perkataan yang dipanggil hilang ialah kehilangan perkataan yang agak tidak penting atau berkaitan longgar dalam istilah carian dan mengingatnya semula. Jadi bagaimana anda mengukur kepentingan atau kedekatan setiap perkataan? Di sini kita perlu memperkenalkan modul Pemberat Istilah, yang menganggap setiap perkataan sebagai istilah dan mengira berat setiap istilah melalui algoritma atau peraturan Berat setiap istilah secara langsung menentukan susunan kepentingan dan kedekatan istilah. Sebagai contoh, dengan mengandaikan bahawa istilah berat "Yunnan" ialah 0.2 dan istilah berat "Shangri-La" ialah 0.8, maka jika anda perlu kehilangan perkataan, anda harus kehilangan "Yunnan" dahulu dan kekalkan "Shangri-La".
Rajah 1 Analisis makna perkataan carian dan langkah pemahaman pertanyaan
Pengenalpastian niat carian tradisional akan menggunakan padanan perbendaharaan kata, statistik kebarangkalian kategori dan peraturan Tetapkan reka bentuk buatan. Pemberatan Istilah Tradisional juga menggunakan padanan perbendaharaan kata dan kaedah statistik Contohnya, berdasarkan tajuk dan kandungan semua produk, data seperti TF-IDF, maklumat bersama antara perkataan sebelum dan seterusnya, dan entropi jiran kiri dan kanan dikira dan disimpan terus. ke dalam kamus dan skor, menyediakan Untuk kegunaan dalam talian, ia boleh digunakan untuk membantu pertimbangan berdasarkan beberapa peraturan Contohnya, kata nama khas industri secara langsung memberikan pemberat istilah yang lebih tinggi, dan zarah secara langsung memberikan pemberat istilah yang lebih rendah.
Walau bagaimanapun, pengecaman niat carian tradisional dan algoritma Pemberat Jangka tidak dapat mencapai ketepatan yang tinggi dan kadar ingatan semula, terutamanya tidak dapat mengendalikan beberapa istilah carian yang jarang berlaku, jadi beberapa teknologi baharu diperlukan untuk meningkatkan ketepatan dan ingatan semula kedua-dua modul ini, serta meningkatkan keupayaannya untuk menyesuaikan diri dengan istilah carian yang jarang ditemui. Di samping itu, disebabkan oleh kekerapan akses yang tinggi, analisis makna perkataan carian memerlukan kelajuan tindak balas yang sangat pantas Dalam senario carian perjalanan, kelajuan tindak balas selalunya perlu mencapai tahap milisaat hampir kepada satu digit, yang merupakan cabaran besar bagi algoritma.
Untuk meningkatkan ketepatan dan mengingat semula, kami menggunakan pembelajaran mendalam untuk meningkatkan pengecaman niat carian dan algoritma Pemberat Jangka. Pembelajaran mendalam boleh menyelesaikan pengecaman niat dan Pemberat Jangka dengan berkesan dalam pelbagai situasi melalui pembelajaran sampel. Di samping itu, pengenalan model bahasa pra-latihan berskala besar untuk pemprosesan bahasa semula jadi boleh mengukuhkan lagi keupayaan model pembelajaran mendalam, mengurangkan jumlah pelabelan sampel dan memungkinkan untuk menggunakan pembelajaran mendalam dalam carian, yang pada asalnya mempunyai nilai tinggi. kos pelabelan.
Walau bagaimanapun, masalah yang dihadapi oleh pembelajaran mendalam ialah disebabkan kerumitan model yang tinggi dan bilangan lapisan rangkaian saraf yang mendalam, kelajuan tindak balas tidak dapat memenuhi keperluan carian yang tinggi. Oleh itu, kami menggunakan penyulingan model dan pemampatan model untuk mengurangkan kerumitan model dan mengurangkan penggunaan masa model pembelajaran mendalam sambil mengurangkan sedikit ketepatan dan kadar ingatan semula, dengan itu memastikan kelajuan tindak balas yang lebih pantas dan prestasi yang lebih tinggi.
Pengiktirafan kategori ialah komponen utama pengecaman niat. Pengecaman kategori dalam pengecaman niat ialah kaedah di mana selepas pertanyaan perkataan carian dibahagikan, hasil segmentasi ditandakan dengan kategori miliknya dan nilai kebarangkalian yang sepadan diberikan. Menganalisis niat istilah carian pengguna membantu dalam menganalisis keperluan carian langsung pengguna, dengan itu membantu meningkatkan pengalaman pengguna. Sebagai contoh, apabila pengguna mencari "Yunnan Shangri-La" pada halaman perjalanan, kategori yang sepadan dengan "Shangri-La" yang dimasukkan oleh pengguna ialah "bandar" dan bukannya "jenama hotel", yang membimbing strategi carian seterusnya menjadi berat sebelah terhadap niat bandar.
Dalam senario perjalanan, istilah carian dengan kategori samar-samar yang dimasukkan oleh pengguna mencakupi kira-kira 11% daripada jumlah keseluruhan, termasuk sejumlah besar istilah carian tanpa pembahagian perkataan. "Tiada pembahagian perkataan" bermakna tiada segmen yang lebih terperinci selepas pemprosesan pembahagian perkataan dan "kekaburan kategori" bermakna istilah carian itu sendiri mempunyai berbilang kategori yang mungkin. Contohnya, apabila pengguna memasukkan "Shangri-La", tiada pembahagian yang lebih terperinci dan terdapat berbilang kategori seperti "bandar" dan "jenama hotel" dalam data kategori yang sepadan.
Jika istilah carian itu sendiri ialah gabungan berbilang perkataan, kategori itu boleh dijelaskan melalui konteks istilah carian itu sendiri dan istilah carian itu sendiri akan diutamakan sebagai sasaran pengenalan. Jika kategori tidak dapat ditentukan daripada istilah carian itu sendiri, kami akan menambah istilah carian sejarah terkini pengguna yang berbeza antara satu sama lain, serta rekod klik kategori produk terkini Jika maklumat di atas tidak tersedia, kami akan menambah kedudukan stesen sebagai korpus tambahan. Istilah carian asal diproses untuk mendapatkan Pertanyaan R untuk dikenal pasti.
Dalam beberapa tahun kebelakangan ini, model bahasa pra-latihan telah bersinar dalam banyak tugas pemprosesan bahasa semula jadi. Dalam pengecaman kategori, kami menggunakan parameter rangkaian latihan model pra-latihan untuk mendapatkan Output ciri perkataanbert yang mengandungi semantik kontekstual menggunakan modul penukaran perkataan, ciri perkataan digabungkan dengan pengekodan kedudukan:
memperoleh serpihan aksara yang sepadan dengan segmen, seperti:
bermaksud panjang yang sepadan dengan ke-i segmen ialah li ciri watak. Berdasarkan serpihan aksara Wi, modul penukaran perkataan mengagregatkan ciri Hwi setiap perkataan. Kaedah pengagregatan boleh menjadi penggabungan maks, penggabungan min, penggabungan min, dsb. Eksperimen menunjukkan bahawa penggabungan maksimum mempunyai kesan terbaik. Output modul ialah perkataan feature OutputR perkataan carian R melalui pengelas selari, kategori padanan yang diliputi dalam pangkalan data kategori diberikan untuk setiap segmen dalam perkataan feature OutputR; perkataan carian , dan berikan kebarangkalian padanan bagi kategori yang sepadan.
Rajah 2 Diagram skematik struktur keseluruhan pengecaman kategori
Model pengecaman kategori adalah berdasarkan asas BERT 12 -model lapisan Memandangkan model Ia terlalu besar dan tidak memenuhi keperluan kelajuan tindak balas untuk operasi dalam talian Kami melakukan penyulingan pengetahuan pada model untuk mengubah rangkaian daripada rangkaian besar kepada rangkaian kecil, mengekalkan prestasi yang hampir dengan rangkaian. rangkaian yang besar sambil memenuhi keperluan untuk operasi dalam talian.
Model pengecaman kategori terlatih asal digunakan sebagai rangkaian guru, dan hasil output rangkaian guru digunakan sebagai sasaran rangkaian pelajar dilatih supaya hasil p pelajar rangkaian adalah hampir dengan q. Oleh itu, kita boleh menukar fungsi kehilangan Ditulis sebagai:
di mana CE ialah Cross Entropy, simetriKL ialah simetri KL divergence (Kullback–Leibler divergence), y ialah pengekodan satu panas bagi label sebenar, q ialah hasil keluaran rangkaian guru, dan p ialah hasil keluaran rangkaian pelajar.
Rajah 3 Diagram skematik penyulingan pengetahuan
Selepas penyulingan pengetahuan, pengiktirafan kategori masih boleh mencapai tahap tahap yang agak tinggi pada akhirnya Ia mempunyai ketepatan yang tinggi dan kadar ingatan semula, dan pada masa yang sama, masa tindak balas keseluruhan 95 baris boleh menjadi kira-kira 5ms.
Selepas pengenalan kategori, pemautan entiti dan langkah lain diperlukan untuk melengkapkan proses pengenalan niat akhir. Untuk kandungan khusus, sila rujuk artikel "Penerokaan dan Amalan Teknologi Pautan Entiti Ctrip" , yang tidak akan dihuraikan dalam artikel ini.
4. Pemberat IstilahUntuk istilah carian yang dimasukkan oleh pengguna, istilah yang berbeza mempunyai kepentingan yang berbeza dengan daya tarikan semantik teras pengguna. Dalam kedudukan ingatan semula kedua bagi carian, anda perlu menumpukan pada istilah yang mempunyai kepentingan yang tinggi, dan pada masa yang sama, anda boleh mengabaikan istilah dengan kepentingan yang rendah apabila kehilangan perkataan. Dengan mengira berat istilah bagi setiap istilah carian yang dimasukkan oleh pengguna, produk yang paling hampir dengan niat pengguna dipanggil semula dua kali untuk meningkatkan pengalaman pengguna. Pertama, kami perlu mencari data maklum balas sebenar daripada pengguna dalam talian sebagai data anotasi. Input pengguna dalam kotak carian dan klik pada perkataan yang berkaitan menggambarkan penekanan pengguna pada perkataan dalam frasa carian pada tahap tertentu Oleh itu, kami menggunakan data input dan klik pada perkataan yang berkaitan, tapisan manual dan anotasi sekunder sebagai anotasi model Penimbang Jangka. Dari segi prapemprosesan data, data beranotasi yang boleh kami perolehi ialah frasa dan kata kunci yang sepadan dengannya Untuk menjadikan pengagihan pemberat tidak terlalu melampau, sejumlah pemberat kecil diberikan kepada bukan kata kunci. dan Baki berat diberikan kepada setiap perkataan kata kunci Jika frasa tertentu muncul berbilang kali dalam data dan kata kunci yang sepadan adalah berbeza, pemberat kata kunci ini akan ditetapkan berdasarkan kekerapan kata kunci dan selanjutnya Tetapkan a. berat bagi setiap perkataan. Bahagian model terutamanya mencuba BERT sebagai kaedah pengekstrakan ciri, dan seterusnya sesuai dengan berat setiap istilah. Untuk input yang diberikan, tukarkannya kepada bentuk yang BERT boleh terima, mampatkan tensor selepas BERT melalui lapisan yang disambungkan sepenuhnya, dapatkan vektor satu dimensi, dan kemudian lakukan pemprosesan Softmax, dan gunakan vektor ini untuk menimbang vektor hasil Untuk pemasangan , rangka kerja model khusus ditunjukkan dalam rajah di bawah:Rajah 4 Rangka model Pemberat Jangka
Oleh kerana BERT Cina adalah berdasarkan aksara, pemberat semua perkataan dalam setiap istilah perlu dijumlahkan untuk akhirnya mendapat berat istilah itu. Dalam keseluruhan rangka kerja model, tidak termasuk beberapa hiperparameter latihan, bahagian boleh laras terutamanya merangkumi dua bahagian: Pertama, apabila menjana Pembenaman melalui BERT, anda boleh memilih lapisan terakhir BERT, atau lapisan pertama Pembenaman BERT komprehensif dijana oleh lapisan dan lapisan terakhir, kedua, dalam pemilihan fungsi kehilangan, selain menggunakan kehilangan MSE untuk mengukur jurang antara berat yang diramalkan dan berat sebenar, kami juga cuba menggunakan jumlah berat yang diramalkan bukan- perkataan penting sebagai kerugian untuk dikira , tetapi kerugian ini lebih sesuai untuk situasi di mana hanya terdapat satu kata kunci. Model akhirnya mengeluarkan setiap pemberat sebutan dalam bentuk perpuluhan Contohnya, keputusan berat istilah ["Shanghai", "'s", "Disney"] ialah [0.3433, 0.1218, 0.5349] . Model ini adalah untuk carian dan mempunyai keperluan kelajuan tindak balas yang ketat. Memandangkan model BERT secara keseluruhannya agak besar, sukar untuk memenuhi keperluan kelajuan tindak balas dalam bahagian inferens Oleh itu, sama dengan model pengecaman kategori, kami terus menyaring model BERT terlatih untuk memenuhi keperluan dalam talian. Dalam projek ini, beberapa lapisan transformer digunakan untuk menyesuaikan kesan pengubah 12 lapisan asas BERT Pada akhirnya, kelajuan inferens keseluruhan model adalah kira-kira 10 kali lebih cepat apabila kehilangan bahagian yang boleh diterima. prestasi. Pada akhirnya, keseluruhan 95 baris perkhidmatan dalam talian Pemberat Jangka boleh mencapai kira-kira 2ms. 5. Masa Depan dan Prospek Selepas menggunakan pembelajaran mendalam, carian perjalanan telah meningkatkan keupayaan analisis makna perkataan untuk istilah carian panjang yang jarang ditemui. Dalam senario carian dalam talian sebenar semasa, kaedah pembelajaran mendalam secara amnya digabungkan dengan kaedah analisis makna perkataan carian tradisional, yang bukan sahaja dapat memastikan prestasi yang stabil bagi istilah carian biasa di kepala, tetapi juga meningkatkan keupayaan generalisasi. Pada masa hadapan, analisis makna perkataan carian komited untuk membawa pengalaman carian yang lebih baik kepada pengguna Dengan peningkatan teknologi perkakasan dan teknologi AI, pengkomputeran berprestasi tinggi dan pengkomputeran pintar menjadi semakin matang, dan. hasrat analisis makna perkataan carian ialah Pengenalpastian dan Pemberatan Istilah akan dibangunkan ke arah matlamat prestasi yang lebih tinggi pada masa hadapan. Selain itu, model pra-latihan berskala lebih besar dan model pra-latihan dalam bidang pelancongan akan membantu meningkatkan lagi ketepatan dan kadar ingatan model Pengenalan lebih banyak maklumat dan pengetahuan pengguna akan membantu meningkatkan kesan pengecaman niat dalam talian Maklum balas pengguna dan lelaran model membantu meningkatkan keberkesanan Pemberat Jangka. Ini adalah arahan yang akan kami cuba pada masa hadapan. Selain pengecaman niat dan Pemberat Jangka, fungsi carian lain, seperti penandaan sebahagian daripada pertuturan, pembetulan ralat, dll., juga boleh menggunakan teknologi pembelajaran mendalam pada masa hadapan untuk mencapai fungsi yang lebih berkuasa semasa bertemu keperluan kelajuan tindak balas dan hasil yang lebih baik.Atas ialah kandungan terperinci Aplikasi pembelajaran mendalam dalam analisis makna perkataan carian Ctrip. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!