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.