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.