【问题标题】:Add label to an intent of a composite entity in LUIS via LUIS API using c#使用 c# 通过 LUIS API 将标签添加到 LUIS 中复合实体的意图
【发布时间】:2018-01-22 22:19:51
【问题描述】:

我想出了如何为意图添加标签,但不确定如何为复合实体执行此操作。这是适用于非复合实体的代码;

public static void AddLabels(string originalMessage, string intent, List<Label> labels)
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            var uri = "https://westus.api.cognitive.microsoft.com/luis/v1.0/prog/apps/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/example?" + queryString;

            // Request headers
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

            HttpResponseMessage response;
            string body = string.Empty;
            string entityLabels = string.Empty;

            //get the position of the labels
            foreach (var label in labels)
            {
                entityLabels += label.ToString() + ",";
            }
            //remove last ","
            entityLabels = entityLabels.Remove(entityLabels.Length - 1, 1);

            body = string.Format("{{\"ExampleText\": \"{0}\", \"SelectedIntentName\": \"{1}\", \"EntityLabels\": [", originalMessage, intent);
            body += entityLabels + "]}";
            byte[] byteData = Encoding.UTF8.GetBytes(body);


            using (var content = new ByteArrayContent(byteData))
            {
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                try
                {
                    response = client.PostAsync(uri, content).Result;
                }catch(Exception ex)
                {

                }
            }

        }

任何帮助将不胜感激。

【问题讨论】:

    标签: c# bots azure-language-understanding


    【解决方案1】:

    我找到了答案,我们基本上需要在带有复合实体名称的标签列表中添加一个标签,并将该标签列表传递给上述方法,它会自动为您解析关系。

    例如; 如果contact 是复合实体并且contact.firstname 和contact.lastname 是子实体。

    所以在下面的示例场景中; 原始消息:我想创建 Sam Smith 作为新联系人。 用标签标记的词:山姆 标签的意图:contact.firstname 标有标签的词:史密斯 标签的意图:contact.lastname 现在,对于作为联系人的父级,我们将使用需要标记的语句:创建 Sam Smith 作为新联系人 意图的标签:联系 这会将名字和姓氏包装在一个联系人复合实体中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      相关资源
      最近更新 更多