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

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

olami     2017-12-12 11:15

大家好,歡迎收看OLAMI人工智慧開放平台教學影片。今天要學習的是 alarm 模組裡的例句語法解析(下)。

在上節課我們介紹了一些經典句子語法的編寫,今天就再來一起學習其他具有代表性的例句。


這節課要講解的是下面這七個例句。


一、星期三有設置鬧鐘嗎
二、修改14:50的鬧鐘
三、把九點的鬧鐘改到下午四點
四、查看我所有的鬧鐘
五、取消所有的鬧鐘
六、我設置的鬧鐘都有哪些
七、幫我把11點的鬧鐘關掉



我們先來看第一個例句


一、星期三有設置鬧鐘嗎


Grammar:[我]<time>(([都|還](有什麽|有哪[一]些|有沒有))<r_alarm>|有[設[置]]<r_alarm>嗎)<{@=find_alarm}>
名稱:g_find_alarm_time1
類型:語意


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

它可以是英文、中文、字元結合,可以輸入自己喜歡的名稱。然後這條 grammar 的類型是語意,也就是說不需要為它編輯答案。

說完了名稱和類型,來看看它的內容。

這個grammar看上去很有很多符號,有點複雜,

但是我們以用中括號包括的部分是可選內容,用尖括號包括的是引用內容,而用小括號包括的內容是必選內容,按照這個規則來看,這個 grammar其實沒有很複雜。


這條 grammar 裡引用了很多內容。


Rule:<r_alarm>:鬧鐘|鬧鈴
Datetime slot:<time>
Modifier:<{@=find_alarm}>



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


星期三有設置鬧鐘嗎?
週末都有什麽鬧鐘
我星期一早上6點有設鬧鐘嗎



等等


二、修改14:50的鬧鐘


Grammar:
[<r_help_prefix>|幫忙|替我](<r_modify>|調整)[一下]<time>(的[所有|全部]|(所有|全部)[的])<r_alarm><{@=modify_alarm}>
名稱:g_modify_alarm_time
類型:語意




它的結構也比較簡單,來看下它引用的內容:


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

Datetime slot:<time>
Modifier:<{@=modify_alarm}>



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


修改14:50的鬧鐘
請你幫我調整一下7點的鬧鐘
修改這個月所有的鬧鈴




三、把九點的鬧鐘改到下午四點


Grammar:
[[<r_help_prefix>|幫忙|替我|我[想]要]把]<time>[的]<r_alarm>(改|調|設置)(成|到|為)<modify_time><{@=modify_alarm}>
名稱:g_modify_alarm_modify_time
類型:語意




我們來看下它引用的內容:


Rule:
<r_help_prefix>: [請你|請|你](幫[幫]|幫助)(我|俺)
<r_alarm>:鬧鐘|鬧鈴

Datetime Slot:
<time>
<modifier_time>

Modifier:<{@=modify_alarm}>


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


把九點的鬧鐘改到下午四點
請幫我把明天的鬧鐘調成後天
我想要把星期三晚上六點的鬧鐘改成7點



等等


四、查看我所有的鬧鐘


Grammar:
[<r_help_prefix>|幫忙|替我]<r_find>([我](所有|全部)的|[我的|手機[上]](所有|全部)[的])<r_alarm><{@=find_all_alarm}>

名稱:g_find_all_alarm
類型:語意




這句 grammar 的結構也比較簡單,它要表達的主體內容就是查找鬧鐘。我們直接來看下它引用的內容:


Rule:
<r_help_prefix>: [請你|請|你](幫[幫]|幫助)(我|俺)
<r_find>:查看|查詢
<r_alarm>:鬧鐘|鬧鈴

Modifier:<{@=find_all_alarm}>




那麽,它可以匹配的語料有:


查看我所有的鬧鐘
請你幫我查詢手機上全部的鬧鐘
替我查看我的所有鬧鐘



等等


五、取消所有的鬧鐘


Grammar:
[<r_help_prefix>|幫忙|替我]((關閉|關掉|取消)<{operation=關閉}>|(啟用|打開)<{operation=打開}>)([我](所有|全部)的|[我的|手機[上]](所有|全部))<r_alarm><{@=modify_all_alarm}>

名稱:g_modify_all_alarm
類型:語意




在這條 grammar 裡,使用了 slot 的引用並直接賦值規則。我們對:關閉、關掉、取消這三個詞賦值 slot :operation 的值是關閉,

那麽不管我們匹配到的是哪一個,slot 都取值關閉。同樣的,我們也為啟用、打開這兩個詞做了 slot 的賦值,讓不管語料匹配的是哪個,operation 的值都等於打開。


接著我們再看一下它其他的部分:


Rule:
<r_help_prefix>: [請你|請|你](幫[幫]|幫助)(我|俺)
<r_alarm>:鬧鐘|鬧鈴

Internal Slot: <operation>
Modifier:<{@=modify_all_alarm}>




這裡還要再強調一下,之前也說過,我們在引用 internal slot 的時候,要為它定義一條同名的 rule。

但在這條 grammar 裡,我們使用的是“引用並直接賦值”規則,所以也可以不用添加同名的rule,這兩個規則是有所不同的,我們在使用的時候要注意。


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


取消所有的鬧鐘
請你取消我所有的鬧鐘
替我打開手機上所有鬧鐘



等等


六、我設置的鬧鐘都有哪些



Grammar:
(我[都](有|設置了)(哪些|什麽|幾個)<r_alarm>[啊]|我[設[置]]的<r_alarm>[都]有(哪些)|<_我要_短句(看一下我的<r_alarm>)>)<{@=find_alarm}>

名稱: g_find_alarm1
類型:語意




我們來看下它的內容,它是由三個並列的短句和末尾的 modifier 組成的,這三個短句分別是:


我[都](有|設置了)(哪些|什麽|幾個)<r_alarm>[啊]

我[設[置]]的<r_alarm>[都]有(哪些)

<_我要_短句(看一下我的<r_alarm>)>



我們可以看到最後這個短句是一個 template ,我們來看下它具體的內容:<_我要_短句>:[=短句=]我(要|想|想要|需要)$(短句),那麽它就可以匹配我要什麽,或者我想要什麽之類的句子。

當我們在 grammar 裡引用這個 template 的時候,它要傳遞的參數值就是:看一下我的<r_alarm>。在這裡 <r_alarm> 是一條 rule,可以表示:鬧鐘或者鬧鈴。

然後,這條 grammar 也有條 global modifier:<{@=find_alarm}>,表示查詢鬧鐘的意圖。


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


我設置的鬧鐘都有哪些
我都有幾個鬧鐘啊
我想要看一下我的鬧鐘



等等


七、幫我把11點的鬧鐘關掉


Grammar:
[<r_help_prefix>|幫忙|替我|[請]給我]<_把字句_動賓結構([給]((關了|關掉|取消[了])<{operation=關閉}>|(啟用|打開)<{operation=打開}>), <time>的<r_alarm>)><{@=modify_alarm}>

名稱:g_modify_alarm_operation_time3
類型:語意




這條 grammar 也是看起來有點複雜,我們可以看出這一條 grammar 其實是由前面方括號包覆的可選內容,和一條 template 和 modifier 組成的。

我們來看下這條 template 的內容


<_把字句_動賓結構>:[=動詞性短語,名詞性短語=]把$(名詞性短語)$(動詞性短語)



它在被引用的時候,要傳遞的參數值是這一部分:


[給]((關了|關掉|取消[了])<{operation=關閉}>|(啟用|打開)<{operation=打開}>), <time>的<r_alarm>)>



在這裡,我們也給:關閉、關掉、取消這三個詞都做了slot 的引用並直接賦值,賦值 internal slot:operation的值是關閉,那麽不管我們匹配到的是哪一個,slot 都取值關閉。

同樣的,我們也為啟用、打開這兩個詞做了 slot 的賦值,讓不管語料匹配的是哪個,operation 的值都等於打開。跟前面的例子一樣。


我們再看下其他引用的部分:


Rule :
<r_help_prefix>: [請你|請|你](幫[幫]|幫助)(我|俺)
<r_alarm>:鬧鐘|鬧鈴

Datetime Slot: <time>
Internal  Slot:<operation>
Modifier:<{@=modify_alarm}>



那麽,這條 grammar 最後可以匹配的內容有:


幫我把11點的鬧鐘關掉
請你幫我週四早晨的鬧鐘取消了
請給我把今天晚上七點的鬧鐘打開



等等





那麽這節課就到這裡,感謝大家觀看,我們下節課再見。



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