Pengayaan semantik otomatis untuk Tanpa Server - OpenSearch Layanan Amazon

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

Pengantar

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 (machine learning) Anda sendiri dan integrasi dengan mesin pencari. Fitur ini tersedia untuk ketiga jenis koleksi tanpa server: Pencarian, Seri Waktu, dan Vektor.

Apa itu pencarian semantik

Mesin pencari tradisional mengandalkan word-to-word pencocokan (disebut sebagai pencarian leksikal) untuk menemukan hasil kueri. Meskipun ini bekerja dengan baik untuk pertanyaan tertentu seperti nomor model televisi, ia berjuang dengan pencarian yang lebih abstrak. Misalnya, ketika mencari “sepatu untuk pantai,” pencarian leksikal hanya cocok dengan kata-kata individual “sepatu,” “pantai,” “untuk,” dan “yang” dalam item katalog, yang berpotensi kehilangan produk yang relevan seperti “sandal kedap air” atau “alas kaki selancar” yang tidak mengandung istilah pencarian yang tepat.

Pencarian semantik mengembalikan hasil kueri yang menggabungkan tidak hanya pencocokan kata kunci, tetapi maksud dan arti 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 pereda nyeri

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 berdasarkan informasi tentang adopsi fitur dalam beban kerja penting Anda.

Pengayaan semantik otomatis menggunakan model sparse pra-terlatih yang dikelola layanan yang bekerja secara efektif tanpa memerlukan penyesuaian khusus. Model menganalisis bidang yang Anda tentukan, memperluasnya 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, di mana pengkodean hanya terjadi selama konsumsi data. Kueri penelusuran hanya diberi token daripada diproses melalui model yang jarang, membuat solusinya hemat biaya dan berkinerja.

Validasi kinerja kami selama pengembangan fitur menggunakan kumpulan data pengambilan bagian MS MARCO, yang menampilkan bagian rata-rata 334 karakter. Untuk penilaian relevansi, kami mengukur rata-rata Normalized Discounted Cumulative Gain (NDCG) untuk 10 hasil pencarian pertama (ndcg @10) pada tolok ukur BEIR untuk konten bahasa Inggris dan rata-rata ndcg @10 di MIRACL untuk konten multibahasa. Kami menilai latensi melalui pengukuran sisi klien, persentil ke-90 (p90) dan respons pencarian p90 mengambil nilai. Tolok ukur ini memberikan indikator kinerja dasar untuk relevansi pencarian dan waktu respons. Berikut adalah nomor tolok ukur utama -

  • 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-bahasa - 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.

Siapkan indeks pengayaan semantik otomatis untuk koleksi tanpa server

Menyiapkan indeks dengan pengayaan semantik otomatis yang diaktifkan untuk bidang teks Anda mudah, dan Anda dapat mengelolanya melalui konsol, APIs, 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 koleksi, 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 opensearchserverless create-index \ --id [collection_id] \ --index-name [index_name] \ --index-schema [index_body] \

Dalam contoh skema indeks berikut, bidang title_semantik memiliki jenis bidang yang disetel ke teks dan memiliki parameter semantic_enrichment disetel ke status ENABLED. Menyetel parameter semantic_enrichment memungkinkan pengayaan semantik otomatis pada bidang title_semantic. Anda dapat menggunakan bidang language_options untuk menentukan bahasa Inggris atau multi-bahasa.

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.

Konsumsi 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 tentukan untuk pengayaan semantik

  • Menghasilkan pengkodean semantik menggunakan OpenSearch model sparse yang dikelola Layanan

  • Menyimpan representasi yang diperkaya ini bersama data asli Anda

Proses ini menggunakan OpenSearch konektor HTML bawaan dan saluran pipa tertelan, yang dibuat dan dikelola secara otomatis di belakang layar.

Penelusuran: Data pengayaan semantik sudah diindeks, sehingga kueri berjalan secara efisien tanpa menjalankan model ML lagi. Ini berarti Anda mendapatkan relevansi penelusuran yang ditingkatkan tanpa overhead latensi penelusuran tambahan.

Mengkonfigurasi izin untuk pengayaan semantik otomatis

Sebelum membuat indeks pengayaan semantik otomatis, Anda perlu 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 ini untuk memberikan izin yang diperlukan untuk bekerja dengan pengayaan semantik otomatis:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AutomaticSemanticEnrichmentPermissions", "Effect": "Allow", "Action": [ "aoss:CreateIndex", "aoss:GetIndex", "aoss:UpdateIndex", "aoss:DeleteIndex", "aoss:APIAccessAll" ], "Resource": "*" } ] }
Izin kunci
  • aoss:*IndexIzin mengaktifkan manajemen indeks

  • aoss:APIAccessAllIzin 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 indeks, pipeline, dan pengumpulan 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 layanan APIs 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 Tanpa OpenSearch Server.

[ { "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
  1. Masuk ke konsol OpenSearch Layanan di https://console.aws.amazon.com/aos/rumah.

  2. Di 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

  3. Di area tipe Access, pilih Private (recommended), lalu pilih AWS Service Private Access.

  4. Di kolom pencarian, pilih Layanan, lalu pilih aoss.amazonaws.com.

  5. Di area Jenis sumber daya, pilih kotak Aktifkan akses ke OpenSearch titik akhir.

  6. Untuk koleksi Penelusuran, atau masukan istilah awalan tertentu, di kolom pencarian, pilih Nama Koleksi. Kemudian masukkan atau pilih nama koleksi untuk dikaitkan dengan kebijakan jaringan.

  7. Pilih Buat untuk kebijakan jaringan baru atau Perbarui untuk kebijakan jaringan yang ada.

Penulisan Ulang Kueri

Pengayaan semantik otomatis secara otomatis mengonversi kueri “kecocokan” yang ada menjadi kueri penelusuran semantik tanpa memerlukan modifikasi kueri. Jika kueri pencocokan adalah bagian dari kueri gabungan, sistem akan melintasi struktur kueri Anda, menemukan kueri kecocokan, dan menggantinya dengan kueri jarang saraf. Saat ini, fitur tersebut hanya mendukung penggantian kueri “match”, apakah itu kueri mandiri atau bagian dari kueri gabungan. “multi_match” tidak didukung. Selain itu, fitur ini mendukung semua kueri gabungan untuk menggantikan kueri pencocokan bersarang mereka. Kueri majemuk meliputi: bool, boosting, constant_score, dis_max, function_score, dan hybrid.

Keterbatasan pengayaan semantik otomatis

Pencarian semantik otomatis paling efektif bila diterapkan pada bidang small-to-medium berukuran yang berisi konten bahasa alami, seperti judul film, deskripsi produk, ulasan, dan ringkasan. Meskipun pencarian semantik meningkatkan relevansi untuk sebagian besar kasus penggunaan, itu 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 potongan 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 yang cukup untuk membenarkan peningkatan persyaratan penyimpanan.

  • Pengayaan semantik otomatis tidak kompatibel dengan fitur Sumber Derived.

Harga

OpenSearch Tagihan tanpa server pengayaan semantik otomatis berdasarkan OpenSearch Compute Units (OCUs) yang dikonsumsi selama pembuatan vektor jarang pada waktu pengindeksan. Anda dikenakan biaya hanya untuk penggunaan aktual selama pengindeksan. Anda dapat memantau konsumsi ini menggunakan SemanticSearch OCU CloudWatch metrik Amazon. Untuk detail spesifik tentang batas token model, throughput volume per OCU, dan contoh perhitungan sampel, kunjungi Harga OpenSearch Layanan.