我能像你描述的配置簡單的自定義實體。我發佈了可導入到LUIS here的JSON。
沒有看到您的LUIS應用程序的JSON,很難說出爲什麼它無法識別破折號分隔的名稱 - 隨時在這裏發佈您的LUIS應用程序的JSON。有時,由於缺少標籤,LUIS應用程序無法識別實體。獲得LUIS識別實體的關鍵部分是標註足夠的示例。模式特徵僅僅是LUIS的暗示 - 您仍然需要定義具有標籤實體的示例話語。例如,如果你定義稱爲意圖MyNameIs,想認識名稱中他們實體,你會想各種話語添加到MyNameIs意圖包含劃線分隔的名字和標籤每個名稱與實體。
當我添加的圖形特徵我用+
在正則表達式,而不是*
表示「一個或多個」。但是,這種差異不應該破壞你的模式特徵。
連字符可能發生的另一個問題是LUIS返回的JSON。當您檢查來自LUIS的JSON結果時,您可以看到名稱實體是如何識別的。請注意,在entity
字段中,LUIS在連字符周圍插入空格,但startIndex
和endIndex
字段標識原始發音中實體的索引。因此,如果您的代碼在query
字段中未使用startIndex
和endIndex
來解析entity
字段,則行爲可能與您預期的不同。
{
"query": "my name is anne-marie",
"topScoringIntent": {
"intent": "MyNameIs",
"score": 0.9912877
},
"entities": [
{
"entity": "anne - marie",
"type": "Name",
"startIndex": 11,
"endIndex": 20,
"score": 0.8978088
}
]
}
非常感謝丹尼斯這個偉大的答案。 我還沒有嘗試過使用API配置Luis,它似乎比使用Luis.ai UI更強大。 我沒有意識到的是,在用戶界面中,您可以在上下文菜單顯示後繼續單擊,爲單個實體選擇多個單詞。 從那時起它似乎工作得很好。再次感謝。 – Aymeric
不客氣 - 很高興能夠幫助:) –