導航功能則包括出發點、途經點、終點的設置,以及路線規劃、路線切換、導航中詢問路況等功能,其對應的處理器是NaviProcessor。回復指令內容如下:
* 以發起導航的任務流為例:
~~~
輸入:導航去白云山
輸出:
{
"actions": [
{
"action": "VIEW",
"target": {
"data": [
"白云山(山坡的山)",
"白云尚(高尚的尚)"
],
"id": 310,
"label": "請選擇一個地點",
"type": "SINGLE"
}
}
],
"outc": "1",
"rtext": "我找到了2個同音的地點,第1個,白云山(山坡的山),第2個,白云尚(高尚的尚)。請選擇一個地點",
"synthetise": "",
"ttext": "第一個/第二個"
}
語義解析:以單項(type="SINGLE")對話框(id=310)的形式展示(action="VIEW")同音選點。
輸入:第一個
輸出:
{
"actions": [
{
"action": "SELECT",
"target": {
"city": "廣州市",
"detailedaddress": "廣園中路801號",
"id": 325,
"latitude": 23.186097,
"longitude": 113.304073,
"name": "白云山",
"recyle": 0,
"streetid": "550fd5f9e7230b04921fc9b2",
"uid": "550fd5f9e7230b04921fc9b2"
}
},
...
],
"outc": "1",
"rtext": "我找到了9個相關地點,第一個是白云山(廣園中路801號)。你要去第幾個呢?",
"synthetise": "",
"ttext": "第一個/第二個"
}
語義解析:在多個相關地點(id=325)中選擇(action="SELECT")一個作為終點。
輸入:第一個
輸出:
{
"actions": [
{
"action": "QUERY",
"target": {
"endaddress": {
"city": "廣州市",
"detailedaddress": "廣園中路801號",
"id": 325,
"latitude": 23.186097,
"longitude": 113.304073,
"name": "白云山",
"recyle": 0,
"streetid": "550fd5f9e7230b04921fc9b2",
"uid": "550fd5f9e7230b04921fc9b2"
},
"id": 324,
"recyle": 0,
"type": "DRIVELIEN"
}
}
],
"outc": "1",
"rtext": "已為你規劃路線,如需要其他路線請告訴我",
"synthetise": "",
"ttext": ""
}
語義解析:查詢(action="QUERY")終點為endaddress的駕車(type="DRIVELIEN")導航的路線(id=324)。
輸入:開始導航
輸出:
{
"actions": [
{
"action": "SET",
"target": {
"id": 323,
"status": "CONTINUE"
}
}
],
"outc": "0",
"rtext": "導航繼續",
"synthetise": "",
"ttext": ""
}
語義解析:開始/繼續(status="CONTINUE")導航(id=323)。
~~~
* 頁面效果圖:
--
--