Memfilter dengan pemahaman bahasa alami
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menjelaskan cara menerapkan pemahaman bahasa alami untuk membuat filter secara otomatis untuk kueri penelusuran dan, oleh karena itu, untuk meningkatkan kualitas hasil yang ditampilkan.
Anda dapat menggunakan fitur ini dengan aplikasi penelusuran yang terhubung ke penyimpanan data terstruktur.
Tentang pemahaman kueri bahasa alami
Jika Anda memiliki aplikasi penelusuran kustom dengan data terstruktur, kueri bahasa alami pengguna dapat diformat ulang sebagai kueri yang difilter. Hal ini dapat menghasilkan hasil penelusuran yang lebih berkualitas daripada menelusuri kata dalam string kueri.
Misalnya, kueri bahasa alami seperti "Find a coffee shop serving
banana bread" dapat diformulasikan ulang sebagai kueri dan filter:
"query": "banana bread", "filter": "type": ANY(\"cafe\").
Ada dua jenis filter yang dapat Anda terapkan untuk pemahaman kueri bahasa alami: berat dan ringan.
Sulit. Secara default, filter yang diekstrak diterapkan sebagai
kriteria wajib yang harus dipenuhi oleh hasil agar ditampilkan.
Perilakunya mirip dengan kolom filter dalam pesan
SearchRequest.
Lembut. Alternatif untuk filter ketat adalah menerapkan peningkat pada
hasil penelusuran. Hasil yang dipromosikan lebih cenderung ditampilkan, tetapi hasil yang tidak memenuhi kriteria promosi juga dapat ditampilkan.
Perilakunya mirip dengan kolom boost_spec dalam pesan
SearchRequest.
Anda dapat bereksperimen dengan kedua jenis filter. Jika penelusuran tidak memberikan hasil yang cukup, coba filter ringan, bukan filter berat.
Fitur pemahaman kueri bahasa natural ini dijelaskan melalui contoh penelusuran
hotel.
Pertimbangkan kueri berikut yang dibuat ke penyimpanan data terstruktur untuk situs hotel:
"Cari hotel yang cocok untuk keluarga dengan minimal empat bintang yang harganya kurang dari 300 per malam, mengizinkan saya membawa, dan memiliki Wi-Fi gratis."
Tanpa pemahaman kueri bahasa alami, aplikasi penelusuran akan mencari dokumen yang berisi kata-kata dalam kueri.
Dengan pemahaman kueri bahasa alami dan data yang terstruktur dengan tepat, penelusuran menjadi lebih efektif dengan mengganti beberapa bahasa alami dalam kueri dengan filter.
Jika data terstruktur memiliki kolom untuk star_rating (angka), price
(angka), dan amenities (string), maka kueri dapat diformulasikan untuk menyertakan
filter berikut:
Contoh ini mirip dengan contoh sebelumnya, kecuali menyertakan filter
geolokasi, yang merupakan jenis filter yang diekstrak khusus.
Vertex AI Search memiliki kemampuan untuk mengenali lokasi dalam kueri dan
membuat filter kedekatan untuk lokasi tersebut.
Ambil kueri berikut yang dibuat ke situs bisnis di seluruh negara bagian:
"Cari hotel trendi dan bergaya dengan minimal 4 bintang di San Francisco."
Dengan pemahaman kueri bahasa alami dan filter geolokasi, penelusuran diformulasikan ulang untuk menyertakan filter berikut untuk hotel dengan rating minimal 4 bintang dan dalam radius 10 km dari San Francisco:
Dalam contoh ini, GEO_DISTANCE adalah alamat, tetapi dalam kueri lain, GEO_DISTANCE
dapat ditulis sebagai garis lintang dan bujur, meskipun kueri aslinya
berisi alamat.
Contoh: Ekstraksi kolom dari kueri (filter ringan)
Fitur pemahaman kueri bahasa alami ini dijelaskan melalui contoh penelusuran hotel, tetapi menampilkan beberapa hasil yang tidak memenuhi semua kriteria.
Pertimbangkan kueri berikut yang dibuat ke situs perjalanan:
"Cari hotel bintang empat yang cocok untuk keluarga dengan harga kurang dari 300 per malam, dan mengizinkan saya membawa."
Dengan pemahaman kueri bahasa alami dan data yang terstruktur dengan tepat, penelusuran menjadi lebih efektif dengan mengganti beberapa bahasa alami dalam kueri dengan filter sementara. Jika data terstruktur memiliki kolom untuk star_rating (angka), price
(angka), dan amenities (string), maka kueri dapat ditulis ulang sebagai
peningkatan berikut:
Kondisi peningkatan yang diekstrak dari kueri bahasa alami:
Dalam hal ini, mungkin beberapa hotel dengan rating lebih rendah atau hotel yang tidak menerima hewan peliharaan akan ditampilkan.
Batasan
Batasan berikut berlaku untuk pemahaman kueri bahasa alami:
Pemahaman kueri bahasa alami tidak dapat diterapkan ke aplikasi penelusuran gabungan. Anda
akan mendapatkan error jika mencoba menggunakan pemahaman kueri bahasa alami dengan aplikasi penelusuran gabungan.
Pemahaman kueri bahasa alami hanya berfungsi untuk aplikasi penelusuran kustom yang menggunakan penyimpanan data terstruktur.
Penggunaan pemahaman kueri bahasa alami meningkatkan latensi, jadi Anda dapat memilih untuk tidak menggunakannya jika latensi menjadi masalah.
Untuk geolokasi, lokasi harus dijelaskan secara eksplisit. Anda tidak dapat menggunakan lokasi seperti "di dekat saya" atau "rumah".
Radius untuk geolokasi adalah 10 km dan tidak dapat dikonfigurasi.
Kolom Boolean tidak dapat digunakan dalam filter. Misalnya, jika kuerinya adalah "Cari
kamar hotel bebas rokok", maka kolom boolean seperti
"non_smoking": true tidak berguna, tetapi kolom string seperti
"non_smoking": "YES" dapat menjadi bagian dari filter.
Sebelum memulai
Sebelum mulai menggunakan pemahaman kueri bahasa alami, Anda harus mengaktifkannya untuk penyimpanan data terstruktur yang terhubung ke aplikasi yang ingin Anda gunakan.
Untuk mengaktifkan pemahaman kueri bahasa alami, ikuti langkah-langkah berikut:
REST
Temukan ID penyimpanan data Anda. Jika Anda sudah memiliki ID penyimpanan data, lanjutkan ke langkah berikutnya.
Di konsol Google Cloud , buka halaman AI Applications dan
di menu navigasi, klik Data Stores.
Ulangi langkah 1 dan 2 untuk setiap penyimpanan data.
Tunggu sekitar 24 jam.
Jika Anda mencoba menggunakan pemahaman kueri bahasa alami sebelum penyimpanan data siap, respons yang Anda dapatkan sama seperti jika filterExtractionCondition disetel ke DISABLED.
Penelusuran, yang mengonversi kueri natural language menjadi filter
Untuk menelusuri kueri dalam bahasa natural dan mendapatkan hasil yang dioptimalkan untuk kueri bahasa natural, lakukan hal berikut:
Penelusuran, mengonversi lokasi dalam kueri menjadi filter geolokasi
Untuk menelusuri kueri dalam bahasa alami dan mendapatkan hasil yang dioptimalkan untuk kueri bahasa alami, termasuk kedekatan dengan lokasi, lakukan hal berikut:
Agar kolom dapat digunakan sebagai filter dalam pemahaman kueri bahasa alami, kolom tersebut harus ditandai sebagai dapat diindeks dalam skema. (Untuk informasi umum tentang cara melihat dan mengedit skema, lihat Memperbarui skema.)
Vertex AI Search menentukan kolom yang dapat diindeks dalam skema yang masuk akal untuk digunakan dalam filter pemahaman kueri natural language. Namun, jika
kolom yang tidak Anda inginkan disertakan, Anda perlu membuat daftar yang diizinkan untuk
menentukan kolom mana yang dapat digunakan.
Pertimbangkan situs pemesanan hotel, yang memiliki kolom seperti
amenities, id, price_per_night, rating, dan room_types. Dari jumlah tersebut, jika
id adalah string karakter dan angka, Vertex AI Search kemungkinan akan
mengecualikannya dari kolom yang digunakan untuk pemahaman kueri bahasa alami.
Namun, jika Anda mengamati bahwa Vertex AI Search menampilkan hasil kueri berkualitas buruk karena tidak mengecualikan kolom yang seharusnya, Anda perlu menentukan kolom mana yang dapat digunakan. Misalnya, jika skema hotel memiliki
kolom untuk renovation_status yang tidak berguna bagi pelanggan dan mungkin
memalukan bagi jaringan hotel, Anda dapat mengecualikannya dari daftar
kolom yang diizinkan.
Contoh data dari penyimpanan data terstruktur untuk data hotel.
{"title":"Miller-Jones","rating":1.7,"price_per_night":115.16,"id":2902,…],"amenities":["Spa","Parking","Restaurant"…],"renovation_status":"Restaurant and spa renovation planned for 2027"}
Daftar yang diizinkan yang sesuai untuk kolom dalam contoh ini adalah ["amenities",
"price_per_night", "rating", "title"].
renovation_status tidak ada dalam daftar.
Untuk menentukan daftar yang diizinkan dari kolom yang dapat digunakan dalam pemahaman kueri bahasa alami dalam penelusuran, lakukan hal berikut:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-12-04 UTC."],[],[]]