# 以旅遊景點為例的聊天機器人
## 建立 Intent
#住宿資訊
```
可以住哪裡?
有什麼住宿地方?
有飯店或民宿可以住嗎?
我想過夜
```
#詢問景點
```
有哪些景點?
有哪些景觀型步道?
請介紹風景優美的步道?
請問這裡有什麼好玩的地方?
```
## 建立 Entity
@步道距離
```
短距離步道 短距離, 1小時, 1小時以內, 來回1小時, 短
中距離步道 中距離, 2小時左右, 來回2小時
長距離步道 長距離, 3小時以上,半天
```
@房型
```
單人房 1人房, 1人
雙人房 2人房, 2人, 兩人房
通鋪 3人, 4人, 團體
```
設定 System entities
@sys-time
@sys-date
@sys-number
## 建立 Dialog
### Required
先在預設 "歡迎" 節點讓使用者知道聊天機器人可以提供哪些資訊
最後在預設 "其他事情" 節點設計讓使用者以另一種方式重複對話, 試圖找出使用者的意圖.
歡迎
```
您好,這裡是太魯閣國家公園. 我們可以提供住宿, 景點的資訊. 有什麼能為您服務的地方?
```
其他事情
```
我不明白您的意思, 可以換種方式說嗎?
```
### 設計 dialog 及回答
在上述兩個預設節點, "歡迎" & "其他事情", 中間, 設計對話節點. 基本上, 當機器人讀到一句話的時候, 會根據其 #intent, @entity, 由上到下訪問每一個對話節點, 找到合適的回覆時, 就會取出其回應的文字內容, 回傳給使用者. 也就是說, 在每一個新增的節點, assistant 都會重新去辨識 #intent, @entity, $context variable 判斷, 再輸入回應文字的內容. 最後當無法辨識屬於哪一個節點(active node) 時, 機器人的回覆就會落入最後預設節點, "其他事情".

詢問景點的對話範例
