视频教程 > NLI模块例句解析

Alarm例句语法解析(下)

olami     2017-11-02 15:04





以下是视频内容文字版:


大家好,欢迎观看欧拉蜜视频教程。今天要学习的是 alarm 模块例句语法解析的下篇,在上节课我们介绍了一些经典句子语法的编写,今天就再来一起学习一下另外一些具有代表性的例句,巩固一下知识点。

这节课要讲解的是下面这七个例句,那么我们先来看第一个例句。

一、星期三有设置闹钟吗

二、修改14:50的闹钟

三、把九点的闹钟改到下午四点

四、查看我所有的闹钟

五、取消所有的闹钟

六、我设置的闹钟都有哪些

七、帮我把11点的闹钟关掉


一、星期三有设置闹钟吗


Grammar:[我]<time>(([都|还](有什么|有哪[一]些|有没有))<r_alarm>|有[设[置]]<r_alarm>吗)<{@=find_alarm}>

名称:g_find_alarm_time1

类型:语义


它的名称可以根据我们自己的需要来写,可以是对我们语料的简单概括,这里就可以表示查找闹钟时间这个意思。它可以是英文、中文、字符的结合,你觉得那种方式最好就写哪种好了。然后,这条 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

类型:语义


重点说一下:<{operation=关闭}>这一部分的作用。


在这条 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   |   意见反馈