You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS LUIS意图识别正常但实体识别不全/失败问题求助

Troubleshooting Incomplete Entity Recognition in Your LUIS Model

Hey there, let's break down why your taskName entity is only picking up part of the phrase in your test utterance. The good news is your intent recognition is solid—we just need to tweak how LUIS learns to identify the full task name.

Possible Causes

  1. Insufficient diverse training examples: Your current labeled utterances have relatively short or simple task names (like "check again" or "do something wrong"). LUIS hasn’t seen enough examples of longer, multi-part task descriptions (like "check why it doesn't show all") to learn that the entire phrase after "create task" should count as taskName.

  2. Simple entity limitations: Right now, taskName is a simple entity, which relies heavily on labeled context to recognize boundaries. For variable-length phrases that follow fixed prefixes (like "create task"), simple entities struggle to generalize to unseen longer phrases unless they have plenty of varied training data.

  3. Underutilization of patterns: You have patterns like create task {taskName}, but simple entities don’t leverage these patterns as effectively as a Pattern.Any entity would. Patterns work best with entities designed explicitly to capture variable-length content.

Actionable Fixes

1. Add more diverse labeled utterances

Add training examples that mirror the structure of your test query, and make sure to label the entire task phrase as taskName. For example:

  • Utterance: create task check why it doesn't show all → Label from index 12 to 37 (the full "check why it doesn't show all" text)
  • Utterance: create task troubleshoot the API error happening on weekends → Label the entire task description
  • Utterance: add task - fix the login issue that's been occurring → Label the full task phrase after the hyphen

The more varied your labeled examples are (different lengths, different sentence structures), the better LUIS will generalize to new inputs.

2. Switch taskName to a Pattern.Any entity

Since your commands follow fixed prefixes ("create task", "add task -"), a Pattern.Any entity is perfect for this scenario. It’s specifically designed to extract variable-length entities when you have a clear leading fixed phrase. Adjust your model schema like this:

  • Remove the taskName entry from the entities array
  • Add it to the patternAnyEntities array:
    "patternAnyEntities": [
      {
        "name": "taskName",
        "explicitList": []
      }
    ]
    

This will make LUIS use your existing patterns to directly map everything after "create task" (or after "add task -") to the taskName entity, which should resolve the partial recognition issue immediately.

3. Add a phrase list feature

Create a phrase list feature that includes common words related to task descriptions (e.g., "check", "fix", "troubleshoot", "why", "doesn't", "show", "error"). This helps LUIS associate these words with the taskName entity, boosting recognition accuracy for unseen phrases.

4. Retrain and republish after changes

After making any adjustments, retrain your model and publish it to the endpoint before testing again. This ensures LUIS applies the new learning to your predictions.

Give these steps a try, and your taskName entity should start recognizing the full phrase in your test queries.

内容的提问来源于stack exchange,提问作者Serhiy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:48:15