Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pengayaan semantik otomatis untuk OpenSearch Layanan Amazon
Pengantar
Amazon OpenSearch Service menggunakan pencocokan kata ke kata (pencarian leksikal) untuk menemukan hasil, mirip dengan mesin pencari tradisional lainnya. Pendekatan ini bekerja dengan baik untuk kueri tertentu seperti kode produk atau nomor model, tetapi berjuang dengan pencarian abstrak di mana memahami maksud pengguna menjadi penting. Misalnya, saat Anda mencari “sepatu untuk pantai”, pencarian leksikal mencocokkan kata-kata individual “sepatu,” “pantai”, “untuk,” dan “the” dalam item katalog, dan kemungkinan kehilangan produk yang relevan seperti “sandal tahan air” atau “alas kaki selancar” yang tidak berisi istilah pencarian yang tepat.
Pengayaan Semantik Otomatis memecahkan batasan ini dengan mempertimbangkan kecocokan kata kunci dan makna kontekstual di balik pencarian. Fitur ini memahami maksud pencarian dan meningkatkan relevansi pencarian hingga 20%. Aktifkan fitur ini untuk bidang teks dalam indeks Anda untuk meningkatkan hasil pencarian.
catatan
Pengayaan semantik otomatis tersedia untuk domain OpenSearch Layanan yang menjalankan versi 2.19 atau yang lebih baru. Selain itu, domain dengan OpenSearch versi 2.19 juga harus menggunakan pembaruan versi perangkat lunak layanan terbaru. Fitur ini tersedia untuk akses publik dan domain akses VPC. Untuk domain VPC, Anda harus mengotorisasi prinsip fitur OpenSearch Layanan sebelum membuat atau mengelola indeks pengayaan semantik. Untuk informasi selengkapnya, lihat Menggunakan pengayaan semantik otomatis dengan domain VPC.
Detail model dan tolok ukur kinerja
Meskipun fitur ini menangani kompleksitas teknis di balik layar tanpa mengekspos model yang mendasarinya, kami memberikan transparansi melalui deskripsi model singkat dan hasil benchmark untuk membantu Anda membuat keputusan yang tepat tentang adopsi fitur dalam beban kerja penting Anda.
Pengayaan semantik otomatis menggunakan model sparse yang dikelola layanan dan telah dilatih sebelumnya yang bekerja secara efektif tanpa memerlukan penyetelan khusus. Model menganalisis bidang yang Anda tentukan, mengembangkannya menjadi vektor jarang berdasarkan asosiasi yang dipelajari dari beragam data pelatihan. Istilah yang diperluas dan bobot signifikansinya disimpan dalam format indeks Lucene asli untuk pengambilan yang efisien. Kami telah mengoptimalkan proses ini menggunakan mode khusus dokumen,
Validasi kinerja kami selama pengembangan fitur menggunakan kumpulan data pengambilan bagian
-
Bahasa Inggris - Peningkatan relevansi 20% dibandingkan pencarian leksikal. Ini juga menurunkan latensi pencarian P90 sebesar 7,7% dibandingkan pencarian leksikal (BM25 adalah 26 ms, dan pengayaan semantik otomatis adalah 24 ms).
-
Multi-lingual - Peningkatan relevansi 105% dibandingkan pencarian leksikal, sedangkan latensi pencarian P90 meningkat 38,4% dibandingkan pencarian leksikal (BM25 adalah 26 ms, dan pengayaan semantik otomatis adalah 36 ms).
Mengingat sifat unik dari setiap beban kerja, kami mendorong Anda untuk mengevaluasi fitur ini di lingkungan pengembangan Anda menggunakan kriteria benchmarking Anda sendiri sebelum membuat keputusan implementasi.
Bahasa yang Didukung
Fitur ini mendukung bahasa Inggris. Selain itu, model ini juga mendukung bahasa Arab, Bengali, China, Finlandia, Prancis, Hindi, Indonesia, Jepang, Korea, Persia, Rusia, Spanyol, Swahili, dan Telugu.
Menyiapkan indeks pengayaan semantik otomatis untuk domain
Menyiapkan indeks dengan pengayaan semantik otomatis yang diaktifkan untuk bidang teks Anda mudah, dan Anda dapat mengelolanya melalui konsol, API, dan CloudFormation templat selama pembuatan indeks baru. Untuk mengaktifkannya untuk indeks yang ada, Anda perlu membuat ulang indeks dengan pengayaan semantik otomatis diaktifkan untuk bidang teks.
Pengalaman konsol - AWS Konsol memungkinkan Anda untuk dengan mudah membuat indeks dengan bidang pengayaan semantik otomatis. Setelah Anda memilih domain, Anda akan menemukan tombol buat indeks di bagian atas konsol. Setelah Anda mengklik tombol buat indeks, Anda akan menemukan opsi untuk menentukan bidang pengayaan semantik otomatis. Dalam satu indeks, Anda dapat memiliki kombinasi pengayaan semantik otomatis untuk bahasa Inggris dan multibahasa, serta bidang leksikal.
Pengalaman API - Untuk membuat indeks pengayaan semantik otomatis menggunakan AWS Command Line Interface (AWS CLI), gunakan perintah create-index:
aws opensearch create-index \ --domain-name [domain_name] \ --index-name [index_name] \ --index-schema [index_body] \
Dalam contoh skema indeks berikut, bidang title_semantic memiliki jenis bidang yang disetel ke teks dan memiliki parameter semantic _disetel ke status ENABLED. Mengatur parameter semantic_memungkinkan pengayaan semantik otomatis pada bidang title_semantic. Anda dapat menggunakan bidang language_options untuk menentukan bahasa Inggris atau. MULTI-LINGUAL
aws opensearch create-index \ --id XXXXXXXXX \ --index-name 'product-catalog' \ --index-schema '{ "mappings": { "properties": { "product_id": { "type": "keyword" }, "title_semantic": { "type": "text", "semantic_enrichment": { "status": "ENABLED", "language_options": "english" } }, "title_non_semantic": { "type": "text" } } } }'
Untuk menggambarkan indeks yang dibuat, gunakan perintah berikut:
aws opensearch get-index \ --domain-name [domain_name] \ --index-name [index_name] \
Memperbarui indeks yang ada
Anda dapat memperbarui indeks yang ada untuk menambahkan bidang pengayaan semantik baru, mengaktifkan atau menonaktifkan pengayaan semantik pada bidang yang ada, atau menambahkan bidang teks non-semantik. Gunakan update-index perintah dan berikan hanya bidang yang ingin Anda ubah diindex-schema. Bidang yang tidak termasuk dalam permintaan dibiarkan tidak berubah.
catatan
Indeks settings tidak dapat diperbarui. Jika Anda menyertakan settings blok dalam permintaan, operasi mengembalikan kesalahan validasi. Untuk mengubah pengaturan indeks, Anda harus menghapus dan membuat ulang indeks.
Untuk memperbarui indeks menggunakan AWS CLI, gunakan update-index perintah:
aws opensearch update-index \ --domain-name [domain_name] \ --index-name [index_name] \ --index-schema [index_body]
Tambahkan bidang pengayaan semantik baru
Anda dapat menambahkan text bidang baru dengan pengayaan semantik diaktifkan ke indeks yang ada. Layanan secara otomatis mengatur model ML yang diperlukan, saluran cerna, dan saluran pencarian. Dokumen baru yang diindeks setelah pembaruan diperkaya secara otomatis.
penting
Dokumen yang ada tidak diisi ulang. Untuk mengisi bidang pengayaan semantik pada dokumen yang ada, Anda harus menelannya kembali setelah pembaruan. Sampai dicerna kembali, dokumen yang ada tidak akan mendapat manfaat dari pencarian semantik di bidang baru.
aws opensearch update-index \ --domain-name my-domain \ --index-name product-catalog \ --index-schema '{ "mappings": { "properties": { "description": { "type": "text", "semantic_enrichment": { "status": "ENABLED", "language_options": "english" } } } } }'
Nonaktifkan pengayaan semantik pada bidang
Untuk menonaktifkan pengayaan semantik pada bidang yang saat ini telah diaktifkan, setel status keDISABLED. Bidang dihapus dari saluran cerna dan pencarian. Bidang teks yang mendasarinya dan bidang penyematannya tetap berada di indeks tetapi tidak lagi diperkaya.
aws opensearch update-index \ --domain-name my-domain \ --index-name product-catalog \ --index-schema '{ "mappings": { "properties": { "title_semantic": { "type": "text", "semantic_enrichment": { "status": "DISABLED" } } } } }'
Batasan perbarui
Operasi berikut tidak didukung oleh update-index dan mengharuskan Anda untuk menghapus dan membuat ulang indeks:
-
Meng
language_optionsubah bidang yang saat ini mengaktifkan pengayaan semantik. Nonaktifkan bidang terlebih dahulu, lalu aktifkan kembali dengan opsi bahasa baru. -
Memperbarui bidang bersarang. Pengayaan semantik hanya didukung pada
textbidang tingkat atas. -
Memperbarui indeks
settings.
catatan
Jika indeks memiliki saluran penelusuran atau pencarian khusus yang tidak dibuat oleh pengayaan semantik otomatis, operasi pembaruan diblokir. Hapus pipeline khusus sebelum menambahkan bidang pengayaan semantik.
Penyerapan dan pencarian data
Setelah Anda membuat indeks dengan pengayaan semantik otomatis diaktifkan, fitur ini bekerja secara otomatis selama proses penyerapan data, tidak diperlukan konfigurasi tambahan.
Penyerapan data: Saat Anda menambahkan dokumen ke indeks Anda, sistem secara otomatis:
-
Menganalisis bidang teks yang Anda tetapkan untuk pengayaan semantik
-
Menghasilkan pengkodean semantik menggunakan model spar OpenSearch se yang dikelola Layanan
-
Menyimpan representasi yang diperkaya ini bersama data asli Anda
Proses ini menggunakan OpenSearch konektor ML bawaan dan saluran cerna, yang dibuat dan dikelola secara otomatis di belakang layar.
Pencarian: Data pengayaan semantik sudah diindeks, sehingga kueri berjalan secara efisien tanpa memanggil model ML lagi. Ini berarti Anda mendapatkan relevansi pencarian yang lebih baik tanpa overhead latensi pencarian tambahan.
Menggunakan pengayaan semantik otomatis dengan domain VPC
Pengayaan semantik otomatis didukung pada akses publik dan domain akses VPC yang menjalankan OpenSearch versi 2.19 atau yang lebih baru dengan pembaruan perangkat lunak layanan terbaru.
Untuk domain akses VPC, Amazon OpenSearch Service menggunakan layanan terkelola untuk menyediakan model ML, saluran cerna, dan saluran pencarian yang mendukung pengayaan semantik. Karena domain VPC tidak dapat dijangkau secara publik, Anda harus mengotorisasi layanan terkelola ini untuk mengakses domain Anda sebelum membuat atau mengelola indeks pengayaan semantik.
Mengotorisasi OpenSearch prinsip fitur Layanan
Berikan akses dengan AuthorizeVpcEndpointAccess API, tentukan features.opensearchservice.amazonaws.com sebagai prinsipal layanan:
aws opensearch authorize-vpc-endpoint-access \ --domain-namedomain-name\ --service "features.opensearchservice.amazonaws.com" \ --regionregion
Panggilan yang berhasil kembali:
{ "AuthorizedPrincipal": { "PrincipalType": "AWS Service", "Principal": "features.opensearchservice.amazonaws.com" } }
Anda hanya perlu mengotorisasi prinsipal sekali per domain. Langkah ini tidak diperlukan untuk domain akses publik.
Jika Anda mencoba operasi indeks pengayaan semantik (create-index,update-index,get-index, ataudelete-index) pada domain VPC sebelum mengotorisasi prinsipal, operasi gagal dengan kesalahan yang mirip dengan berikut ini:
An error occurred (AccessDeniedException) when calling the GetIndex operation: This operation is not authorized for VPC domain. Please authorize 'features.opensearchservice.amazonaws.com' through the AuthorizeVpcEndpointAccess API.
Setelah mengotorisasi prinsipal, coba lagi operasi.
Pengalaman konsol
Anda dapat menyelesaikan otorisasi dan membuat indeks pengayaan semantik untuk domain VPC langsung dari konsol. Di konsol OpenSearch Layanan Amazon, pilih domain VPC Anda untuk menampilkan spanduk pengayaan semantik otomatis, lalu pilih Buka Indeks untuk membuka tab Indeks.
Jika prinsip fitur OpenSearch Layanan belum diotorisasi untuk mengakses domain, tab Indeks menampilkan pesan akses ditolak alih-alih tombol Buat indeks. Pilih Otorisasi Prinsipal untuk membuka tab titik akhir VPC.
Pada tab titik akhir VPC, pilih Otorisasi prinsip, pilih Otorisasi Prinsipal dari Layanan lain, dan pilih Fitur AWS Layanan. OpenSearch Ini melakukan otorisasi yang sama seperti AuthorizeVpcEndpointAccess API yang dijelaskan di bagian sebelumnya.
Kembali ke tab Indeks. Tombol Buat indeks sekarang tersedia. Pilih Buat indeks untuk membuka halaman buat indeks, tempat Anda dapat menentukan bidang pengayaan semantik otomatis dan membuat indeks untuk domain VPC Anda.
catatan
Untuk domain VPC, daftar indeks tidak dapat ditampilkan di konsol karena pembatasan jaringan VPC. Untuk melihat indeks Anda, gunakan OpenSearch Dasbor secara langsung dengan URL dasbor. Karena Anda tidak dapat melihat indeks di konsol, Anda juga tidak dapat memperbarui indeks pengayaan semantik yang ada di sana. Untuk memperbarui indeks pengayaan semantik pada domain VPC, gunakan update-index API. Untuk informasi selengkapnya, lihat Memperbarui indeks yang ada.
Mengkonfigurasi izin untuk pengayaan semantik otomatis
Sebelum membuat indeks dengan pengayaan semantik otomatis, Anda perlu mengonfigurasi izin yang diperlukan. Bagian ini menjelaskan izin yang diperlukan untuk operasi indeks yang berbeda dan cara mengaturnya untuk skenario kontrol akses AWS Identity and Access Management (IAM) dan kontrol akses halus.
Izin IAM
Izin IAM berikut diperlukan untuk operasi pengayaan semantik otomatis. Izin ini bervariasi tergantung pada operasi indeks tertentu yang ingin Anda lakukan.
CreateIndex Izin API
Untuk membuat indeks dengan pengayaan semantik otomatis, Anda memerlukan izin IAM berikut:
-
es:CreateIndex— Buat indeks dengan kemampuan pengayaan semantik. -
es:ESHttpHead— Lakukan permintaan HEAD untuk memeriksa keberadaan indeks. -
es:ESHttpPut— Lakukan permintaan PUT untuk pembuatan indeks. -
es:ESHttpPost— Lakukan permintaan POST untuk operasi indeks.
UpdateIndex Izin API
Untuk memperbarui indeks yang ada dengan pengayaan semantik otomatis, Anda memerlukan izin IAM berikut:
-
es:UpdateIndex— Perbarui pengaturan indeks dan pemetaan. -
es:ESHttpPut— Lakukan permintaan PUT untuk pembaruan indeks. -
es:ESHttpGet— Lakukan permintaan GET untuk mengambil informasi indeks. -
es:ESHttpPost— Lakukan permintaan POST untuk operasi indeks.
GetIndex Izin API
Untuk mengambil informasi tentang indeks dengan pengayaan semantik otomatis, Anda memerlukan izin IAM berikut:
-
es:GetIndex— Ambil informasi indeks dan pengaturan. -
es:ESHttpGet— Lakukan permintaan GET untuk mengambil data indeks.
DeleteIndex Izin API
Untuk menghapus indeks dengan pengayaan semantik otomatis, Anda memerlukan izin IAM berikut:
-
es:DeleteIndex— Hapus indeks dan komponen pengayaan semantiknya. -
es:ESHttpDelete— Lakukan permintaan DELETE untuk penghapusan indeks.
Contoh kebijakan IAM
Contoh kebijakan akses berbasis identitas berikut memberikan izin yang diperlukan bagi pengguna untuk mengelola indeks dengan pengayaan semantik otomatis:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSemanticEnrichmentIndexOperations", "Effect": "Allow", "Action": [ "es:CreateIndex", "es:UpdateIndex", "es:GetIndex", "es:DeleteIndex", "es:ESHttpHead", "es:ESHttpGet", "es:ESHttpPut", "es:ESHttpPost", "es:ESHttpDelete" ], "Resource": "arn:aws:es:aws-region:111122223333:domain/domain-name" } ] }
G aws-region anti111122223333,, dan domain-name dengan nilai spesifik Anda. Anda dapat membatasi akses lebih lanjut dengan menentukan pola indeks tertentu dalam sumber daya ARN.
Fine-grained izin kontrol akses
Jika domain OpenSearch Layanan Amazon Anda mengaktifkan kontrol akses halus, Anda memerlukan izin tambahan di luar izin IAM.
Domain yang dibuat pada atau setelah 12 Agustus 2026 menyer takan peran kontrol akses berbutir halus yang telah ditentukan sebelumnya,automatic_semantic_enrichment_full_access, yang memberikan izin yang diperlukan untuk mengelola indeks pengayaan semantik. Jika domain Anda menggunakan kontrol akses yang halus, petakan peran pengguna atau backend Anda ke al automatic_semantic_enrichment_full_access ih-alih menetapkan izin cluster dan indeks individual secara manual.
Jika domain Anda dibuat sebelum tanggal ini, gunakan izin kontrol akses halus yang dijelaskan di bagian berikut. Izin berikut diperlukan untuk setiap operasi indeks.
CreateIndex Izin API
Ketika kontrol akses halus diaktifkan, izin tambahan berikut diperlukan untuk membuat indeks dengan pengayaan semantik otomatis:
-
indices:admin/create— Buat operasi indeks. -
indices:admin/mapping/put— Buat dan perbarui pemetaan indeks. -
cluster:admin/opensearch/ml/create_connector- Buat konektor pembelajaran mesin untuk pemrosesan semantik. -
cluster:admin/opensearch/ml/register_model— Daftarkan model pembelajaran mesin untuk pengayaan semantik. -
cluster:admin/ingest/pipeline/put— Buat saluran ingest untuk pemrosesan data. -
cluster:admin/search/pipeline/put— Buat pipeline pencarian untuk pemrosesan kueri.
UpdateIndex Izin API
Ketika kontrol akses halus diaktifkan, izin tambahan berikut diperlukan untuk memperbarui indeks dengan pengayaan semantik otomatis:
-
indices:admin/get— Ambil informasi indeks. -
indices:admin/settings/update— Perbarui pengaturan indeks. -
indices:admin/mapping/put— Perbarui pemetaan indeks. -
cluster:admin/opensearch/ml/create_connector— Buat konektor pembelajaran mesin. -
cluster:admin/opensearch/ml/register_model— Daftarkan model pembelajaran mesin. -
cluster:admin/ingest/pipeline/put— Buat saluran pipa menelan. -
cluster:admin/search/pipeline/put— Buat saluran pencarian. -
cluster:admin/ingest/pipeline/get— Ambil informasi saluran cerna. -
cluster:admin/search/pipeline/get— Ambil informasi saluran pencarian.
GetIndex Izin API
Ketika kontrol akses halus diaktifkan, izin tambahan berikut diperlukan untuk mengambil informasi tentang indeks dengan pengayaan semantik otomatis:
-
indices:admin/get— Ambil informasi indeks. -
cluster:admin/ingest/pipeline/get— Ambil informasi saluran cerna. -
cluster:admin/search/pipeline/get— Ambil informasi saluran pencarian.
DeleteIndex Izin API
Ketika kontrol akses halus diaktifkan, izin tambahan berikut diperlukan untuk menghapus indeks dengan pengayaan semantik otomatis:
-
indices:admin/delete— Hapus operasi indeks.
Menulis Ulang Kueri
Pengayaan semantik otomatis secara otomatis mengubah kueri “kecocokan” Anda yang ada menjadi kueri pencarian semantik tanpa memerlukan modifikasi kueri. Jika kueri kecocokan adalah bagian dari kueri majemuk, sistem akan melintasi struktur kueri Anda, menemukan kueri kecocokan, dan menggantinya dengan kueri neural sparse. Saat ini, fitur ini hanya mendukung penggantian kueri “cocok”, apakah itu kueri mandiri atau bagian dari kueri majemuk. “multi_match” tidak didukung. Selain itu, fitur ini mendukung semua kueri majemuk untuk menggantikan kueri kecocokan bersarang mereka. Kueri majemuk meliputi: bool, boost, constant_score, dis_max, function_score, dan hybrid.
Keterbatasan pengayaan semantik otomatis
Pencarian semantik otomatis paling efektif bila diterapkan pada bidang berukuran kecil hingga menengah yang berisi konten bahasa alami, seperti judul film, deskripsi produk, ulasan, dan ringkasan. Meskipun pencarian semantik meningkatkan relevansi untuk sebagian besar kasus penggunaan, mungkin tidak optimal untuk skenario tertentu. Pertimbangkan batasan berikut saat memutuskan apakah akan menerapkan pengayaan semantik otomatis untuk kasus penggunaan spesifik Anda.
-
Dokumen yang sangat panjang — Model sparse saat ini hanya memproses 8.192 token pertama dari setiap dokumen untuk bahasa Inggris. Untuk dokumen multibahasa, itu 512 token. Untuk artikel yang panjang, pertimbangkan untuk menerapkan pemotongan dokumen untuk memastikan pemrosesan konten lengkap.
-
Beban kerja analisis log — Pengayaan semantik secara signifikan meningkatkan ukuran indeks, yang mungkin tidak diperlukan untuk analisis log di mana pencocokan yang tepat biasanya cukup. Konteks semantik tambahan jarang meningkatkan efektivitas pencarian log cukup untuk membenarkan peningkatan persyaratan penyimpanan.
-
Pengayaan semantik otomatis tidak kompatibel dengan fitur Sumber Turunan.
-
Throttling — Permintaan inferensi pengindeksan saat ini dibatasi pada 200 TPS untuk domain Layanan. OpenSearch Ini adalah batas lunak; hubungi AWS Dukungan untuk batas yang lebih tinggi.
Harga
OpenSearch Layanan Amazon menagih pengayaan semantik otomatis berdasarkan OpenSearch Compute Units (OCU) yang dikonsumsi selama pembuatan vektor jarang pada waktu pengindeksan. Anda hanya dikenakan biaya untuk penggunaan aktual selama pengindeksan untuk bidang teks tempat Anda mengaktifkan pengayaan semantik otomatis. One Semantic Search OCU dapat memproses 11.1 juta token untuk konten bahasa Inggris. Untuk memproses 2,4 miliar token, Anda memerlukan sekitar 216 Pencarian Semantik OCU-hours (2,4 miliar /11,10 juta). Dengan harga $0,24 per Pencarian Semantik OCU-hour, biaya untuk memproses 10 GB data untuk pencarian semantik otomatis adalah $51 (216 OCU-hours x $0. 24/OCU-jam). Tidak ada biaya OCU Pencarian Semantik tambahan selama operasi pencarian atau untuk penyimpanan data.
Anda dapat memantau konsumsi ini menggunakan CloudWatch metrik AmazonSemanticSearchOCU. Untuk detail spesifik tentang batas token model, throughput volume per OCU, dan contoh perhitungan sampel, kunjungi Harga OpenSearch
Didukung Wilayah AWS
Pengayaan semantik otomatis tersedia sebagai berikut Wilayah AWS:
Timur AS (N. Virginia)
AS Timur (Ohio)
AS Barat (Oregon)
Asia Pasifik (Mumbai)
Asia Pasifik (Singapura)
Asia Pasifik (Sydney)
Asia Pasifik (Tokyo)
Eropa (Frankfurt)
Eropa (Irlandia)
Eropa (Stockholm)
Eropa (Spanyol)