Bagikan melalui


Mengembalikan jawaban semantik di Azure AI Search

Saat memanggil peringkat dan keterangan semantik, Anda dapat secara opsional mengekstrak konten dari dokumen cocok teratas yang "menjawab" kueri secara langsung. Satu atau beberapa jawaban dapat disertakan dalam respons, yang kemudian dapat Anda render di halaman pencarian untuk meningkatkan pengalaman pengguna aplikasi Anda.

Jawaban semantik adalah konten verbatim dalam indeks pencarian Anda yang telah dikenali model pemahaman baca sebagai jawaban atas kueri yang diajukan dalam permintaan. Ini bukan jawaban yang dihasilkan. Untuk panduan tentang model interaksi pengguna gaya obrolan yang menggunakan AI generatif untuk menyusun jawaban dari konten Anda, lihat Pengambilan Augmented Generation (RAG).

Dalam artikel ini, pelajari cara meminta jawaban semantik, membongkar respons, dan mencari tahu karakteristik konten apa yang paling kondusif untuk menghasilkan jawaban berkualitas tinggi.

Prasyarat

Semua prasyarat yang berlaku untuk kueri semantik juga berlaku untuk jawaban, termasuk tingkat layanan dan wilayah.

  • Logika kueri harus menyertakan parameter kueri semantik "queryType=semantic", ditambah parameter "jawaban". Parameter yang diperlukan dibahas dalam artikel ini.

  • Untai (karakter) kueri yang dimasukkan oleh pengguna harus dikenali sebagai pertanyaan (apa, di mana, kapan, bagaimana).

  • Dokumen pencarian dalam indeks harus berisi teks yang memiliki karakteristik jawaban, dan teks tersebut harus ada di salah satu bidang yang tercantum dalam konfigurasi semantik. Misalnya, diberi kueri "apa itu tabel hash", jika tidak ada bidang dalam konfigurasi semantik yang berisi bagian-bagian yang menyertakan "Tabel hash adalah ...", maka tidak mungkin jawaban dikembalikan.

Catatan

Mulai 2021-04-30-Preview, Permintaan Buat atau Perbarui Indeks mulai memberikan "semanticConfiguration" persyaratan untuk menentukan bidang input yang digunakan dalam peringkat semantik.

Apa itu jawaban semantik?

Jawaban semantik adalah substruktur respons kueri semantik. Ini terdiri dari satu atau beberapa bagian verbatim dari dokumen pencarian, diformulasikan sebagai jawaban untuk kueri yang terlihat seperti pertanyaan. Untuk mengembalikan jawaban, frasa atau kalimat harus ada dalam dokumen pencarian yang memiliki karakteristik bahasa jawaban, dan kueri itu sendiri harus diajukan sebagai pertanyaan.

Azure AI Search menggunakan model pemahaman membaca mesin untuk mengenali dan memilih jawaban terbaik. Model ini menghasilkan serangkaian jawaban potensial dari konten yang tersedia, dan ketika mencapai tingkat keyakinan yang cukup tinggi, model ini mengusulkan satu sebagai jawaban.

Jawaban dikembalikan sebagai objek independen tingkat atas dalam muatan respons kueri yang dapat Anda pilih untuk dirender di halaman pencarian, di samping hasil pencarian. Secara struktural, ini adalah elemen array dalam respons yang terdiri dari teks, kunci dokumen, dan skor kepercayaan.

Merumuskan kueri REST untuk "jawaban"

Untuk mengembalikan jawaban semantik, kueri harus memiliki parameter semantik "queryType", "queryLanguage", "semanticConfiguration", dan "answers" . Menentukan parameter ini tidak menjamin jawaban, tetapi permintaan harus menyertakannya agar pemrosesan jawaban terjadi.

{
    "search": "how do clouds form",
    "queryType": "semantic",
    "queryLanguage": "en-us",
    "semanticConfiguration": "my-semantic-config",
    "answers": "extractive|count-3",
    "captions": "extractive|highlight-true",
    "count": "true"
}
  • Untai (karakter) kueri tidak boleh null dan harus dirumuskan sebagai pertanyaan.

  • "queryType" harus diatur ke "semantik.

  • "queryLanguage" harus menjadi salah satu nilai dari daftar bahasa yang didukung (REST API).

  • "semanticConfiguration" Menentukan bidang string mana yang menyediakan token ke model ekstraksi. Bidang yang sama yang menghasilkan keterangan juga menghasilkan jawaban. Lihat Membuat konfigurasi semantik untuk detailnya.

  • Untuk "answers", konstruksi parameter adalah "answers": "extractive", di mana jumlah jawaban default yang dikembalikan adalah satu. Anda dapat meningkatkan jumlah jawaban dengan menambahkan seperti yang count ditunjukkan pada contoh di atas, hingga maksimum 10. Apakah Anda memerlukan lebih dari satu jawaban tergantung pada pengalaman pengguna aplikasi Anda, dan bagaimana Anda ingin merender hasil.

Buka kemasan "jawaban" dari respons

Jawaban disediakan dalam "@search.answers" array, yang muncul terlebih dahulu dalam respons kueri. Setiap jawaban dalam array meliputi:

  • Kunci dokumen
  • Teks atau konten jawaban, dalam teks biasa atau dengan pemformatan
  • Skor keyakinan

Jika jawaban tidak ditentukan, respons muncul sebagai "@search.answers": []. Array jawaban diikuti oleh array nilai, yang merupakan respons standar dalam kueri semantik.

Mengingat kueri "bagaimana bentuk cloud", contoh berikut mengilustrasikan jawaban:

{
    "@search.answers": [
        {
            "key": "4123",
            "text": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case),   but not where it is descending (over the river).",
            "highlights": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form<em> where air is ascending</em> (over land in this case),   but not where it is<em> descending</em> (over the river).",
            "score": 0.94639826
        }
    ],
    "value": [
        {
            "@search.score": 0.5479723,
            "@search.rerankerScore": 1.0321671911515296,
            "@search.captions": [
                {
                    "text": "Like all clouds, it forms when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley fog, which is common in the Pacific Northwest of North America.",
                    "highlights": "Like all<em> clouds</em>, it<em> forms</em> when the air reaches its dew point—the temperature at    which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley<em> fog</em>, which is common in the Pacific Northwest of North America."
                }
            ],
            "title": "Earth Atmosphere",
            "content": "Fog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at  \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
            "locations": [
                "Pacific Northwest",
                "North America",
                "Vancouver"
            ]
        }
    ]
}

Saat merancang halaman hasil pencarian yang menyertakan jawaban, pastikan untuk menangani kasus di mana jawaban tidak ditemukan.

Dalam @search.answers:

  • "key" adalah kunci dokumen atau ID kecocokan. Dengan kunci dokumen, Anda dapat menggunakan Lookup Document API untuk mengambil salah satu atau semua bagian dokumen pencarian untuk disertakan di halaman pencarian atau halaman detail.

  • "teks" dan "sorotan" menyediakan konten yang identik, baik dalam teks biasa maupun dengan sorotan.

    Secara default, sorotan ditata sebagai <em>, yang dapat Anda ganti menggunakan parameter highlightPreTag dan highlight ParameterPostTag yang ada. Seperti disebutkan di tempat lain, substansi jawaban adalah konten verbatim dari dokumen pencarian. Model ekstraksi mencari karakteristik jawaban untuk menemukan konten yang sesuai, tetapi tidak menyusun bahasa baru dalam respons.

  • "skor" adalah skor keyakinan yang mencerminkan kekuatan jawaban. Jika ada beberapa jawaban dalam respons, skor ini digunakan untuk menentukan urutan. Jawaban teratas dan keterangan teratas dapat berasal dari dokumen pencarian yang berbeda, di mana jawaban teratas berasal dari satu dokumen, dan keterangan teratas dari yang lain, tetapi secara umum dokumen yang sama muncul di posisi teratas dalam setiap array.

Jawaban diikuti oleh array "nilai" , yang selalu menyertakan skor, keterangan, dan bidang apa pun yang dapat diambil secara default. Jika Anda menentukan parameter pilih, array "value" terbatas pada bidang yang Anda tentukan. Lihat Mengonfigurasi peringkat semantik untuk detailnya.

Tips untuk menghasilkan jawaban berkualitas tinggi

Untuk hasil terbaik, kembalikan jawaban semantik pada korpus dokumen yang memiliki karakteristik berikut:

  • "semanticConfiguration" harus menyertakan bidang yang menawarkan teks yang memadai di mana jawaban kemungkinan akan ditemukan. Bidang yang lebih mungkin berisi jawaban harus dicantumkan terlebih dahulu di "prioritizedContentFields". Hanya teks verbatim dari dokumen yang bisa muncul sebagai jawaban.

  • String kueri tidak boleh null (search=*) dan string harus memiliki karakteristik pertanyaan, seperti "what is" atau "how to", dibandingkan dengan pencarian kata kunci yang terdiri dari istilah atau frasa dalam urutan arbitrer. Jika string kueri tampaknya bukan pertanyaan, pemrosesan jawaban dilewati, bahkan jika permintaan menentukan "jawaban" sebagai parameter kueri.

  • Ekstraksi dan ringkasan semantik memiliki batasan atas berapa banyak token per dokumen yang dapat dianalisis secara tepat waktu. Dalam istilah praktis, jika Anda memiliki dokumen besar yang berjumlah ratusan halaman, cobalah untuk memecah konten menjadi dokumen yang lebih kecil terlebih dahulu.

Langkah berikutnya