在今年的AWS Re:invent大會上,Amazon Lex是以預覽版推出的,開發人員可試驗在應用中嵌入對話接口。Lex在機器人(Bot)環境中提供了自動對話識別(ASR),以及多種形式的自然語言理解(NLU)。機器人是訪問這些功能的框架,其中包括:
意圖(Intent)。意圖表示用戶想達到的目標,可以是獲得一個問題的解答,或是在遠程服務上執行一個動作。
表述(Utterance)。表述是關聯到各種意圖的短語。表述可以看成一種語句模板,其中可包括稱為“數據槽位”(Slot)的占位符。在一個具體表述中,數據槽位值是由用戶提供的。
數據槽位(Slot)。正如上面所提及的,數據槽位提供了一種對表述輸入的表示機制。每個數據槽位代表了一種特定類型的信息,例如數量、年份、國家、城市等。也可以根據對輸入的處理需求而自定義用戶數據槽位類型,例如動作列表、顏色列表等。
提示(Prompt)。提示是Lex向用戶提出的問題,讓用戶進一步提供一些在最初的表述中并未給出的信息片段。要實現用戶與使用Lex的機器人間進行多輪口頭交談,提示是一個基礎部分。
實現(Fulfillment),對于負責實現用戶意圖的AWS Lambda服務,Amazon選用了“實現”一詞表示。在業務邏輯上,“實現”依賴于Lex給出的意圖,而意圖是根據用戶表述以及表述中數據槽位的實際值識別的。
具有Alexa技能(Skill)開發經驗的開發人員會發現,Lex與他們在Alexa中所使用框架非常相似,兩者間的主要差別在于兩點。首先,按Alexa的理念,機器人也是一個技能。其次,Alexa技能并不局限于使用AWS Lambda,還允許后臺使用任何的遠端實現。
Amazon在發布Lex預覽版發布時,是以Facebook Messenger聊天機器人演示的。在此之后,Amazon添加了對更多服務交互的支持,其中包括Slack和Twilio。更為重要的是,AWS的SDK現在支持使用多種語言創建iOS和安卓應用,以及Web和桌面應用,這樣應用可以通過集成Lex與用戶交互。Lex控制臺提供了一系列功能,用于定義構成機器人的表述及其與意圖間的關聯,監控未被識別且未觸發意圖的表述。
查看英文原文: Amazon Lex Now Generally Available to Enable Conversational Interfaces