Pengayaan gugus

Azure AI services
Pencarian Azure AI
Azure OpenAI Service
Azure Machine Learning

Setelah Anda memecah dokumen menjadi kumpulan gugus, langkah selanjutnya adalah memperkaya setiap gugus dengan membersihkan dan menambah gugus dengan metadata. Membersihkan gugus memungkinkan Anda untuk mencapai kecocokan yang lebih baik untuk kueri semantik dalam pencarian vektor. Menambahkan informasi memungkinkan Anda mendukung pencarian di luar pencarian semantik gugus. Membersihkan dan menambah melibatkan perluasan skema untuk gugus.

Artikel ini membahas berbagai cara untuk menambah gugus Anda, termasuk beberapa operasi pembersihan umum yang dapat Anda lakukan pada gugus untuk meningkatkan perbandingan vektor, dan menjelaskan beberapa bidang metadata umum yang dapat Anda tambahkan ke gugus Anda untuk menambah indeks pencarian Anda.

Artikel ini adalah bagian dari beberapa seri. Baca pengantar.

Diagram memperlihatkan rekaman json dengan satu bidang yang diperkaya.

Gambar 1. Memperkaya gugus dengan metadata

Pembersihan

Memotong data Anda mendukung beban kerja Anda dalam upayanya untuk menemukan gugus yang paling relevan, biasanya melalui vektorisasi gugus tersebut dan menyimpannya dalam database vektor. Pencarian vektor yang dioptimalkan hanya mengembalikan baris tersebut dalam database tersebut yang memiliki kecocokan semantik terdekat dengan kueri. Tujuan membersihkan data untuk mendukung kecocokan kedekatan dengan menghilangkan potensi perbedaan yang bukan materi untuk semantik teks. Berikut ini adalah beberapa prosedur pembersihan umum.

Catatan

Anda akan ingin mengembalikan potongan asli yang tidak bersih sebagai hasil kueri, sehingga Anda akan menambahkan bidang tambahan untuk menyimpan data yang dibersihkan dan di-vektorisasi.

  • Huruf kecil - Huruf kecil memungkinkan kata-kata yang dikapitalisasi, seperti kata-kata di awal kalimat, untuk dicocokkan dengan kata-kata yang sama dalam kalimat. Penyematan biasanya peka huruf besar/kecil yang berarti "Cheetah" dan "cheetah" akan menghasilkan vektor yang berbeda untuk kata logis yang sama. Misalnya, untuk kueri yang disematkan: "apa yang lebih cepat, cheetah atau puma?" Penyematan berikut: "cheetah lebih cepat daripada puma" adalah kecocokan yang lebih dekat daripada menyematkan "Cheetah lebih cepat daripada puma." Beberapa strategi huruf kecil huruf kecil semua kata, termasuk kata benda yang tepat, sementara strategi lain termasuk hanya huruf kecil kata-kata pertama dalam kalimat.
  • Hapus kata berhenti - Kata berhenti adalah kata-kata seperti "a", "an" dan "the" yang umumnya terjadi dalam kalimat. Anda dapat menghapus kata-kata penghentian untuk mengurangi dimensi vektor yang dihasilkan. Menghapus kata-kata berhenti akan memungkinkan "cheetah lebih cepat daripada puma" dan "cheetah lebih cepat daripada puma" untuk keduanya secara vektororial sama dengan "cheetah lebih cepat puma." Namun, penting untuk dipahami bahwa beberapa kata berhenti menyimpan makna semantik. Misalnya, "tidak" mungkin dianggap sebagai kata berhenti, tetapi akan menyimpan arti semantik yang signifikan. Penting untuk menguji untuk melihat efek menghapus kata-kata berhenti.
  • Memperbaiki kesalahan ejaan - Kata yang salah eja tidak cocok dengan kata yang dieja dengan benar dalam model penyematan. Misalnya, "cheatah" (sic) tidak sama dengan "cheetah" dalam penyematan. Anda harus memperbaiki kesalahan ejaan untuk mengatasi tantangan ini.
  • Hapus karakter unicode - Menghapus karakter Unicode dapat mengurangi kebisingan dalam potongan Anda dan mengurangi dimensi. Seperti menghentikan kata, beberapa karakter Unicode mungkin berisi informasi yang relevan. Penting untuk menguji untuk memahami dampak penghapusan karakter Unicode.
  • Normalisasi - Menormalkan teks ke standar seperti memperluas singkatan, mengonversi angka menjadi kata-kata, dan memperluas kontraksi seperti "Saya" ke "Saya" dapat membantu meningkatkan performa pencarian vektor.

Menambah gugus

Pencarian semantik terhadap gugus vektorisasi bekerja dengan baik untuk beberapa jenis kueri, tetapi tidak juga untuk yang lain. Bergantung pada jenis kueri yang perlu Anda dukung, Anda mungkin perlu menambah potongan Anda dengan informasi tambahan. Bidang metadata tambahan semuanya disimpan dalam baris yang sama dengan penyematan Anda dan dapat digunakan dalam solusi pencarian sebagai filter atau sebagai bagian dari pencarian.

Diagram memperlihatkan json konten yang sepenuhnya diperkaya dan bagaimana konten tersebut dapat digunakan dalam platform pencarian.

Gambar 2. Penggunaan metadata tertamahkan dalam solusi pencarian

Kolom metadata yang perlu Anda tambahkan bergantung pada keputusan khusus untuk domain masalah Anda. Ini termasuk jenis data yang Anda miliki dan jenis kueri yang ingin Anda dukung. Anda perlu menganalisis pengalaman pengguna, data yang tersedia, dan kualitas hasil yang coba Anda capai. Dari sana, Anda dapat menentukan metadata apa yang mungkin membantu Anda memenuhi persyaratan beban kerja Anda.

Berikut ini adalah beberapa bidang metadata umum, bersama dengan teks gugus asli, beberapa panduan tentang potensi penggunaannya, dan alat atau teknik yang biasanya digunakan untuk menghasilkan konten metadata.

  • ID - ID adalah bidang metadata kunci yang digunakan untuk mengidentifikasi gugus secara unik. ID unik berguna dalam pemrosesan untuk menentukan apakah gugus sudah ada di toko atau tidak. ID dapat berupa hash dari beberapa bidang kunci. Alat: Pustaka hashing
  • Judul - Judul adalah nilai pengembalian yang berguna untuk potongan. Ini menyediakan ringkasan cepat konten dalam gugus. Ringkasan juga dapat berguna untuk kueri dengan pencarian terindeks karena dapat berisi kata kunci untuk pencocokan. Alat: model bahasa besar
  • Ringkasan - Ringkasan mirip dengan judul karena merupakan nilai pengembalian umum dan dapat digunakan dalam pencarian terindeks. Ringkasan umumnya lebih panjang dari judul. Alat: model bahasa besar
  • Pengulangan potongan - Pengulangan potongan dapat membantu sebagai bidang pencarian vektor karena pengulangan menangkap variasi dalam bahasa seperti sinonim dan parafrafrase. Alat: model bahasa besar
  • Kata kunci - Pencarian kata kunci baik untuk data yang nonkonteks, untuk mencari kecocokan yang tepat, dan ketika istilah atau nilai tertentu penting. Misalnya, produsen otomatis mungkin memiliki ulasan atau data performa untuk setiap model mereka selama beberapa tahun. Ulasan untuk produk X untuk tahun 2009" secara semantik seperti "Ulasan untuk produk X untuk 2010" dan "Ulasan untuk produk Y untuk tahun 2009." Dalam hal ini, Anda akan lebih baik mencocokkan kata kunci untuk produk dan tahun. Alat: model bahasa besar, RAKE, KeyBERT, MultiRake
  • Entitas - Entitas adalah bagian informasi tertentu seperti orang, organisasi, dan lokasi. Seperti kata kunci, entitas baik untuk pencarian yang sama persis atau ketika entitas tertentu penting. Alat: SpaCy, Stanford Named Entity Recognizer (SNER, scikit-learn, Natural Language Toolkit (NLTK).
  • Teks potongan yang dibersihkan - Teks potongan yang dibersihkan. Alat: model bahasa besar
  • Pertanyaan yang dapat dijawab oleh gugus - Terkadang, kueri yang disematkan dan potongan yang disematkan tidak cocok. Misalnya, kueri mungkin kecil mengenai ukuran gugus. Mungkin lebih baik untuk merumuskan kueri yang dapat dijawab oleh gugus dan melakukan pencarian vektor antara kueri aktual pengguna dan kueri yang telah diformat sebelumnya. Alat: model bahasa besar
  • Sumber - Sumber gugus bisa berharga sebagai pengembalian untuk kueri. Ini memungkinkan querier untuk mengutip sumber asli.
  • Bahasa - Bahasa gugus bisa baik sebagai filter dalam kueri.

Menambah ekonomi

Penggunaan model bahasa besar untuk menambah gugus bisa mahal. Anda perlu menghitung biaya setiap pengayaan yang Anda pertimbangkan dan mengalikannya dengan perkiraan jumlah gugus dari waktu ke waktu. Anda harus menggunakan informasi ini, bersama dengan pengujian Bidang yang diperkaya sebagai bagian dari pencarian untuk membuat keputusan bisnis yang baik.

Langkah berikutnya