簡體   English   中英

沃森對話意圖和實體是否支持正則表達式?

[英]Does watson conversation intents and entities support regular expressions?

我正在使用公司想要創建的可能對話框來測試Watson Conversation API。 我們正在與巴西葡萄牙語一起發展。 鑒於葡萄牙語是一種豐富的語言,有時用戶可能會犯錯誤,因此我們希望預測這些可能的錯誤,主要是使用特殊字符和重音符號。

例如,單詞produção可以由以下用戶編寫: produçãoproducaoproduçaoproducão 是否可以在意圖和實體上使用正則表達式以具有類似圖片的東西? 有時我們會用另一個詞來使produção finalprodução geralprodução passadaprodução passada

在此處輸入圖片說明

另一個快速的問題,是否可以使用諸如@(producao)類的東西(例如圖像)來創建與實體值合並的意圖的示例?

謝謝

您不能在意圖或實體中使用正則表達式,但是我認為您仍然應該能夠應對變化。

匹配意圖時,目前沒有內置的錯別字或口音歸一化處理功能,但是,如果句子中有足夠的特征可以匹配,那么偶爾的錯字就不會造成問題。 對於非常簡短的示例,為常見錯誤添加其他示例可能會有一定的價值。

對於實體,您可以包含同義詞,而我之前曾使用它來包含常見錯誤。

您不應嘗試在意圖中直接包含對實體的引用。 例如,您應該僅使Qual a produção而不是Qual a @(producao) ,以及具有相同意圖的其他示例,可能具有不同的實體,或者同一實體的不同同義詞。 例如,對於#directions意圖,我可能有以下示例...

  • 我怎么開車去酒店?
  • 你能告訴我乘車去酒店的路線嗎?
  • 如果我坐火車去最近的車站
  • 哪條巴士路線可以帶我到酒店?

以及@transport實體的值,例如汽車,公共汽車,火車,自行車等。 (很抱歉,我無法提供巴西葡萄牙語示例!)無需明確地命名您希望在意圖中找到的實體。

最后,您可以在對話框節點上的條件中使用正則表達式,例如...

input.text.matches( 'produ[cç][aã]o' )

在這種情況下,僅出於補充和更多知識的考慮,幾天前IBM Watson Conversation發布了一個新的Beta版以供Patterns使用。

通過@Entities中的模式,您可以使用正則表達式。

模式字段可讓您定義實體值的特定模式。 必須在字段中將模式作為正則表達式輸入。

如本例所示,對於實體“ ContactInfo”,電話,電子郵件值的模式可以定義如下:

例子:

  • localPhone(\\d{3})-(\\d{4}) ,例如426-4968

  • fullUSphone(\\d{3})-(\\d{3})-(\\d{4}) ,例如800-426-4968

  • 電子郵件\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b ,例如測試@ gmail.com

通常,在使用模式實體時,有必要在對話框樹中的上下文變量(或動作變量)中存儲與模式匹配的文本。

設想一下您要向用戶詢問其電子郵件地址的情況。 對話框節點條件將包含類似於@contactInfo:email的條件。 為了將用戶輸入的電子郵件分配為上下文變量,可以使用以下語法在對話框節點的響應部分內捕獲模式匹配:

{
    "context" : {
        "email": "@contactInfo.literal"
    }
}

觀察:會話服務使用的模式匹配引擎具有一些語法限制,這是避免使用其他正則表達式引擎時可能發生的性能問題所必需的。 值得注意的是,實體模式可能不包含:

  • 正重復(例如x * +)
  • 反向引用(例如\\ g1)
  • 條件分支(例如(?(cond)true))

查看有關在Watson Conversation中定義實體的更多信息(重點在步驟7中)

您無需擔心重音,復數或拼寫錯誤的單詞。 Watson,LUIS,API.AI等將其作為功能並適用於每個單詞。 例如:

卡唐信貸銀行>ķartão信貸銀行>車A○德CRE b ITO

所有這些都很好!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM