影片教學 > NLI模組例句解析

Alarm 例句語法解析 (上) | OLAMI AI課程

olami     2017-11-23 10:06

大家好,歡迎觀看OLAMI人工智慧開放平台教學影片。今天這節課將會為大家介紹 alarm 例句語法解析上篇。下面是要講解的七個例句:


一、新增一個鬧鐘
二、設個工作日早上8點10分的鬧鐘
三、刪除所有鬧鐘
四、修改我的鬧鐘
五、關閉鬧鐘
六、有沒有每天下午三點開會的鬧鐘
七、你能幫我修改鬧鐘嗎


一、新增一個鬧鐘

Grammar:[<r_help_prefix>|幫忙](<r_add>[<r_unit>]|(加|定|訂)<r_unit>)<r_alarm>[吧|唄]<{@=set_alarm}>
名稱: g_set_alarm 
類型: 語意


Grammar 的名稱可以根據自己的需要來寫,可以是對語料的簡單概括,這裡就可以表示設定鬧鐘時間這個意思。

它可以是英文、中文字元的結合。然後它的類型是語義就表示不需要為它增加答案。

在 grammar 的內容裡,被中括號包覆的部分是可選內容,被小括號包覆的部分是必選內容,用尖括號包覆的是引用內容。


它的結構比較簡單,我們直接來看一下它引用的內容:

Rule:
<r_help_prefix>:[請你|請|你](幫[幫]|幫助)(我|俺)
<r_add>:設[置]|新加|添加|新增|設定
<r_unit>:[一]個
<r_alarm>:鬧鐘|鬧鈴
Modifier:<{@=set_alarm}>


那麽這條grammar能匹配的語料:

新增一個鬧鐘
請你幫我新增一個鬧鐘
幫忙設個鬧鐘吧


二、設個工作日早上8點10分的鬧鐘

Grammar:[<r_help_prefix>|幫忙](<r_add>[<r_unit>]|(加|定|訂)<r_unit>)<content>的<r_alarm>[吧|唄]<{@=set_alarm}>
名稱: g_set_alarm_content 
類型: 語意


它的結構也很簡單,直接來看一下它引用的內容:

Rule:
<r_help_prefix>:[請你|請|你](幫[幫]|幫助)(我|俺)
<r_add>:設[置]|新加|添加|新增|設定
<r_unit>:[一]個
<r_alarm>:鬧鐘|鬧鈴
EXT slot:<content>
Modifier:<{@=set_alarm}>



那麽,這條 grammar 可以匹配的語料有:

設個工作日早上8點10分的鬧鐘
請你幫我訂一個週末晚上六點的鬧鐘吧
幫忙新增週四早晨七點的鬧鐘



三、刪除所有鬧鐘

Grammar:[<r_help_prefix>|幫忙](<r_del>|刪|清除)([我](所有|全部)的|[我的](所有|全部))<r_alarm><{@=del_all_alarm}>
名稱: g_del_all_alarm 
類型: 語意



看起來有點覆雜,但其實還是很簡單的。被中括號包覆的是可選內容,被小括號包覆的是必選內容,我們只要注意分清楚被括號包覆的內容具體是哪些,就可以準確理解句子了。


接下來看一下它引用的內容:

Rule:
<r_help_prefix>:[請你|請|你](幫[幫]|幫助)(我|俺)
<r_del>:刪除
<r_alarm>:鬧鐘|鬧鈴
Modifier:<{@=del_all_alarm}> 



那麽我們這條 grammar 可以匹配的內容有:

刪除所有鬧鐘
請你幫我清除我全部的鬧鐘
幫忙刪除我的所有鬧鈴





四、修改開會的鬧鐘


Grammar:[<r_help_prefix>|幫忙]<r_modify>[提醒我|叫我]<content>的<r_alarm><{@=modify_alarm}>
名稱: g_modify_alarm_content 
類型: 語意



來看一下它引用的內容:

Rule:
<r_help_prefix>:[請你|請|你](幫[幫]|幫助)(我|俺)
<r_modify>:修改|更改
<r_alarm>:鬧鐘|鬧鈴
EXT slot: <content>
Modifier:<{@=modify_alarm}>



所以這條 grammar 可以匹配的語料:

修改開會的鬧鐘
請幫我修改提醒我開會的鬧鈴
幫忙更改叫我起床的鬧鐘



五、關閉鬧鐘

Grammar:((關了|關閉)<{operation=關閉}>|(啟用)<{operation=打開}>)[我[手機上]的]<r_alarm><{@=modify_alarm}>
名稱: g_modify_alarm_operation 
類型: 語意


和之前的例句有所區別的地方是,在這個例句裡使用了 slot 的直接賦值規則。

我們對關了和關閉這兩個詞,賦值了 slot:operation=關閉,啟用也賦值了slot:operation=打開。

這樣子的話,不管我們語料匹配的內容是關了,還是關閉,slot 取值都是關閉,當語料匹配的是啟用,slot 取值就是打開。


除此之外,例句還有其他的引用:

Rule:<r_alarm>:鬧鐘|鬧鈴
Internal slot:<operation> 
Modifier: <{@=modify_alarm}> 


所以這條 grammar 可以匹配的語料:

關閉鬧鐘
關閉我手機上的鬧鐘
啟用鬧鐘




六、有沒有每天下午三點開會的鬧鐘

Grammar:<_有沒有_名詞性短語(<time>[提醒我|叫我]<content>的<r_alarm>)><{@=find_alarm}>
名稱: g_find_alarm_time_content 
類型: 語義 


它的結構很簡單,是由 template 和 modifier 組成的,來看下它引用的內容。


Template:
<_有沒有_名詞性短語>: [=名詞性短語=]有沒有$(名詞性短語)|有$(名詞性短語)嗎|$(名詞性短語)有沒有|$(名詞性短語)有嗎                
Rule:<r_alarm>:鬧鐘|鬧鈴
Datetime slot: <time>
EXT slot: <content>
Modifier:<{@=find_alarm}>       


那麽,我們這條grammar可以匹配的語料就有:

有沒有每天下午三點開會的鬧鐘
有週四早上六點起床的鬧鐘嗎
十月3號下午上課的鬧鐘有嗎



七、你能幫我修改鬧鐘嗎

Grammar:(<_可不可以_短句(<r_modify><r_alarm>[的時間])>|<_可不可以_主謂結構(你, <r_modify><r_alarm>[的時間])>|<_能否_主謂結構(你,
[<r_help_me>]<r_modify><r_alarm>[的時間])>)<{@=can_modify}>
名稱: g_can_modify 
類型: 語意


它 grammar 看上去有點複雜,我們來分析一下,這條 grammar 可以看作是由兩部分組成的,小括號裡的部分,和最後 global modifier:<{@=can_modify}>。

然後小括號裡的內容又是由三個並列的短句構成的,它們都是 template ,我們來看一下它們的具體內容:

Template:
<_可不可以_短句>:[=短句=](可以不可以|可不可以)$(短句)|$(短句)(可以不可以|可不可以)|可以$(短句)嗎|$(短句)可以嗎
<_可不可以_主謂結構>:[=主語,動詞性短語=]$(主語)(可不可以|可以不可以)$(動詞性短語)|$(主語)可以$(動詞性短語)嗎
<_能否_主謂結構>:[=主語,動詞性短句=]$(主語)(能不能|能否)$(動詞性短句)|$(主語)能[夠]$(動詞性短句)嗎|$(動詞性短句)$(主語)能嗎|$(動詞性短句)$(主語)能不能 



然後在引用這些 template 的時候,它的參數值裡還涉及了其他的一些引用:

Rule:
<r_modify>:修改|更改
<r_alarm>:鬧鐘|鬧鈴
<r_help_me>:(幫[幫]|幫助)(我|俺)


那麽這條 grammar 可以匹配的語料有:

你能幫我修改鬧鐘嗎
可不可以修改鬧鐘的時間
你可以修改鬧鐘的時間嗎


這節課的內容到這裡就結束了,感謝大家的觀看,下節課再見。

Copyright © 2017 威盛电子股份有限公司. All rights reserved   |   意见反馈