Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pengayaan semantik otomatis untuk Tanpa Server
Gambaran umum
Fitur pengayaan semantik otomatis dapat membantu meningkatkan relevansi pencarian hingga 20% dibandingkan pencarian leksikal. Pengayaan semantik otomatis menghilangkan beban berat yang tidak terdiferensiasi dalam mengelola infrastruktur model ML (pembelajaran mesin) Anda sendiri dan integrasi dengan mesin pencari. Fitur ini tersedia untuk ketiga jenis koleksi tanpa server: Search, Time Series, dan Vector.
Konsep pencarian semantik
Mesin pencari tradisional mengandalkan pencocokan kata ke kata (disebut sebagai pencarian leksikal) untuk menemukan hasil untuk kueri. Meskipun ini bekerja dengan baik untuk kueri tertentu seperti nomor model televisi, mungkin tidak mengembalikan hasil yang relevan untuk pencarian yang lebih abstrak. Misalnya, saat mencari “sepatu untuk pantai,” pencarian leksikal hanya mencocokkan kata-kata individual “sepatu,” “pantai,” “untuk,” dan “the” dalam item katalog, berpotensi kehilangan produk yang relevan seperti “sandal tahan air” atau “sepatu selancar” yang tidak berisi istilah pencarian yang tepat.
Pencarian semantik mengembalikan hasil kueri yang menggabungkan tidak hanya pencocokan kata kunci, tetapi maksud dan makna kontekstual dari pencarian pengguna. Misalnya, jika pengguna mencari “cara mengobati sakit kepala,” sistem pencarian semantik mungkin mengembalikan hasil berikut:
-
Obat migrain
-
Teknik manajemen nyeri
-
Over-the-counter penghilang rasa sakit
Detail model dan tolok ukur kinerja
Meskipun fitur ini menangani kompleksitas teknis di balik layar tanpa mengekspos model yang mendasarinya, deskripsi model dan hasil benchmark berikut 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 selama pengembangan fitur menggunakan kumpulan data pengam bilan 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, Anda dapat 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 koleksi tanpa server
Anda dapat mengatur indeks dengan pengayaan semantik otomatis yang diaktifkan untuk bidang teks Anda melalui konsol, API, dan CloudFormation templat selama pembuatan indeks baru. Untuk mengaktifkannya untuk indeks yang ada, Anda harus membuat ulang indeks dengan pengayaan semantik otomatis diaktifkan untuk bidang teks.
Dengan AWS konsol, Anda dapat membuat indeks dengan bidang pengayaan semantik otomatis. Setelah Anda memilih koleksi, Anda dapat menemukan tombol Buat indeks di bagian atas konsol. Setelah Anda memilih Buat indeks, konsol menyediakan 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.
Untuk membuat indeks pengayaan semantik otomatis menggunakan AWS Command Line Interface (AWS CLI), gunakan perintah create-index:
aws opensearchserverless create-index \ --id [collection_id] \ --index-name [index_name] \ --index-schema [index_body] \
Dalam contoh skema indeks berikut, title_semantic bidang memiliki tipe bidang yang disetel ke text dan memiliki parameter yang disetel semantic_enrichment ke statusENABLED. Pengaturan semantic_enrichment parameter memungkinkan pengayaan semantik otomatis di title_semantic lapangan. Anda dapat menggunakan language_options bidang untuk menentukan salah satu english ataumulti-lingual.
aws opensearchserverless 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 opensearchserverless get-index \ --id [collection_id] \ --index-name [index_name] \
Anda juga dapat menggunakan CloudFormation template (Type:AWS::OpenSearchServerless::CollectionIndex) untuk membuat pencarian semantik selama penyediaan koleksi serta setelah koleksi dibuat.
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 opensearchserverless update-index \ --id [collection_id] \ --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 opensearchserverless update-index \ --id my-collection-id \ --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 opensearchserverless update-index \ --id my-collection-id \ --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 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.
Mengkonfigurasi izin untuk pengayaan semantik otomatis
Sebelum membuat indeks pengayaan semantik otomatis, Anda harus mengonfigurasi izin yang diperlukan. Bagian ini menjelaskan izin yang diperlukan dan cara mengaturnya.
Izin kebijakan IAM
Gunakan kebijakan AWS Identity and Access Management (IAM) berikut untuk memberikan izin yang diperlukan untuk bekerja dengan pengayaan semantik otomatis:
- Izin kunci
-
-
Iz
aoss:*Indexin mengaktifkan manajemen indeks -
Iz
aoss:APIAccessAllin memungkinkan operasi OpenSearch API -
Untuk membatasi izin ke koleksi tertentu, ganti
"Resource": "*"dengan ARN koleksi
-
Konfigurasikan izin akses data
Untuk menyiapkan indeks untuk pengayaan semantik otomatis, Anda harus memiliki kebijakan akses data yang sesuai yang memberikan izin untuk mengakses sumber daya koleksi indeks, pipeline, dan model. Untuk informasi selengkapnya tentang kebijakan akses data, lihatKontrol akses data untuk Amazon Tanpa OpenSearch Server. Untuk prosedur mengonfigurasi kebijakan akses data, lihatMembuat kebijakan akses data (konsol).
Izin akses data
[ { "Description": "Create index permission", "Rules": [ { "ResourceType": "index", "Resource": ["index/collection_name/*"], "Permission": [ "aoss:CreateIndex", "aoss:DescribeIndex", "aoss:UpdateIndex", "aoss:DeleteIndex" ] } ], "Principal": [ "arn:aws:iam::account_id:role/role_name" ] }, { "Description": "Create pipeline permission", "Rules": [ { "ResourceType": "collection", "Resource": ["collection/collection_name"], "Permission": [ "aoss:CreateCollectionItems", "aoss:DescribeCollectionItems" ] } ], "Principal": [ "arn:aws:iam::account_id:role/role_name" ] }, { "Description": "Create model permission", "Rules": [ { "ResourceType": "model", "Resource": ["model/collection_name/*"], "Permission": ["aoss:CreateMLResource"] } ], "Principal": [ "arn:aws:iam::account_id:role/role_name" ] }, ]
Izin akses jaringan
Untuk mengizinkan API layanan mengakses koleksi pribadi, Anda harus mengonfigurasi kebijakan jaringan yang mengizinkan akses yang diperlukan antara API layanan dan koleksi. Untuk informasi selengkapnya tentang kebijakan jaringan, lihat Akses jaringan untuk Amazon OpenSearch Serverless.
[ { "Description":"Enable automatic semantic enrichment in a private collection", "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/collection_name" ] } ], "AllowFromPublic":false, "SourceServices":[ "aoss.amazonaws.com" ], } ]
Untuk mengonfigurasi izin akses jaringan untuk koleksi pribadi
-
Masuk ke konsol OpenSearch Layanan di https://console.aws.amazon.com/aos/home
. -
Di panel navigasi kiri, pilih Kebijakan jaringan. Kemudian lakukan salah satu hal berikut:
-
Pilih nama kebijakan yang ada dan pilih Edit
-
Pilih Buat kebijakan jaringan dan konfigurasikan detail kebijakan
-
-
Di area Jenis akses, pilih Pri badi (disarankan), lalu pilih akses pribadi AWS layanan.
-
Di bidang pencarian, pilih Layanan, lalu pilih aos s.amazonaws.com.
-
Di area Jenis sumber daya, pilih kotak centang Aktifkan akses OpenSearch ke titik akhir.
-
Untuk Koleksi Pencarian, atau masukkan istilah awalan tertentu, di bidang pencarian, pilih Nama Koleksi. Kemudian masukkan atau pilih nama koleksi yang akan dikaitkan dengan kebijakan jaringan.
-
Pilih Buat untuk kebijakan jaringan baru atau Per barui untuk kebijakan jaringan yang ada.
Didukung Wilayah AWS
Pengayaan semantik otomatis untuk OpenSearch Serverless 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)
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.
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