Entitas dan jenis aktivitas
BERLAKU UNTUK: SDK v4
Entitas adalah bagian dari aktivitas, dan memberikan informasi tambahan tentang aktivitas atau percakapan.
Catatan
Bagian yang berbeda dari SDK menentukan kelas atau elemen entitas terpisah. Untuk entitas pengenalan LUIS, lihat Mengekstrak entitas.
Entitas
Properti entitas pesan adalah array objek schema.org terbuka, yang memungkinkan pertukaran metadata kontekstual umum antara saluran dan bot.
Sebutkan entitas
Banyak saluran mendukung kemampuan bot atau pengguna untuk "menyebutkan" seseorang dalam konteks percakapan. Untuk menyebutkan pengguna dalam pesan, isi properti entitas pesan dengan objek sebutan . Objek penyebutan berisi properti ini:
| Properti | Deskripsi |
|---|---|
| Jenis | Jenis entitas ("sebutan") |
| Disebutkan | Objek akun saluran yang menunjukkan pengguna mana yang disebutkan |
| Teks | Teks dalam properti activity.text yang mewakili penyebutan itu sendiri (mungkin kosong atau null) |
Contoh kode ini menunjukkan cara menambahkan entitas sebutan ke koleksi entitas.
var entity = new Entity();
entity.SetAs(new Mention()
{
Text = "@johndoe",
Mentioned = new ChannelAccount()
{
Name = "John Doe",
Id = "UV341235"
}
});
entities.Add(entity);
Tip
Saat mencoba menentukan niat pengguna, bot mungkin ingin mengabaikan bagian pesan tersebut di mana pesan tersebut disebutkan. GetMentions Panggil metode dan evaluasi Mention objek yang dikembalikan dalam respons.
Tempatkan objek
Informasi terkait lokasi dapat disampaikan dalam pesan dengan mengisi properti entitas pesan dengan objek Place atau objek GeoCoordinates .
Objek tempat berisi properti ini:
| Properti | Deskripsi |
|---|---|
| Jenis | Jenis entitas ("Tempat") |
| Alamat | Deskripsi atau objek alamat pos (masa mendatang) |
| Geo | GeoCoordinates |
| HasMap | URL ke peta atau objek peta (masa mendatang) |
| Nama | Nama tempat |
Objek geoCoordinates berisi properti ini:
| Properti | Deskripsi |
|---|---|
| Jenis | Jenis entitas ("GeoCoordinates") |
| Nama | Nama tempat |
| Garis Bujur | Garis bujur lokasi (WGS 84) |
| Garis Lintang | Garis lintang lokasi (WGS 84) |
| Elevasi | Elevasi lokasi (WGS 84) |
Contoh kode ini menunjukkan cara menambahkan entitas tempat ke kumpulan entitas:
var entity = new Entity();
entity.SetAs(new Place()
{
Geo = new GeoCoordinates()
{
Latitude = 32.4141,
Longitude = 43.1123123,
}
});
entities.Add(entity);
Mengonsumsi entitas
Untuk mengonsumsi entitas, gunakan dynamic kata kunci atau kelas yang ditik dengan kuat.
Contoh kode ini menunjukkan cara menggunakan dynamic kata kunci untuk memproses entitas dalam Entities properti pesan:
if (entity.Type == "Place")
{
dynamic place = entity.Properties;
if (place.geo.latitude > 34)
// do something
}
Contoh kode ini menunjukkan cara menggunakan kelas yang ditik dengan kuat untuk memproses entitas dalam Entities properti pesan:
if (entity.Type == "Place")
{
Place place = entity.GetAs<Place>();
GeoCoordinates geo = place.Geo.ToObject<GeoCoordinates>();
if (geo.Latitude > 34)
// do something
}
Jenis aktivitas
Aktivitas dapat dari beberapa jenis yang berbeda melewati pesan yang paling umum. Penjelasan dan detail lebih lanjut tentang berbagai jenis aktivitas dapat ditemukan dalam skema Aktivitas Kerangka Kerja Bot.