閱讀521 返回首頁    go 奇藝


屬性值類型__語義表示協議_自然語言理解(NLU)_智能語音交互-阿裏雲

除了基本數據類型,如string,int,double之外,我們還定義了如下數據類型:

基本複合類型(BASIC)
日期時間(DATETIME)
地點(GEO_INFO)
數字(NUMBER)

此外,屬性值都定義為數組形式,以支持多值的情況,下麵具體描述我們定義的數據類型。

基本複合類型(BASIC)

基本複合類型是屬性值中使用最多的一個類型,它包含raw和norm兩個字段,raw代表用戶query中的原始表述,norm表示歸一化之後的標準表述。例如:電視頻道領域中的tv_channel這個slot,如果用戶說的是cctv1,則表示如下:

            "tv_channel":[
                {
                    "norm":"中央一套",
                    "raw":"cctv1"
                }
            ]

日期時間(DATETIME)

日期時間類型定義了一種結構,可以描述時間點和時間段兩種類型,根據type字段的取值不同,type我們定義了5種類型,less,greater,equal,around,interval。

如下表:
type類型 時間點/時間區間 說明
less 時間區間 某個時間點之前
greater 時間區間 某個時間點之後
equal 時間點 某個時間點
around 時間區間 某個時間點左右
interval 時間區間 兩個時間點之間

時間(DATETIME)的協議表示:

如下表:
字段名稱 字段類型 字段說明
type string 上表中定義的5種取值
raw string query中的原始描述
norm array 歸一化後的時間描述
error_code string 0正常, 1超長範圍錯誤, 2未知錯誤
relative_mode string 1相對時間, 0絕對時間
注:norm是一個數組,其中的每個元素都是一個日期時間,
格式為:yyyy-mm-dd hh:mm:ss

在時間段的表述中,有早上,下午等時間段表述。我們定義這些時間段的始末時間為:

如下表:
時間段表述 開始 結束 時間點
早晨,早上,清晨 06:00 08:00 07:00
上午 08:00 12:00 10:00
中午、晌午 11:00 13:00 12:00
下午、午後 12:00 18:00 15:00
晚上,傍晚 18:00 24:00 21:00
淩晨 00:00 05:00 03:00
半夜、深夜、午夜 23:00 01:00 00:00

示例: query: 明天上午九點

      "time":[
                {
                    "error_code":"0",
                    "norm":[
                        "2015-12-02 09:00:00"
                    ],
                    "raw":"明天上午九點",
                    "relative_mode":"0",
                    "type":"equal"
                }
            ]

query: 明天上午八點之前

     "time":[
                {
                    "error_code":"0",
                    "norm":[
                        "2015-12-02 08:00:00"
                    ],
                    "raw":"明天上午八點之前",
                    "relative_mode":"0",
                    "type":"less"
                }
            ]

query: 明天下午五點之後

"time":[
                {
                    "error_code":"0",
                    "norm":[
                        "2015-12-02 17:00:00"
                    ],
                    "raw":"明天下午五點之後",
                    "relative_mode":"0",
                    "type":"greater"
                }
            ]

query:明天上午七點左右

 "time":[
                {
                    "error_code":"0",
                    "norm":[
                        "2015-12-02 07:00:00"
                    ],
                    "raw":"明天上午七點左右",
                    "relative_mode":"0",
                    "type":"around"
                }
            ]

query:明天上午

"time":[
                {
                    "error_code":"0",
                    "norm":[
                        "2015-12-02 08:00:00",
                        "2015-12-02 12:00:00"
                    ],
                    "raw":"明天上午",
                    "relative_mode":"0",
                    "type":"interval"
                }
            ]

地點(GEO_INFO)

GEO_INFO定義了一個表示地點的數據結構,地點協議的描述:

如下表:
字段名稱 字段類型 字段說明
level_1 BASIC 國家
level_2 BASIC
level_3 BASIC
level_4 BASIC 區縣
level_5 BASIC 鄉鎮村
location array POI點
備注:location中的shape表示該location是一個點還是一條線,tag表示該location具體的語義標簽。

例如query:中國浙江省杭州市餘杭區文三路附近的ktv,其中的地點geo結構為:

"geo":[
                {
                    "level_1":{
                        "norm":"中國",
                        "raw":"中國"
                    },
                    "level_2":{
                        "norm":"浙江省",
                        "raw":"浙江省"
                    },
                    "level_3":{
                        "norm":"杭州市",
                        "raw":"杭州市"
                    },
                    "level_4":{
                        "norm":"餘杭區",
                        "raw":"餘杭區"
                    },
                    "level_5":{
                        "norm":"",
                        "raw":""
                    },
                    "location":[
                        {
                            "norm":"文三路",
                            "raw":"文三路",
                            "shape":"line",
                            "tag":[
                                "道路"
                            ]
                        }
                    ]
                }
            ]

數字(NUMBER)

數字用途也很廣泛,例如價格,折扣,距離等屬性都可以用數字這個結構來表示。 數字的協議定義:

如下表:
字段名稱 字段類型 字段說明
type string 取值範圍同DATETIME的type
raw string query中的原始描述
norm array 歸一化後的數字描述

示例: query: 1000元左右

"price":[
                {
                    "norm":[
                        1000
                    ],
                    "raw":"1000元左右",
                    "type":"around"
                }
            ]

query: 1000到2000元

"price":[
                {
                    "norm":[
                        1000,
                        2000
                    ],
                    "raw":"1000到2000元",
                    "type":"interval"
                }
            ]

query: 500米以內

"radius":[
                {
                    "norm":[
                        500
                    ],
                    "raw":"500米以內",
                    "type":"less"
                }
            ]

最後更新:2016-11-23 16:04:08

  上一篇:go 已支持領域__語義表示協議_自然語言理解(NLU)_智能語音交互-阿裏雲
  下一篇:go 機器學習簡介__機器學習-阿裏雲