Ekstrak data dari teks ungkapan dengan niat dan entitas

Penting

LUIS akan dihentikan pada 1 Oktober 2025 dan mulai 1 April 2023 Anda tidak akan dapat membuat sumber daya LUIS baru. Sebaiknya migrasikan aplikasi LUIS Anda ke pemahaman bahasa percakapan untuk mendapatkan manfaat dari dukungan produk berkelanjutan dan kemampuan multibahasa.

LUIS memberi Anda kemampuan untuk mendapatkan informasi dari ungkapan bahasa alami pengguna. Informasi diekstrak dengan cara yang dapat digunakan oleh program, aplikasi, atau chatbot untuk mengambil tindakan. Di bagian berikut, pelajari data apa yang ditampilkan dari niat dan entitas dengan contoh JSON.

Data yang paling sulit diekstrak adalah data pembelajaran mesin karena bukan teks yang benar-benar cocok. Ekstraksi data entitas pembelajaran mesin harus menjadi bagian dari siklus penulisan sampai Anda menerima data yang diharapkan.

Lokasi data dan penggunaan kunci

LUIS mengekstrak data dari ungkapan pengguna di titik akhir yang diterbitkan. Permintaan HTTPS (POST atau GET) berisi ungkapan serta beberapa konfigurasi opsional seperti penahapan atau lingkungan produksi.

Permintaan titik akhir prediksi V2

https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&q=book 2 tickets to paris

Permintaan titik akhir prediksi V3

https://westus.api.cognitive.microsoft.com/luis/v3.0-preview/apps/<appID>/slots/<slot-type>/predict?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&query=book 2 tickets to paris

appID tersedia di halaman Pengaturan aplikasi LUIS Anda serta bagian dari URL (setelah /apps/) saat Anda mengedit aplikasi LUIS tersebut. subscription-key adalah titik akhir yang digunakan untuk meng-kueri aplikasi Anda. Meskipun Anda dapat menggunakan kunci penulisan/starter gratis saat mempelajari LUIS, penting untuk mengubah kunci titik akhir menjadi kunci yang mendukung penggunaan LUIS yang diperkirakan. Unit timezoneOffset ini adalah menit.

Respons HTTPS berisi semua informasi niat dan entitas yang dapat ditentukan LUIS berdasarkan model titik akhir penahapan atau produksi yang diterbitkan saat ini. URL titik akhir ditemukan di situs web LUIS, di bagian Kelola, pada halaman Kunci dan titik akhir.

Data dari niat

Data utama adalah nama niat penilaian teratas. Respons titik akhir adalah:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "entities": []
}
Objek Data Jenis Data Lokasi Data Value
Niat String topScoringIntent.intent "GetStoreInfo"

Jika chatbot atau aplikasi panggilan LUIS Anda membuat keputusan berdasarkan lebih dari satu skor niat, tampilkan semua skor niat.

Atur parameter querystring, verbose=true. Respons titik akhir adalah:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "intents": [
    {
      "intent": "GetStoreInfo",
      "score": 0.984749258
    },
    {
      "intent": "None",
      "score": 0.2040639
    }
  ],
  "entities": []
}

Niat diurutkan dari skor tertinggi hingga terendah.

Objek Data Jenis Data Lokasi Data Value Skor
Niat String intents[0].intent "GetStoreInfo" 0.984749258
Niat String intents[1].intent "Tidak Ada" 0.0168218873

Jika Anda menambahkan domain bawaan, nama niat menunjukkan domain, seperti Utilties atau Communication serta niat:

{
  "query": "Turn on the lights next monday at 9am",
  "topScoringIntent": {
    "intent": "Utilities.ShowNext",
    "score": 0.07842206
  },
  "intents": [
    {
      "intent": "Utilities.ShowNext",
      "score": 0.07842206
    },
    {
      "intent": "Communication.StartOver",
      "score": 0.0239675418
    },
    {
      "intent": "None",
      "score": 0.0168218873
    }],
  "entities": []
}
Domain Objek Data Jenis Data Lokasi Data Value
Utilitas Niat String intents[0].intent "Utilities.ShowNext"
Komunikasi Niat String intents[1].intent Communication.StartOver"
Niat String intents[2].intent "Tidak Ada"

Data dari entitas

Sebagian besar aplikasi dan chatbot membutuhkan lebih dari nama niat. Data opsional tambahan ini berasal dari entitas yang ditemukan dalam ungkapan. Setiap jenis entitas menampilkan informasi yang berbeda tentang kecocokan.

Satu kata atau frasa dalam ungkapan bisa cocok dengan lebih dari satu entitas. Dalam hal ini, setiap entitas yang cocok akan ditampilkan dengan skornya.

Semua entitas ditampilkan dalam array entitas respons dari titik akhir

Entitas yang diberi token ditampilkan

Tinjau dukungan token di LUIS.

Data entitas bawaan

Entitas bawaan ditemukan berdasarkan kecocokan ekspresi reguler menggunakan proyek Recognizers-Text sumber terbuka. Entitas bawaan ditampilkan dalam array entitas dan menggunakan nama jenis yang diawali dengan builtin::.

Data entitas daftar

Entitas daftar mewakili sekumpulan kata terkait yang tetap dan tertutup bersama dengan sinonimnya. LUIS tidak menemukan nilai tambahan untuk entitas daftar. Gunakan fitur Rekomendasikan untuk melihat saran untuk kata baru berdasarkan daftar saat ini. Jika ada lebih dari satu entitas daftar dengan nilai yang sama, setiap entitas ditampilkan dalam kueri titik akhir.

Data entitas ekspresi reguler

Entitas ekspresi reguler mengekstrak entitas berdasarkan ekspresi reguler yang Anda berikan.

Mengekstrak nama

Mendapatkan nama dari ungkapan sangat sulit karena sebuah nama bisa berupa kombinasi hampir semua huruf dan kata-kata. Anda memiliki beberapa opsi, tergantung tipe nama apa yang diekstrak. Saran berikut bukan aturan tetapi lebih berupa panduan.

Menambahkan entitas PersonName dan GeographyV2 bawaan

Entitas PersonName dan GeographyV2 tersedia dalam beberapa budaya bahasa.

Nama orang

Nama orang dapat memiliki sedikit format sesuai bahasa dan budaya. Gunakan entitas personName bawaan atau entitas sederhana dengan peran nama depan dan nama belakang.

Jika Anda menggunakan entitas sederhana, pastikan untuk memberikan contoh yang menggunakan nama depan dan nama belakang di bagian ungkapan yang berbeda, dalam ungkapan dengan panjang yang berbeda, dan ungkapan di semua niat termasuk niat Tidak Ada. Tinjau ungkapan titik akhir secara teratur untuk melabeli nama yang tidak diprediksi dengan benar.

Nama tempat

Nama lokasi ditetapkan dan dikenal seperti kota, kabupaten, negara bagian, provinsi, dan negara/wilayah. Gunakan geographyV2entitas bawaan untuk mengekstrak informasi lokasi.

Nama yang baru dan muncul

Beberapa aplikasi harus dapat menemukan nama yang baru dan muncul seperti produk atau perusahaan. Jenis nama ini adalah jenis ekstraksi data yang paling sulit. Mulai dengan entitas sederhana dan tambahkan daftar frasa. Tinjau ungkapan titik akhir secara teratur untuk melabeli nama yang tidak diprediksi dengan benar.

Data entitas pattern.any

Pattern.any adalah tempat penampung panjang variabel yang hanya digunakan dalam ungkapan templat pola untuk ditandai saat entitas dimulai dan berakhir. Entitas yang digunakan dalam pola harus ditemukan agar pola diterapkan.

Analisis sentimen

Jika analisis sentimen dikonfigurasi saat penerbitan, respons json LUIS menyertakan analisis sentimen. Pelajari selengkapnya tentang analisis sentimen dalam dokumentasi Layanan bahasa.

Data entitas ekstraksi frasa kunci

Entitas ekstraksi frase kunci menampilkan frase kunci dalam ucapan, yang disediakan oleh layanan Bahasa.

Pencocokan data beberapa entitas

LUIS menampilkan semua entitas yang ditemukan dalam ungkapan tersebut. Akibatnya, chatbot Anda mungkin perlu membuat keputusan berdasarkan hasilnya.

Pencocokan data beberapa entitas daftar

Jika kata atau frasa cocok dengan lebih dari satu entitas daftar, kueri titik akhir akan menampilkan setiap entitas Daftar.

Untuk kueri when is the best time to go to red rock?, dan aplikasi memiliki kata red dalam lebih dari satu daftar, LUIS mengenali semua entitas dan menampilkan array entitas sebagai bagian dari respons titik akhir JSON.

Langkah berikutnya

Lihat Menambahkan entitas untuk mempelajari lebih lanjut tentang cara menambahkan entitas ke aplikasi LUIS Anda.