以下是视频内容文字版:
大家好,欢迎观看欧拉蜜教学视频,今天这节课我们要讲解的 music 模块的上篇。以下是本节课要讲解的例句:
一、青花瓷是哪个歌手唱的
二、电台情歌是莫文蔚唱的吗
三、光良有没有翻唱过勇气
四、告诉我青花瓷的歌词
五、有没有周杰伦唱的青花瓷的歌词
六、我要听古剑奇谭的片尾曲
七、莫文蔚有什么歌
八、天是灰色的这句歌词是哪首歌里的
一、青花瓷是哪个歌手唱的
Grammar:<name_or_album>[是]<哪个歌手_谁>唱的[<你知道吗>]<{@=query_singer}>
名称:查歌手_1
类型:语义
这条 grammar 比较简单,我们来看下它引用的内容:
Rule:
<哪个歌手_谁>:哪(个|名|位)歌手|谁
<你知道吗>:你知道(吗|不)
EXT Slot:<name_or_album>
Modifier: <{@=query_singer}>
最后,这条 grammar 可以匹配的语料有:
青花瓷是哪个歌手唱的
宁夏是谁唱的你知道吗
十年是哪位歌手唱的
……
二、电台情歌是莫文蔚唱的吗
Grammar:<name_or_album>是<singer>唱的吗<{@=query_singer}>
名称:查歌手_name_or_album_1
类型:语义
我们直接来看下引用的内容:
EXT Slot:
<name_or_album>
<singer>
Modifier:
<{@=query_singer}>
最后,这条 grammar 可以匹配的语料有:
电台情歌是莫文蔚唱的吗
东风破是周杰伦唱的吗
红豆是王菲唱的吗
……
三、光良有没有翻唱过勇气
Grammar:<singer>(有没有|是否)翻唱过[歌曲]<name>[呀]<{@=query_singer}>
名称:查歌手_singer_name_8
类型:语义
Grammar 里引用的内容如下:
EXT Slot:
<singer>
<name>
Modifier:
<{@=query_singer}>
那么,这条 grammar 可以匹配的语料有:
光良有没有翻唱过勇气
邓紫棋是否翻唱过歌曲喜欢你
张碧晨有没有翻唱过红玫瑰呀
……
四、告诉我青花瓷的歌词
Grammar:[<告诉我>]<singer_name_or_name的歌词>[<是什么>]<{@=query_lyric}>
名称:查歌词_2
语义:语义
我们直接来看下引用的内容:
Rule:
<告诉我>:告诉我
<singer_name_or_name的歌词>: <singer_name_or_name>的歌词
<是什么>:是(什么|啥)
Ext Slot:<singer_name_or_name>
Modifier:<{@=query_lyric}>
最后,这条 grammar 可以匹配的语料有:
告诉我青花瓷的歌词
甜蜜蜜的歌词是什么
告诉我遇见的歌词是啥
……
五、有没有周杰伦唱的青花瓷的歌词
Grammar:<t_有没有_有xx吗_短句(<singer>唱的<name>的歌词)><{@=query_lyric}>
名称:查歌词_5
类型:语义
它的 grammar 由一条 template 和一条 modifier 组成,我们来具体看下它们的内容:
Template:
<t_有没有_有xx吗_短句>:[=短句=]<有没有>$(短句)[呀]|有$(短句)吗
在这条 template 里涉及到了一条 rule:
<有没有>:有没有|是否有
当在 grammar 里引用 template 的时候,它要传递的参数值是:<singer>唱的<name>的歌词,其中涉及到两条 ext slot。
EXT Slot:
<singer>
<name>
最后,这条 grammar 还有一条 global modifier:<{@=query_lyric}> ,表达查询歌词的意图。
那么,这条 grammar 可以匹配的语料有:
有没有周杰伦唱的青花瓷的歌词
有孙燕姿唱的绿光的歌词吗
是否有张韶涵唱的隐形的翅膀的歌词的呀
……
六、我要听古剑奇谭的片尾曲
Grammar:<t_我要听_短句(<_teleplay>的<theme曲>)><{@=play_theme}>
名称:播放主题曲_2
类型:语义
这条 grammar 也是由 template 和 modifier 组成的,来看下具体内容:
Template:<t_我要听_短句>: [=短句=](我(想|要|想要)|想)听$(短句)
当在 grammar 里引用这条 template 里的时候,它要传递的参数值是:<_teleplay>的<theme曲>,它涉及了两条 rule。
Rule:
<_teleplay>:['《']<teleplay>['》']
在这里,<teleplay> 是一条 ext slot。
<theme曲>:片头曲<{theme=片头}>|片尾曲<{theme=片尾}>|<theme>主题曲
在<theme曲>这条 rule 里使用了 slot 的引用并直接赋值规则。对于“片头曲”这个词,我们引用了 internal slot:theme,并对它赋值为“片头”。那么,当“片头曲”被匹配上的时候,我们就能获取 slot 的值是“片头”。“片尾曲”也同样如此。
最后,我们还为这条 grammar 添加了一个 global modifier:<{@=play_theme}>,表达播放片头曲、主题曲的意图。
那么,我们的 grammar 可以匹配的语料有:
我要听古剑奇谭的片尾曲
想听甄嬛传的片头曲
我想要听花千骨的片尾主题曲
……
七、莫文蔚有什么歌
Grammar:<album_or_singer>[都]有<什么_哪些><歌_歌曲><{@=query_song}>
名称:查歌曲_album_or_singer_1
类型:语义
它引用的内容如下:
Rule:
<什么_哪些>:哪些|什么
<歌_歌曲>: 歌|歌曲
EXT Slot:<album_or_singer>
Modifier:<{@=query_song}>
那么,这条 grammar 可以匹配的内容有:
莫文蔚有什么歌
周杰伦都有哪些歌
陈奕迅有什么歌曲
……
八、天是灰色的这句歌词是哪首歌里的
Grammar:[<请帮我查>]<lyric>这句歌词是哪首<歌_歌曲>(中|里[面])的<{@=query_song}>
名称:查歌曲_lyric_2
类型:语义
它引用的内容如下:
Rule:
<请帮我查>:[<请你帮我>](<查_搜索_找>|<查查>|<列一下>)
<请你帮我>:[<请>][<你>]<帮我>
<请>:麻烦|请
<你>你|您:
<帮我>:(帮|替|给)(我|俺)
<查_搜索_找> :(查|搜[索]|[查]找)[[一]下]
<查查>:查查|找找
<列一下>:列出|列[一]下
<歌_歌曲>: 歌|歌曲
EXT Slot:<lyric>
Modifier:<{@=query_song}>
那么,这条 grammar 可以匹配的语料有:
天是灰色的这句歌词是哪首歌里的
麻烦你帮我查一下我的心真的受伤了这句歌词是哪首歌里面的
查查天青色等烟雨而我在等你这句歌词是哪首歌曲中的
……
以上这些就是这节课的全部内容,感谢大家观看。