Data tidak terstruktur terus berkembang di banyak organisasi, sehingga menjadi tantangan bagi pengguna untuk mendapatkan informasi yang mereka butuhkan. AmazonKendra adalah layanan pencarian yang sangat akurat dan cerdas yang didukung oleh pembelajaran mesin (ML). Amazon Kendra menggunakan pembelajaran mendalam dan pemahaman bacaan untuk memberikan jawaban yang tepat, dan mengembalikan daftar dokumen berperingkat yang cocok dengan kueri pencarian untuk Anda pilih. Untuk membantu pengguna mempersempit daftar dokumen yang relevan secara interaktif, Anda dapat menetapkan metadata pada saat penyerapan dokumen untuk diberikan pemfilteran dan faceting kemampuan.
Dalam solusi pencarian dengan jumlah dokumen yang terus bertambah, faceting atau pemfilteran sederhana tidak selalu cukup untuk memungkinkan pengguna benar-benar menentukan dokumen dengan informasi yang mereka cari. Amazon Kendra kini menampilkan aspek hierarkis, dengan tampilan cakupan hasil pencarian yang lebih terperinci. Aspek hierarkis menawarkan opsi pemfilteran dengan detail lebih lanjut tentang jumlah hasil yang diharapkan untuk setiap opsi, dan memungkinkan pengguna untuk lebih mempersempit pencarian mereka, menunjukkan dokumen yang mereka minati dengan cepat.
Dalam posting ini, kami mendemonstrasikan apa yang dapat dilakukan oleh aspek hierarkis di Amazon Kendra. Kami pertama-tama menyerap sekumpulan dokumen, bersama dengan metadatanya, ke dalam indeks Amazon Kendra. Kami kemudian membuat kueri penelusuran menggunakan aspek sederhana dan hierarkis, dan menambahkan pemfilteran untuk langsung membuka dokumen yang diinginkan.
Ikhtisar solusi
Alih-alih menampilkan setiap faset secara individual sebagai daftar, faset hierarkis memungkinkan pendefinisian hubungan induk-anak antara faset untuk membentuk cakupan hasil pencarian. Dengan ini, Anda melihat jumlah hasil yang tidak hanya memiliki aspek tertentu, tetapi juga memiliki masing-masing sub-aspek. Mari kita ambil contoh repositori jenis dokumen AWS User_Guides
, Reference_Guides
dan Release_Notes
, mengenai teknologi komputasi, penyimpanan, dan basis data.
Pertama, mari kita lihat aspek non-hierarkis dari respons terhadap kueri penelusuran:
Di sini kita mengetahui jumlah hasil pencarian di setiap teknologi, serta setiap jenis dokumen. Namun, kami tidak tahu, misalnya, berapa banyak hasil yang diharapkan dari User_Guides
berhubungan dengan Storage
, kecuali bahwa itu akan menjadi kurang dari 22, karena lebih kecil dari jumlah hasil dari User_Guides:37
dan dari Storage:22
.
Sekarang mari kita lihat aspek hierarkis dari respons terhadap kueri penelusuran yang sama:
Dengan aspek hierarki, kami mendapatkan lebih banyak informasi dalam hal jumlah hasil dari setiap jenis dokumen tentang setiap teknologi. Dengan informasi tambahan ini, kita tahu bahwa ada 16 hasil dari User_Guides
berhubungan dengan Storage
.
Di bagian berikutnya, kami menggunakan contoh ini untuk mendemonstrasikan penggunaan aspek hierarkis untuk mempersempit hasil pencarian bersama dengan petunjuk langkah demi langkah yang dapat Anda ikuti untuk mencobanya di akun AWS Anda sendiri. Jika Anda hanya ingin membaca tentang fitur ini tanpa menjalankannya sendiri, Anda dapat merujuk ke skrip Python facet-search-query.py digunakan dalam posting ini, dan hasilnya output.txt, lalu lompat ke bagian Cari dan filter menggunakan faset tanpa hierarki.
Prasyarat
Untuk menerapkan dan bereksperimen dengan solusi dalam posting ini, pastikan Anda memiliki yang berikut:
- An Akun AWS dengan hak istimewa untuk membuat Identitas AWS dan Manajemen Akses (IAM) peran dan kebijakan. Untuk informasi lebih lanjut, lihat Ikhtisar manajemen akses: Izin dan kebijakan.
- Pengetahuan dasar tentang AWS dan kemampuan untuk bekerja di Konsol Manajemen AWS.
- Kemampuan untuk membuat sebuah Layanan Penyimpanan Sederhana Amazon (Amazon S3).
- Akses ke AWS CloudShell.
- Pengetahuan dasar tentang pemrograman Python.
Siapkan infrastruktur dan jalankan skrip Python untuk menanyakan indeks Amazon Kendra
Untuk menyiapkan solusi, selesaikan langkah-langkah berikut:
- Gunakan Konsol Manajemen AWS untuk Amazon S3 untuk buat ember S3 untuk digunakan sebagai sumber data untuk menyimpan dokumen sampel.
- Di AWS Management Console, mulai CloudShell dengan memilih ikon shell di bilah navigasi.
Atau, Anda dapat menjalankan skrip Python dari komputer mana pun yang memiliki AWS SDK untuk Python (Boto3) diinstal dan akun AWS dengan akses ke indeks Amazon Kendra. Pastikan untuk memperbarui Boto3 di komputer Anda. Untuk kesederhanaan, petunjuk langkah demi langkah dalam posting ini berfokus pada CloudShell.
- Setelah CloudShell dimulai, unduh facet-search-query.py ke mesin lokal Anda.
- Unggah skrip ke CloudShell Anda dengan beralih ke tab CloudShell, memilih tindakan menu, dan memilih Unggah data.
- Unduh hirarki-faset-data.zip ke mesin lokal Anda, unzip, dan unggah seluruh struktur direktori ke bucket S3 Anda.
- Jika Anda tidak menggunakan indeks Amazon Kendra yang ada, buat indeks Amazon Kendra baru.
- Di konsol Amazon Kendra, buka file index.
- Di panel navigasi, pilih Definisi segi.
- Pilih Tambahkan bidang.
- Konfigurasikan bidang
Document_Type
Dan pilihlah Add.
- Konfigurasikan bidang
Technology
Dan pilihlah Add.
- Konfigurasikan bucket S3 Anda sebagai sumber data ke indeks Amazon Kendra yang baru saja Anda buat.
- Sinkronkan sumber data dan tunggu hingga sinkronisasi selesai.
- Beralih ke tab CloudShell.
- Perbarui Boto3 dengan menjalankan
pip3 install boto3=1.23.1 --upgrade
.
Ini memastikan bahwa CloudShell memiliki versi Boto3 yang mendukung aspek hierarkis. - Edit
facet-search-query.py
dan gantiREPLACE-WITH-YOUR-AMAZON-KENDRA-INDEX-ID
dengan ID indeks Amazon Kendra Anda.
Anda bisa mendapatkan ID indeks dengan membuka detail indeks Anda di konsol Amazon Kendra.
- Di prompt CloudShell, jalankan
facet-search-query.py
menggunakan perintahpython3 facet-search-query.py | tee output.txt
.
Jika langkah ini dibatalkan dengan kesalahan Unknown parameter in Facets[0]: โFacetsโ, must be one of: DocumentAttributeKey
,
memilih tindakan menu, dan pilih Hapus direktori beranda AWS CloudShell. Ulangi langkah-langkah untuk mengunduh facet-search-query.py
, perbarui Boto3, edit facet-search-query.py
, dan jalankan lagi. Jika Anda memiliki data lain di direktori home CloudShell, Anda harus mencadangkannya sebelum menjalankan langkah ini.
Untuk kenyamanan, semua langkah disertakan dalam satu skrip Python. Kamu bisa membaca facet-search-query.py
dan bereksperimen dengan menyalin bagian dari skrip ini dan membuat skrip Anda sendiri. Sunting output.txt
untuk mengamati hasil pencarian.
Cari dan filter dengan aspek tanpa hierarki
Mari kita mulai dengan membuat kueri dengan aspek yang tidak memiliki hierarki. Dalam hal ini, parameter facet yang digunakan dalam kueri hanya memberikan informasi bahwa hasil dalam respons harus difacet menggunakan dua atribut: Technology
dan Document_Type
. Lihat kode berikut:
Ini digunakan sebagai parameter untuk panggilan API kueri:
Versi respons yang diformat adalah sebagai berikut:
Hasil pertama dari respon adalah dari User_Guide
tentang Databases
. Aspek di bawah hasil menunjukkan jumlah hasil untuk Technology
dan Document_Type
hadir dalam tanggapan.
Mari kita persempit hasil ini menjadi hanya dari User_Guides
dan Storage
dengan mengatur filter sebagai berikut:
Sekarang mari kita buat panggilan kueri menggunakan faset tanpa hierarki dan filter sebelumnya:
Versi respons yang diformat adalah sebagai berikut:
Tanggapan berisi 16 hasil dari User_Guides
on Storage
. Berdasarkan aspek non-hierarki dalam respons tanpa filter, kami hanya tahu bahwa kami mengharapkan kurang dari 22 hasil.
Cari dan filter dengan aspek hierarkis dengan Document_Type sebagai sub-aspek Teknologi
Sekarang mari kita jalankan kueri menggunakan aspek hierarkis, dengan hubungan Document_Type
menjadi sub-aspek dari Technology
. Hubungan hierarkis ini penting untuk Technology
-fokus pengguna seperti seorang insinyur. Perhatikan aspek bersarang dalam definisi berikut. Itu MaxResults
parameter digunakan untuk menampilkan hanya atas MaxResults
segi. Untuk contoh kita, hanya ada tiga segi untuk Technology
dan Document_Type
, oleh karena itu parameter ini tidak terlalu berguna. Ketika jumlah segi tinggi, masuk akal untuk menggunakan parameter ini.
Panggilan API kueri dibuat sebagai berikut:
Versi respons yang diformat adalah sebagai berikut:
Hasilnya diklasifikasikan sesuai dengan Technology
segi diikuti oleh Document_Type
. Dalam hal ini, melihat aspeknya, kita tahu bahwa 16 hasil berasal dari User_Guides
tentang Storage
dan 7 berasal dari Reference_Guides
berhubungan dengan Database.
Mari kita persempit hasil ini menjadi hanya dari Reference_Guides
berhubungan dengan Databases
menggunakan filter berikut:
Sekarang mari kita buat panggilan API kueri menggunakan aspek hierarkis dengan filter ini:
Respons yang diformat untuk ini adalah sebagai berikut:
Dari segi tanggapan ini, ada tujuh hasil, semuanya dari Reference_Guides
berhubungan dengan Databases
, persis seperti yang kita ketahui sebelum membuat kueri.
Cari dan filter dengan aspek hierarkis dengan Teknologi sebagai sub-aspek dari Document_Type
Anda dapat memilih hubungan hierarkis antara aspek yang berbeda pada saat kueri. Mari kita definisikan Technology
sebagai sub-segi dari Document_Type
, seperti yang ditunjukkan pada kode berikut. Hubungan hierarkis ini akan menjadi penting untuk Document_Type
-fokus pengguna seperti penulis teknis.
Panggilan API kueri dibuat sebagai berikut:
Respons yang diformat untuk ini adalah sebagai berikut:
Hasilnya diklasifikasikan menurut mereka Document_Type
diikuti oleh Teknologi. Dengan kata lain, pembalikan hubungan hierarkis menghasilkan transposisi matriks cakupan hasil seperti yang ditunjukkan oleh faset sebelumnya. Enam hasil berasal dari Reference_Guides
berhubungan dengan Komputasi. Mari kita definisikan filter sebagai berikut:
Kami menggunakan filter ini untuk membuat panggilan API kueri:
Respons yang diformat untuk ini adalah sebagai berikut:
Hasilnya berisi enam Reference_Guides
berhubungan dengan Compute
, persis seperti yang kami ketahui sebelum menjalankan kueri.
Membersihkan
Untuk menghindari timbulnya biaya di masa mendatang, bersihkan sumber daya yang Anda buat sebagai bagian dari solusi ini. Jika Anda membuat indeks Amazon Kendra baru saat menguji solusi ini, hapuslah. Jika Anda hanya menambahkan sumber data baru menggunakan konektor Amazon Kendra untuk Amazon S3, hapus sumber data tersebut. Jika Anda membuat bucket Amazon S3 untuk menyimpan data yang digunakan, hapus juga bucket tersebut.
Kesimpulan
Anda dapat menggunakan faset hierarki Amazon Kendra untuk menentukan hubungan hierarkis antar atribut guna memberikan informasi terperinci tentang cakupan hasil dalam respons terhadap kueri. Ini memungkinkan Anda membuat pilihan pemfilteran yang tepat untuk mempersempit hasil pencarian dan menemukan dokumen yang Anda cari dengan cepat.
Untuk mempelajari lebih lanjut tentang faset dan filter di Amazon Kendra, lihat Memfilter kueri.
Untuk informasi selengkapnya tentang cara membuat, memodifikasi, atau menghapus metadata secara otomatis, yang dapat Anda gunakan untuk faceting hasil pencarian, lihat Menyesuaikan metadata dokumen selama proses penyerapan dan Perkaya konten dan metadata Anda untuk meningkatkan pengalaman pencarian Anda dengan pengayaan dokumen khusus di Amazon Kendra.
Tentang Penulis
Abhinav Jawadekar adalah Arsitek Solusi Utama yang berfokus pada Amazon Kendra dalam tim layanan bahasa AI/ML di AWS. Abhinav bekerja dengan pelanggan dan mitra AWS untuk membantu mereka membangun solusi pencarian cerdas di AWS.
Ji Kim adalah Insinyur Pengembangan Perangkat Lunak di Amazon Web Services dan merupakan anggota tim Amazon Kendra.
- Coinsmart. Pertukaran Bitcoin dan Crypto Terbaik Eropa.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. AKSES GRATIS.
- CryptoHawk. Radar Altcoin. Uji Coba Gratis.
- Sumber: https://aws.amazon.com/blogs/machine-learning/take-your-intelligent-search-experience-to-the-next-level-with-amazon-kendra-hierarchical-facets/
- "
- 100
- 7
- 9
- a
- kemampuan
- Tentang Kami
- mengakses
- Akun
- tepat
- Tindakan
- menambahkan
- Tambahan
- Semua
- memungkinkan
- sudah
- selalu
- Amazon
- Amazon Web Services
- api
- atribut
- secara otomatis
- AWS
- sebelum
- makhluk
- di bawah
- antara
- batas
- membangun
- panggilan
- Bisa Dapatkan
- kemampuan
- menantang
- perubahan
- pilihan
- Pilih
- kode
- lengkap
- menghitung
- komputer
- konsul
- mengandung
- Konten
- terus
- kenyamanan
- penyalinan
- Biaya
- membuat
- dibuat
- adat
- pelanggan
- data
- Basis Data
- database
- mendalam
- mendemonstrasikan
- menyebarkan
- rincian
- Pengembangan
- berbeda
- Display
- dokumen
- turun
- Download
- selama
- aktif
- memungkinkan
- enkripsi
- insinyur
- persis
- contoh
- Kecuali
- ada
- mengharapkan
- diharapkan
- pengalaman
- eksperimen
- Fitur
- Fitur
- penyaringan
- filter
- Pertama
- Fokus
- terfokus
- mengikuti
- berikut
- berikut
- dari
- lebih lanjut
- masa depan
- akan
- Tumbuh
- Pertumbuhan
- memiliki
- membantu
- hirarki
- High
- sangat
- Beranda
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTTPS
- ICON
- identitas
- penting
- Di lain
- termasuk
- indeks
- informasi
- informasi
- Infrastruktur
- install
- Cerdas
- bunga
- IT
- melompat
- kunci
- Tahu
- pengetahuan
- bahasa
- BELAJAR
- pengetahuan
- Tingkat
- Daftar
- lokal
- melihat
- mencari
- mesin
- Mesin belajar
- terbuat
- membuat
- MEMBUAT
- Membuat
- berhasil
- pengelolaan
- Cocok
- Matriks
- anggota
- ML
- lebih
- Navigasi
- jumlah
- menawarkan
- Buka
- pembukaan
- pilihan
- Opsi
- organisasi
- Lainnya
- sendiri
- bagian
- tertentu
- khususnya
- rekan
- Kebijakan
- didukung
- menyajikan
- Utama
- Pemrograman
- memberikan
- menyediakan
- segera
- Bacaan
- mengenai
- hubungan
- relevan
- gudang
- wajib
- sumber
- Sumber
- tanggapan
- ISTIRAHAT
- Hasil
- Pengembalian
- Run
- berjalan
- sama
- SDK
- Pencarian
- rasa
- layanan
- Layanan
- set
- pengaturan
- Bentuknya
- Kulit
- ditunjukkan
- Sederhana
- ENAM
- Perangkat lunak
- pengembangan perangkat lunak
- padat
- larutan
- Solusi
- awal
- dimulai
- penyimpanan
- menyimpan
- Simpan datanya
- Mendukung
- tim
- Teknis
- Teknologi
- Teknologi
- istilah
- pengujian
- Grafik
- karena itu
- tiga
- waktu
- Judul
- puncak
- transit
- jenis
- Memperbarui
- menggunakan
- Pengguna
- nilai
- versi
- View
- menunggu
- jaringan
- layanan web
- Apa
- sementara
- tanpa
- kata
- Kerja
- bekerja
- akan
- penulis
- Anda