Ikhtisar
Fitur pencarian multimodal dari OpenSearch menggabungkan pencarian teks dan pencarian vektor. Fitur ini menawarkan latensi pencarian yang lebih rendah, konsumsi sumber daya komputasi yang lebih efisien, serta akurasi yang lebih tinggi dibandingkan dengan pencarian menggunakan operator logika OR. Manfaat pencarian multimodal telah terbukti dalam skenario pencarian tanya-jawab. Arsitektur pengambilan multimodal yang digunakan oleh fitur ini juga dapat diterapkan pada skenario seperti pengambilan gambar berbasis vektor, pengambilan berdasarkan ekspresi, dan pengambilan personal.
Perbandingan antara fitur pencarian teks dan pencarian multimodal dalam skenario pencarian tanya-jawab
Mengapa Anda Membutuhkan Pencarian Multimodal dalam Skenario Pencarian Tanya-Jawab? Dibandingkan dengan pencarian teks di situs web atau platform e-commerce, pencarian dalam skenario pendidikan—seperti mencari jawaban pertanyaan melalui foto—memiliki perbedaan sebagai berikut:
Kueri pencarian lebih panjang: Kueri reguler biasanya memiliki hingga 30 kata, sedangkan kueri pencarian tanya-jawab dapat mencapai hingga 100 kata.
Kueri pencarian dikenali dari foto menggunakan pengenalan karakter optik (OCR). Jika kata-kata penting salah dikenali, hasil pengambilan dan pengurutan menjadi tidak akurat.
Pencarian Teks
1. Menggunakan Operator Logika OR
Untuk mengurangi laju hasil nol, sistem reguler menggunakan logika OR default Elasticsearch dalam pencarian tanya-jawab.
OpenSearch juga mendukung logika OR. Selain itu, OpenSearch menurunkan latensi pencarian dengan memproses pencarian yang menggunakan operator logika OR secara bersamaan. Namun, konsumsi sumber daya komputasi tetap tinggi meskipun telah dioptimalkan.
2. Menggunakan Operator Logika AND
Pencarian yang menggunakan operator logika AND dan diproses oleh fitur analisis kueri umum memiliki laju hasil nol yang tinggi. Selain itu, akurasi pencarian lebih rendah dibandingkan dengan pencarian yang menggunakan operator logika OR.
OpenSearch mengoptimalkan fitur analisis kueri untuk industri pendidikan. Akurasi pencarian yang diproses oleh fitur analisis kueri yang dioptimalkan hampir setara dengan pencarian yang menggunakan operator logika OR.
Pencarian Vektor
Tujuan: Tujuan utama adalah meningkatkan jumlah dokumen yang diambil berdasarkan vektor yang dihasilkan setelah penyematan kata. Tujuan kedua adalah mencapai latensi pencarian yang lebih rendah, konsumsi sumber daya komputasi yang lebih efisien, dan akurasi pencarian yang lebih tinggi dibandingkan dengan logika OR melalui penggunaan logika AND. Untuk mencapai tujuan tersebut, OpenSearch menggunakan model BERT untuk pengambilan vektor. Selain itu, OpenSearch mengoptimalkan model untuk skenario pencarian tanya-jawab di industri pendidikan. Berikut ini adalah optimisasi yang dilakukan:
Model StructBERT yang dikembangkan oleh Akademi DAMO Alibaba digunakan sebagai model BERT. Model ini disesuaikan untuk industri pendidikan.
Mesin Proxima yang dikembangkan oleh Akademi DAMO Alibaba digunakan sebagai mesin pencarian vektor. Akurasi dan kecepatan Proxima jauh lebih unggul dibandingkan dengan sistem open source.
Data pelatihan dapat diakumulasikan berdasarkan log pencarian, sehingga kinerja pencarian terus ditingkatkan.
Hasil Optimisasi:
Laju Recall mencapai tingkat logika OR.
Akurasi meningkat sebesar 3% hingga 5% dibandingkan dengan logika OR.
Jumlah total dokumen yang diambil berkurang 40 kali lipat, dan latensi pencarian diturunkan lebih dari 10 kali lipat.
Konfigurasikan fitur pencarian multimodal untuk aplikasi Edisi Peningkatan Spesifik Industri untuk pendidikan
1. Buat aplikasi Edisi Peningkatan Spesifik Industri untuk Pendidikan. Setelah aplikasi dibuat, periksa apakah indeks vektor telah dikonfigurasi. Dalam contoh ini, indeks vektor menggunakan Vector - K12 Education Vector analyzer.
2. Buat aturan analisis kueri. Pilih Text Vectorization untuk mengaktifkan fitur penyematan kata dan pilih indeks vektor yang dikonfigurasi pada Langkah 1.
3. Konfigurasikan kebijakan pengurutan. Secara default, dua kebijakan pengurutan halus yang menggunakan skrip cava dibuat untuk aplikasi Edisi Peningkatan Spesifik Industri untuk Pendidikan: sys_text_rank untuk pencarian teks dan sys_vector_rank untuk pencarian vektor.
4. Buat kebijakan pencarian multimodal dengan melakukan operasi berikut: Atur nama kebijakan, konfigurasikan fitur pencarian vektor dan pencarian teks, lalu konfigurasikan fitur penggabungan pengurutan. Untuk mengonfigurasi fitur penggabungan pengurutan, pilih kebijakan pengurutan untuk penggabungan pengurutan dan tentukan jumlah dokumen yang akan diurutkan.
5. Lakukan uji pencarian di konsol OpenSearch.
Dalam contoh ini, kueri pencarian adalah "Search test", kebijakan pencarian multimodal adalah sys_strategy, dan aturan analisis kueri adalah sys_default.
Catatan: Semua tiga parameter yang ditunjukkan pada gambar sebelumnya harus diatur. Jika aturan analisis kueri default digunakan, Anda dapat mengabaikan parameter qp. Permintaan pencarian dalam contoh ini:
query=default:'Search test'&search_strategy=sys_strategy&raw_query=Search test&qp=sys_defaultLakukan uji pencarian menggunakan OpenSearch SDK. Dalam contoh ini, OpenSearch SDK for Java digunakan.
...
// Buat objek Config yang digunakan untuk mengonfigurasi parameter terkait paging atau format data hasil yang dikembalikan dalam klausa config.
Config config = new Config(Lists.<String>newArrayList(appName));
config.setStart(0);
config.setHits(10);
// Atur format data hasil yang dikembalikan ke JSON.
config.setSearchFormat(SearchFormat.FULLJSON);
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
// Atur parameter input dalam permintaan pencarian.
HashMap<String,String> paraMap=new HashMap<String,String>();
// Atur parameter raw_query.
paraMap.put("raw_query","Search test");
// Tentukan kebijakan pencarian multimodal.
paraMap.put("search_strategy","sys_strategy");
searchParams.setCustomParam(paraMap);
// Tentukan aturan analisis kueri.
List<String> qpName = new ArrayList<String>();
qpName.add("sys_default"); // Tentukan nama aturan analisis kueri.
searchParams.setQueryProcessorNames(qpName);
...Catatan Penggunaan
Hanya aplikasi eksklusif yang dapat menggunakan fitur pencarian multimodal.
Fitur pencarian multimodal tidak mendukung klausa aggregate atau distinct.
Maksimal 10 kebijakan pencarian multimodal dapat dibuat untuk setiap aplikasi.
Kedua fitur pencarian teks dan pencarian vektor harus diaktifkan untuk pencarian multimodal. Jika Anda menentukan proporsi hasil pengambilan untuk fitur pencarian teks dan pencarian vektor, jumlah proporsinya harus 100%.
Saat mengonfigurasi fitur pencarian teks dan pencarian vektor, pilih kebijakan pengurutan kasar dan halus yang dikonfigurasi pada Langkah 3.
Saat mengonfigurasi fitur penggabungan pengurutan, Anda dapat memilih kebijakan pengurutan halus untuk penggabungan pengurutan. Secara default, kebijakan pengurutan ini tidak ditentukan. Parameter Jumlah Dokumen Pengurutan diperlukan. Nilainya berkisar dari 1 hingga 5000.
Indeks vektor yang tidak dibuat oleh sistem tidak dapat dipilih saat Anda mengonfigurasi fitur penyematan kata.
Jika Anda ingin menggunakan indeks vektor kustom untuk pencarian multimodal, hubungi Alibaba Cloud.