Snippets

Furhat Robotics SGRS Grammar regular expressions for numbers and catch-all words

Created by Ludvig Linse
1
2
3
4
5
6
7
<onevent name="sense.user.speak" cond="event?:sem:name">
    <agent:say>nice to meet you <expr>event:sem:name</expr></agent:say>
</onevent>

<onevent name="sense.user.speak" cond="event?:sem:age">
    <agent:say>you are <expr>event:sem:age</expr>years old</agent:say>
</onevent>
<!-- Grammar catching "my name is X" and "I'm Y years old" using regular expressions for digits and "any" sign -->

<rule id="root" scope="public">	
    <one-of>
        <item>
            my name is <ruleref uri="#anyword"/>
            <tag>out.name=rules.anyword</tag>
        </item>
        <item>
            <item repeat="0-1">
                <one-of>
                    <item>I am</item>
                    <item>I'm</item>
                </one-of>    
            </item>            
            <ruleref uri="#anynumber"/>
            <tag>out.age=rules.anynumber</tag>
            years 
            <item repeat="0-1">old</item>
        </item>
    </one-of>
</rule>

<rule id="anyword">
    <item>.+</item>
</rule>
  
  
<rule id="anynumber">
    <item>[0-9]+</item>    
</rule>

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.