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

Music 例句語法解析(上)

olami     2018-01-17 09:00


大家好,歡迎使用OLAMI人工智慧開放平台。


今天的主題是 Music 模組例句語法解析,我們將分成上、中、下三集來講解。

那上集我們挑選了7個例句,現在我們來逐一看看:

  1. 你能播歌嗎
  2. 你會唱梁靜茹的歌嗎
  3. 你支持哪些音樂類型
  4. 你會唱英文歌曲嗎
  5. 放幾首兒歌
  6. 我要聽經典老歌
  7. 其他支持例句


一、你能播歌嗎

Grammar:<t_能不能_會不會_短句(<唱歌>)><{@=can}>
名稱:問播歌能力_1
類型:語意


它的 grammar 由一條 template 和一條 modifier 組成,我們來看它們的內容:

Template:
<t_能不能_會不會_短句>:[=短句=][<你>](能|會|可以)[<幫我>]$(短句)(嗎|吧|不)|[你](能(不能|否)|會不會)[<幫我>]$(短句)|$(短句)<你>(會不會|會嗎)


在這條 template 裡涉及到了兩條 rule:

<你>:你|您
<幫我>: (幫|替|給)(我|俺)


當我們引用這條 template 的時候,它要傳遞的參數值是:<唱歌>,

它是一條 rule:

<唱歌>:唱歌|播<歌_音樂>|放<歌_音樂>|播放<歌曲_音樂>


這條 rule 裡也包含了其他的rule:

<歌_音樂>:歌|音樂
<歌曲_音樂>:歌曲|音樂


除此之外,我們的 grammar 還引用了一條 global modifier:<{@=can}>,表達能或可以的核心訊息。

那麼我們的這條 grammar 可以匹配的語料有:

你能播歌嗎
你會不會放歌
你能不能幫我播放音樂
……


二、你會唱梁靜茹的歌嗎

Grammar:<t_能不能_會不會_短句(<唱singer的歌>)><{@=can}> 
名稱:問播歌能力_6   
類型:語意


它也是由 template 和 modifier 組成的,我們來看內容:

Template:
< t_能不能_會不會_短句>: [=短句=][<你>](能|會|可以)[<幫我>]$(短句)(嗎|吧|不)|[你](能(不能|否)|會不會)[<幫我>]$(短句)|$(短句)<你>(會不會|會嗎)

在這條 template 裡涉及到了兩條 rule:<你>、<幫我>,和第一個例子一樣。


當我們引用這條 template 的時候,它要傳遞的參數值是:<唱singer的歌>,它是一條 rule。

Rule:
<唱singer的歌>:唱<singer的歌> 
<singer的歌>:<singer>的<歌_歌曲>|<xx的歌{name=$}> 
<歌_歌曲>:歌|歌曲 
<xx的歌>:我們的歌|一首簡單的歌|寂寞的人傷心的歌|張三的歌

Ext Slot:
<singer>
<name>

<singer> 是一條 ext slot ,可以匹配任意的歌手。

除此之外,在這裡,我們還使用了 slot 的引用並間接賦值規則:

<xx的歌> 是一條 rule,我們引用並且賦值 ext slot:name這個規則它規定,只有當 rule 它被匹配上的時候,才會賦值 slot 相同的內容;

比如說,當「我們的歌」,被匹配上的時候,slot 的值也是:我們的歌。

最後,我們還為 grammar 添加了一個 modifier:<{@= can}> ,來表示「能、可以」的意思。


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

你會唱梁靜茹的歌嗎
你能不能唱王力宏的歌
唱我們的歌你會嗎
……


三、你支持哪些音樂類型

Grammar:你支持哪些<歌曲_音樂>(分類|類型)<{@=can_which_type}> 
名稱:問支持的歌曲類型_2  
類型:語意
  

這條grammar比較簡單,來看下它引用的內容:

Rule:
<歌曲_音樂>:歌曲|音樂

Modifier:
<{@= can_which_type}>


它能匹配的語料有:

你支持哪些音樂類型
你支持哪些歌曲分類
你支持哪些音樂分類
……


四、你會唱英文歌曲嗎

Grammar:<t_能不能_會不會_短句(<唱language歌>)><{@=can}> 
名稱:問播歌能力_9
類型: 語意


它的句子很簡單,是由 template 和 modifier 組成的。

Template:
<t_能不能_會不會_短句>: [=短句=][<你>](能|會|可以)[<幫我>]$(短句)(嗎|吧|不)|[你](能(不能|否)|會不會)[<幫我>]$(短句)|$(短句)<你>(會不會|會嗎)

在這條 template 裡涉及到了兩條 rule:<你>、<幫我>,和前面的例子一樣。


當我們引用這條 template 的時候,它要傳遞的參數值是:唱<language歌曲_音樂>,它裡面還有一條rule:

<唱language歌>:唱<language歌曲_音樂>
<language歌曲_音樂>: (<language_賦值>|<language>)<歌_歌曲_音樂>|<place>的<歌_歌曲_音樂> 
< language_賦值>:外文<{language=外語}>|英語<{language=英文}>|(華語|國語)<{language=中文}>|日語<{language=日文}>|韓語<{language=韓文}>
<language >:中文|韓文|英文|日文|法文|外語|粵語|俄語|港臺|日韓|歐美
<歌_歌曲_音樂>:歌|歌曲|音樂
<place>:亞洲|臺灣|(大陸|中國)<{language=中文}>|(國外|外國)<{language=英文}>|法國<{language=法文}>|美國<{language=英文}>|日本<{language=日文}>|(韓國|朝鮮|北韓|高麗)<{language=韓文}>

Internal Slot: language

可以看到,我們使用了 slot 的引用並直接賦值規則,比如在< language_賦值>這條 rule 裡,我們對「外文」這個詞,賦值 slot<language>的值是:外語,那麼當匹配上「外文」這個詞的時候,我們就能獲取 slot 的值,後面的內容也是一樣的作用。

最後,我們還為 grammar 添加了一條 modifier:<{@= can}> 。


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

你會唱英文歌曲嗎
你能不能唱粵語歌
唱外語歌曲你會嗎
……


五、放幾首兒歌

Grammar:<t_幫我唱幾首xx聽_名詞性短語(<type_歌曲_音樂>)><{@=play_song}> 
名稱:播放歌曲_type_2   
類型:語意


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

Template:
< t_幫我唱幾首xx聽_名詞性短語>: [=名詞性短語=](<請你幫我>|<請你給我>)<唱幾首>$(名詞性短語)[<來聽>|聽[聽]][吧]|<唱幾首>$(名詞性短語)[<來給我聽>|聽[聽]][吧]


在這條 template 裡引用了五條 rule:

<請你幫我>: [<請>][<你>]<幫我>
<請你給我>: [<請>][<你>]<給我>
<唱幾首>: (唱|放|播)[[<幾>]首|點[兒]]|播放[<幾首>]|來([<幾>]首|點[兒])|(放|唱)[<幾>]個 
<來聽>:來聽[聽|[一]下]
<來給我聽>:來<給我聽>|<來聽>|<給我聽>


當我們 grammar 裡引用這條template 的時候,它要傳遞的參數值是:< type_歌曲_音樂>

Rule:
<type_歌曲_音樂>: <type_part{type=$}><歌曲_音樂>|<typesong>|<type_歌曲_賦值>
<type_part>:經典|影視|金屬|懷舊|胎教|道教|佛教|DJ|搖滾|愛情|校園|革命|古典|流行|動漫
<歌曲_音樂>:歌曲|音樂
< typesong >:經典老歌<{type=經典}>|輕音樂<{type=輕音樂}>|兒歌<{type=兒歌}>|情歌<{type=愛情}>|校園名謠<{type=校園}>|古典音樂<{type=古典}>|爵士樂<{type=爵士樂}>|電子音樂<{type=電子}>|饒舌<{type=饒舌}>|搖籃曲<{type=搖籃曲}>|(流行的<歌曲_音樂>|流行歌)<{type=流行}>
<type_歌曲_賦值>: (放鬆的|輕快的)<{type=輕音樂}><歌_歌曲_音樂>|(兒童|幼兒)[的]<歌曲_音樂><{type=兒歌}>|(胎教<{type=胎教}>|道教<{type=道教}>|佛教<{type=佛教}>|基督教<{type=基督教}>|天主教<{type=天主教}>)方面的<歌曲_音樂>|(道教<{type=道教}>|佛教<{type=佛教}>|基督教<{type=基督教}>|天主教<{type=天主教}>)的<歌曲_音樂> 

Internal Slot: type

在這條 grammar 裡,使用了 slot 的引用並直接賦值和引用並間接賦值規則。

<type_part{type=$}> 是引用並間接賦值規則,當<type_part> 這條 rule 被匹配上的時候,slot 才能提取到相應的值。 

< typesong >、<type_歌曲_賦值> 這兩條 rule 裡使用了 slot 的引用並直接賦值,用法和前面的例子一樣。最後,我們也給這條 grammar 添加上modifier:<{@=play_song}>,表示「播歌」的主旨。


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

放幾首兒歌
請你幫我放一首經典老歌
唱首放鬆的歌來給我聽一聽
……


六、我要聽經典老歌

Grammar:<t_我要聽_短句([<幾首>]<type_歌曲_音樂>)><{@=play_song}> 
名稱: 播放歌曲_type_1  
類型: 語意


這條 grammar 和前面的例子一樣,也是由template 和 modifier 組成,我們來看下引用的內容:

Template:
<t_我要聽_短句>: [=短句=](我(想|要|想要)|想)聽$(短句)

Rule:
<幾首>: <幾>首
<幾>:一|兩|幾
<type_歌曲_音樂>:<type_part{type=$}><歌曲_音樂>|<typesong>|<type_歌曲_賦值> 
<type_part>:經典|影視|金屬|懷舊|胎教|道教|佛教|DJ|搖滾|愛情|校園|革命|古典|流行|動漫
<歌曲_音樂>:歌曲|音樂
<typesong>:經典老歌<{type=經典}>|輕音樂<{type=輕音樂}>|兒歌<{type=兒歌}>|情歌<{type=愛情}>|校園名謠<{type=校園}>|古典音樂<{type=古典}>|爵士樂<{type=爵士樂}>|電子音樂<{type=電子}>|饒舌<{type=饒舌}>|搖籃曲<{type=搖籃曲}>|(流行的<歌曲_音樂>|流行歌)<{type=流行}>
<type_歌曲_賦值>: (放鬆的|輕快的)<{type=輕音樂}><歌_歌曲_音樂>|(兒童|幼兒)[的]<歌曲_音樂><{type=兒歌}>|(胎教<{type=胎教}>|道教<{type=道教}>|佛教<{type=佛教}>|基督教<{type=基督教}>|天主教<{type=天主教}>)方面的<歌曲_音樂>|(道教<{type=道教}>|佛教<{type=佛教}>|基督教<{type=基督教}>|天主教<{type=天主教}>)的<歌曲_音樂>

Internal Slot: type

Modifier:<{@= play_song}> 

和前面的例子一樣,在這條 grammar 裡,使用了 slot 的引用並直接賦值和引用並間接賦值規則。


這個Grammar可以匹配的語料有:

我要聽經典老歌
我想聽影視歌曲
我想要聽兒童歌曲
……


七、其他支持例句(類似第六句)

Grammar:<t_我要聽_短句((<language_賦值>|<language>)<歌_歌曲><name>)><{@=play_song}> 
名稱:播放歌曲_name_language_1
語料:我要聽粵語歌曲紅豆 


Grammar:<t_我要聽_短句(<singer的歌_singer唱的歌>)>[<你唱給我聽>]<{@=play_song}> 
名稱:播放歌曲_singer_1
語料:我要聽王菲的唱片 


Grammar:[歌曲]<name>是<singer>[的]哪(個|張)專輯([當]中|裡[面])的<歌_歌曲><{@=query_album}>
名稱:查專輯_name_singer_1
語料:青花瓷是周杰倫哪個專輯裡的歌


前面兩個句子雖然內容和第六個例句有點不一樣,但句型是相似的,都是由 template和 modifier 組成,而且都和第六個例句的一樣,內容也是查詢某首歌。

最後這一個稍微有些不同:<t_我要聽_短句(<singer的歌_singer唱的歌>)>[<你唱給我聽>]<{@=play_song}> ,它是表示查詢專輯的意思;<name>、<singer>都是ext slot ,<name>可以匹配在字數範圍限制之內的任意歌曲名,<singer>可以匹配在字數範圍限制之內的任意歌手名,modifier:<{@=query_album}>表示目的是要查詢專輯。


那麼以上就是Music模組例句語法解析上集的全部內容。也別忘了去看看下面兩集喔!


如果想要看更多的例句,歡迎登入OLAMI人工智慧開放平台,到NLI系統—— Music模組裡查看。

感謝您的觀看!



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