diff --git a/psConfig/tasks/gpsr/gpsr.conf b/psConfig/tasks/gpsr/gpsr.conf index 57c62b09ac98d2579956da2d62d18743873febf4..107c01b5b016f4832d2516127988f2d740ccdaa0 100644 --- a/psConfig/tasks/gpsr/gpsr.conf +++ b/psConfig/tasks/gpsr/gpsr.conf @@ -9,7 +9,7 @@ alsadevice=sysdefault; [pocketsphinxinstance] name=Commands; dict=../../../psGrammar/dictionary/tobiDic.dic; -jsgf=../../../psGrammar/tasks/gpsr/gpsr2.jsgf; +jsgf=../../../psGrammar/tasks/gpsr/gpsr23.jsgf; rsbscope=/speechrec/psa/commands; bestpath=no; autoload=yes; diff --git a/psConfig/tasks/stickler/stickler.conf b/psConfig/tasks/stickler/stickler.conf new file mode 100644 index 0000000000000000000000000000000000000000..2eb9dd70fb508233cd0312ef59a90320aaadf703 --- /dev/null +++ b/psConfig/tasks/stickler/stickler.conf @@ -0,0 +1,16 @@ +[main] +startdb=45; +uttdb=53; +silence=800; +timeout=8; +openDeviceDirectly=yes; +alsadevice=sysdefault; + + +[pocketsphinxinstance] +name=confirm; +dict=../../../psGrammar/dictionary/tobiDic.dic; +jsgf=../../../psGrammar/confirm/confirm.jsgf; +rostopic=/speechrec/psa/confirm; +bestpath=no; +autoload=yes; diff --git a/psGrammar/confirm/confirm.jsgf b/psGrammar/confirm/confirm.jsgf index b6948911f92d43e770283414b860a394786f02f6..530ea50065a4ef17897aa549c3b5765f67bf8ce9 100644 --- a/psGrammar/confirm/confirm.jsgf +++ b/psGrammar/confirm/confirm.jsgf @@ -5,6 +5,6 @@ public <confirm> = <confirm_yes> | <confirm_no>; <confirm_yes> = <robot> <yes_words>; <confirm_no> = <robot> <no_words>; -<yes_words> = (yes) | (confirmed); +<yes_words> = (yes); <no_words> = (no); -<robot> = (tobi) | (robot) | (biron) | (pepper) | (tiago); +<robot> = (tiago); diff --git a/psGrammar/confirm/confirm_old.jsgf b/psGrammar/confirm/confirm_old.jsgf new file mode 100644 index 0000000000000000000000000000000000000000..b6948911f92d43e770283414b860a394786f02f6 --- /dev/null +++ b/psGrammar/confirm/confirm_old.jsgf @@ -0,0 +1,10 @@ +#JSGF V1.0; +grammar ToBI_confirm; +public <confirm> = <confirm_yes> | <confirm_no>; + +<confirm_yes> = <robot> <yes_words>; +<confirm_no> = <robot> <no_words>; + +<yes_words> = (yes) | (confirmed); +<no_words> = (no); +<robot> = (tobi) | (robot) | (biron) | (pepper) | (tiago); diff --git a/psGrammar/demos/demoErsti/commands.jsgf b/psGrammar/demos/demoErsti/commands.jsgf index 81b71a4c1c36a5bfd30dd77b81b61c04d16fe9ec..3234a3cbb9ea46ae01f0d9bf6cbff54ce62cbd81 100644 --- a/psGrammar/demos/demoErsti/commands.jsgf +++ b/psGrammar/demos/demoErsti/commands.jsgf @@ -1,7 +1,7 @@ #JSGF V1.0; grammar commands; -public <command> = [<robot>] ( <introduce> | <save> | <wait> | <goTo> | <followMe> | <followHand> | <gravity> | <exit> | <lookAt> | <trash> | <drop> | <nothing> | <search> | <describe> | <difference> | <take> | <give> | <count> | <explain> ); +public <command> = [<robot>] ( <introduce> | <save> | <wait> | <goTo> | <followMe> | <followHand> | <gravity> | <exit> | <lookAt> | <trash> | <drop> | <nothing> | <search> | <describe> | <difference> | <take> | <give> | <count> | <explain> | <store_groceries> ); <robot> = (tobi | robot | tiago); @@ -34,4 +34,6 @@ public <command> = [<robot>] ( <introduce> | <save> | <wait> | <goTo> | <followM <count> = (count the people); -<explain> = (what can you do) | (explain your skills); \ No newline at end of file +<explain> = (what can you do) | (explain your skills); + +<store_groceries> = (store the groceries); \ No newline at end of file diff --git a/psGrammar/person/person.jsgf b/psGrammar/person/person.jsgf index 43c48a1313028e54af599ed9ccf4ba0d537b78f2..4fbd5d44c30117f236b3367fe867636602af69ed 100644 --- a/psGrammar/person/person.jsgf +++ b/psGrammar/person/person.jsgf @@ -2,4 +2,5 @@ grammar ToBI_person; public <statement> = <naming> ; <naming> = [(my name is) | (i am)] <name>; -<name> = sophia | isabella | emma | olivia | ava | emily | abigail | madison | mia | chloe | james | john | robert | michael | william | david | richard | charles | joseph | thomas; +<name_old> = sophia | isabella | emma | olivia | ava | emily | abigail | madison | mia | chloe | james | john | robert | michael | william | david | richard | charles | joseph | thomas; +<name> = alex | charlie | elizabeth | francis | jennifer | linda | mary | patricia | james | john | michael | robert | robin | skyler | william; \ No newline at end of file diff --git a/psGrammar/tasks/gpsr/gpsr2.jsgf b/psGrammar/tasks/gpsr/gpsr2.jsgf index 004a5b33860cc7f88d5c6794b14a384096a697e5..b236a337d1573d293a87d66204f6aff944d9ad64 100644 --- a/psGrammar/tasks/gpsr/gpsr2.jsgf +++ b/psGrammar/tasks/gpsr/gpsr2.jsgf @@ -6,11 +6,11 @@ public <sentence> = ([could you | robot | tobi] [please] <VP1> [([and|then] <V <VP1> = (<SingleCommands> | <NeedsToBeFirst> | <NoRestriction>); <VP2> = (<NeedsReference> | <NoRestriction>); <VP3> = (<NeedsReference> | <NoRestriction>); - + <NeedsToBeFirst> = (<goToLoc> | <meetPrsAtBeac> | <findPrsInRoom>); <SingleCommands> = (<countObjOnPlcmt> | <countPrsInRoom> | <tellPrsInfoInLoc> | <tellObjPropOnPlcmt> | <deliverObjToGestPrsInRoom> | <followNameFromBeacToRoom> | <guideNameFromBeacToBeac> | <guideNameToBeacFindAtBeac> | <bringMeObjFromPlcmt> | <tellCatPropOnPlcmt> | <findObjInRoom> | <talkInfoToGestPrsInRoom> | <answerToGestPrsInRoom>); <NeedsReference> = <followPrsToRoom> | (<followPrs> | <placeObjPronOnPlcmt> | <deliverObjPronToMe> | <guidePrsToBeacon> | <deliverObjToNameAtBeac> | <answerQuestion> | <talkInfo> | <meetName> | <findPrs> | <placeObjOnPlcmt>); -<NoRestriction> = (<findObj> | <takeObj> | <takeObjFromPlcmt> | <bringMeObj> | <deliverObjToMe>); +<NoRestriction> = (<findObj> | <takeObj> | <takeObjFromPlcmt> | <bringMeObj> | <deliverObjToMe>); <goToLoc> = <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>); @@ -120,12 +120,20 @@ public <sentence> = ([could you | robot | tobi] [please] <VP1> [([and|then] <V <N_personattribute> = name | gender | pose; <N_posture> = sitting | standing | lying down; -<N_object> = basket | cereals | cloth | (coconut milk) | coke | cornflakes | noodles | orange (juice | drink) | peas | plate | pringles | red bowl | salt | soap | sponge | (tomato paste) | water; -<N_category> = care | drink | (cleaning stuff) | container | food | snack | cutlery; -<N_room> = corridor | (living room) | kitchen | (bath room); +<N_object_old> = basket | cereals | cloth | (coconut milk) | coke | cornflakes | noodles | orange (juice | drink) | peas | plate | pringles | red bowl | salt | soap | sponge | (tomato paste) | water; +<N_object> = (chocolate milk) | milk | cola | (soap box) | (choco krispies) | bowl | plate | fork | knife | spoon | cup | lemon | banana | peach | pear; +<N_category_old> = care | drink | (cleaning stuff) | container | food | snack | cutlery; +<N_category> = fruits | cutlery | drinks | snacks | (pantry items); +<N_room_old> = corridor | (living room) | kitchen | (bath room); +<N_room> = kitchen | (living room) | hallway | bathroom | office; <N_roomTwo> = corridor | (living room) | kitchen | (bath room); -<N_placement> = (living table) | (kitchen counter) | sink | stove | cabinet | bar; -<N_placementTwo> = (living table) | (kitchen counter) | sink | stove | cabinet | bar; -<N_beacon> = (living table) | sink | bar | sofa | fridge | (comfy chair); -<N_beaconTwo> = (living table) | sink | bar | sofa | fridge | (comfy chair); -<N_name> = emma | olivia | sophia | ava | isabella | mia | abigail | emily | charlotte | harper | noah | liam | mason | jacob | william | ethan | james | alexander | michael | benjamin; +<N_placement_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar; +<N_placementTwo_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar; +<N_placement> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation; +<N_placementTwo> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation; +<N_beacon_old> = (living table) | sink | bar | sofa | fridge | (comfy chair); +<N_beaconTwo_old> = (living table) | sink | bar | sofa | fridge | (comfy chair); +<N_beacon> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation; +<N_beaconTwo> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation; +<N_name_old> = emma | olivia | sophia | ava | isabella | mia | abigail | emily | charlotte | harper | noah | liam | mason | jacob | william | ethan | james | alexander | michael | benjamin; +<N_name> = amelia | angel | ava | charlie | charlotte | hunter | max | mia | olivia | parker | sam | jack | noah | oliver | thomas | william; diff --git a/psGrammar/tasks/gpsr/gpsr23.jsgf b/psGrammar/tasks/gpsr/gpsr23.jsgf new file mode 100644 index 0000000000000000000000000000000000000000..88db78590c32d835818420f31a2e22935e999c77 --- /dev/null +++ b/psGrammar/tasks/gpsr/gpsr23.jsgf @@ -0,0 +1,168 @@ +#JSGF V1.0; +grammar speechRecognition; + + +public <sentence> = [could you | robot | tobi] [please] <command>; + +<command> = (<cmdfndppl> | <cmdfndobj> | <cmdguide> | <cmdfollow> | <cmdfollowout> | <cmdincomplete> | <cmdman> | <complexman> | <cmdpartyhost>); + +<cmdfndppl> = <tellPrsInfoInLoc> | <countPrsInRoom> | <talkInfoToGestPrsInRoom> | (<findPrsInRoom> and <answerQuestion>) | (<goToLoc> <findPrs> and <answerQuestion>); + +<cmdfndobj> = <findObjInRoom> | <countObjOnPlcmt> | <tellCatPropOnPlcmt> | <tellObjPropOnPlcmt>; + +<cmdguide> = <guideNameFromBeacToBeac> | (<meetPrsAtBeac> and <guidePrsToBeacon>) | (<goToLoc> <meetName> and <guidePrsToBeacon>); + + +<cmdfollow> = <followNameFromBeacToRoom> | (<meetPrsAtBeac> and (<followPrs> | <followPrsToRoom>)) | (<goToLoc> <meetName> and (<followPrs> | <followPrsToRoom>)); + +<cmdfollowout> = <meetPrsAtBeac> <followPrs> and (<goToLoc> | <guidePrsBack>); + +<cmdincomplete> = <followName> | <deliverObjToMe> | <guidePrsToBeacon> | (<goToLoc> <meetName> and <guidePrsIncomplete>); + +<cmdman> = <bringMeObjFromPlcmt> | (<takeObjFromPlcmt> and (<deliverObjPronToMe> | <deliverObjToNameAtBeac>)) | (<takeObjFromPlcmt> and <placeObjPronOnPlcmt>); + +<complexman> = skyler; + +<cmdpartyhost> = <serveDrinks> | (<meetPrsAtBeac>| <meetprsAtDoor> and <introduce>) | (<meetPrsAtBeac> and <requestleave>) | (<meetPrsAtBeac> and <guidePrsToTaxi>); + +<goToLoc> = <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>); + +<findObj> = <V_find> <NP_object>; +<findObjInRoom> = <V_find> (<NP_object> | <NP_category>) <inLocPrep> <NP_room>; + +<takeObj> = <V_take> <NP_object>; +<takeObjFromPlcmt> = <V_take> <NP_object> <fromLocPrep> (<NP_room> | <NP_placement>); + +<findPrs> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>); +<findPrsInRoom> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>) <inLocPrep> <NP_room>; + +<placeObjOnPlcmt> = <V_place> <NP_object> <placePrep> <NP_placement>; +<placeObjPronOnPlcmt> = <V_place> <NP_objectpron> <placePrep> <NP_placement>; + +<talkInfo> = <V_talk> <NP_talk>; +<talkInfoToGestPrsInRoom> = <V_talk> <NP_talk> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>; + +<answerQuestion> = <V_answer> <NP_answer>; +<answerToGestPrsInRoom> = <V_answer> <NP_answer> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>; + +<followPrs> = <V_follow> <NP_personalpron>; +<followPrsToRoom> = <V_follow> <NP_personalpron> <toLocPrep> <NP_roomTwo>; +<followName> = <V_follow> <NP_name>; +<followNameFromBeacToRoom> = <V_follow> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_roomTwo>; + +<meetName> = <V_meet> <NP_name>; +<meetPrsAtBeac> = <V_meet> <NP_name> <atLocPrep> <NP_beacon>; +<meetprsAtDoor> = <V_meet> <NP_name> <atLocPrep> <NP_door>; + +<bringMeObj> = <V_bring> <NP_me> <NP_object>; +<bringMeObjFromPlcmt> = <V_bring> <NP_me> <NP_object> <fromLocPrep> <NP_placement>; + +<countObjOnPlcmt> = <V_count> (<NP_object> | <NP_category>) there are <placePrep> <NP_placement>; +<countPrsInRoom> = <V_count> people in <NP_room> <arePrep> (<NP_posture> | <NP_genderpersonplural>); + +<tellPrsInfoInLoc> = <V_tell> me <NP_personattribute> of the person <LocPrep> (<NP_room> | <NP_beacon>); +<tellObjPropOnPlcmt> = <V_tell> me ((what is) | whats) <NP_objectprop> object <onLocPrep> <NP_placement>; +<tellCatPropOnPlcmt> = <V_tell> me ((what is) | whats) <NP_objectprop> <NP_category> <onLocPrep> <NP_placement>; + +<deliverObjToMe> = <V_deliver> (<NP_object> | <NP_category>) <deliverPrep> <NP_me>; +<deliverObjPronToMe> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_me>; +<deliverObjToGestPrsInRoom> = <V_deliver> [<NP_objectpron>] <NP_object> <deliverPrep> <NP_gestperson> <inLocPrep> <NP_roomTwo>; +<deliverObjToNameAtBeac> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_name> <atLocPrep> <NP_beaconTwo>; + +<guidePrsIncomplete> = <V_guide> <NP_personalpron>; +<guidePrsBack> = <V_guide> <NP_personalpron> back; +<guidePrsToBeacon> = <V_guide> <NP_personalpron> <toLocPrep> <NP_beaconTwo>; +<guideNameFromBeacToBeac> = <V_guide> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_beaconTwo>; +<guideNameToBeacFindAtBeac> = <V_guide> <NP_name> <toLocPrep> <NP_beaconTwo> you (may | can | will) find (them | him | her) <atLocPrep> <NP_beacon>; + +<serveDrinks> = <V_serve> <NP_partyfood> to ((everyone | everybody) | (all the <NP_agegenderpersonplural>)) in the <N_room>; +<introduce> = <V_introduce> <NP_personalpron> to <NP_agegenderpersonplural> | (<NP_name> <LocPrep> <NP_beaconTwo>); +<requestleave> = <V_ask> <NP_personalpron> to <V_leave>; +<guidePrsToTaxi> = <V_guide> <NP_personalpron> <toLocPrep> <NP_taxi>; + + +<deliverPrep> = to; +<placePrep> = on; +<inLocPrep> = in; +<fromLocPrep> = from; +<toLocPrep> = to; +<atLocPrep> = at; +<talkPrep> = to; +<LocPrep> = in | at; +<onLocPrep> = on; +<arePrep> = are; + +<V_take> = bring | take | get | grasp | (pick up); +<V_place> = put | place; +<V_deliver> = bring | give | deliver; +<V_bring> = bring | give; +<V_go> = go | navigate; +<V_find> = find | locate | (look for); +<V_talk> = tell | say; +<V_answer> = answer; +<V_follow> = follow; +<V_meet> = meet | face | contact; +<V_guide> = guide | escort | take | lead | accompany; +<V_tell> = tell; +<V_count> = tell me how many; +<V_serve> = serve | arrange | deliver | distribute | give | provide; +<V_introduce> = introduce; +<V_ask> = ask; +<V_leave> = leave; + + +<NP_object> = (the <N_object>) | (a <N_object>) | (an <N_object>) | (<N_object>); +<NP_objectpron> = (<N_objectpron>); +<NP_category> = (the <N_category>) | <N_category>; +<NP_objectprop> = (the <N_objectprop>); +<NP_placement> = (the <N_placement>); +<NP_placementTwo> = (the <N_placementTwo>); +<NP_beacon> = (the <N_beacon>); +<NP_beaconTwo> = (the <N_beaconTwo>); +<NP_room> = (the <N_room>); +<NP_roomTwo> = (the <N_roomTwo>); +<NP_me> = (<N_me>); +<NP_gestperson> = (the <N_gestperson>) | (a <N_gestperson>); +<NP_poseperson> = (a <N_poseperson>); +<NP_genderperson> = (a <N_genderperson>); +<NP_genderpersonplural> = (<N_genderpersonplural>); +<NP_agegenderpersonplural> = (<N_agegenderpersonplural>); +<NP_name> = <N_name>; +<NP_talk> = <N_talk>; +<NP_answer> = <N_answer>; +<NP_personalpron> = <N_personalpron>; +<NP_personattribute> = (the <N_personattribute>); +<NP_posture> = <N_posture>; +<NP_taxi> = (the <N_taxi>); +<NP_partyfood> = <N_partyfood>; +<NP_door> = (the <N_door>); + +<N_objectpron> = it; +<N_objectprop> = biggest | largest | smallest | heaviest | lightest | thinnest; +<N_me> = me; +<N_gestperson> = (person waving) | (person (raising | rising) [their] (left|right) arm) | (person pointing to the (left|right)) | (person calling); +<N_poseperson> = (person sitting) | (person standing) | (person lying down); +<N_genderperson> = man | woman | boy | girl | (male person) | (female person); +<N_genderpersonplural> = men | women | boys | girls | male | female; +<N_agegenderpersonplural> = people | men | women | guests | elders | children; +<N_talk> = (something about yourself) | (the time) | (what day is (today | tomorrow)) | (your teams (name | country | affiliation)) | (the day of the (week | month)) | (a joke); +<N_answer> = (a question); +<N_personalpron> = them | her | him; +<N_personattribute> = name | gender | pose; +<N_posture> = sitting | standing | lying down; + +<N_object> = bleach | (dishwasher tab) | (tray) | (basket) | (bag) | (fork) | (knife) | spoon | plate | bowl | cup | milk | coke | milo | banana | pear | orange | peach | mustard | spam | sugar | pringles | crackers | cornflakes; +<N_category> = (cleaning supplies) | containers | cutlery | drinks | fruits | (pantry items) | snacks; +<N_room> = kitchen | (living room) | bedroom | (dining room); +<N_roomTwo> = kitchen | (living room) | bedroom | (dining room); +<N_placement> = (small cabinet) | (side table) | (ikea table); +<N_placementTwo> = (small cabinet) | (side table) | (ikea table); +<N_beacon> = (seat one) | (seat two) | (seat three) | (seat four) | (seat five) | (seat six) | (small cabinet) | (side table) | (ikea table) | exit | entrance; +<N_beaconTwo> = (seat one) | (seat two) | (seat three) | (seat four) | (seat five) | (seat six) | (small cabinet) | (side table) | (ikea table) | exit | entrance; +<N_name> = alex | charlie | elizabeth | francis | jennifer | linda | mary | patricia | james | john | michael | robert | robin | skyler | william; +<N_taxi> = taxi | cab | uber; +<N_partyfood> = snacks | drinks; +<N_door> = ( front | back | main | rear ) (entrance | door); +<N_garbage> = litter | garbage | trash | waste | debris | junk; +<N_luggage> = bag | baggage | valise | suitcase | trolley; + diff --git a/psGrammar/tasks/gpsr/gpsr23generic.jsgf b/psGrammar/tasks/gpsr/gpsr23generic.jsgf new file mode 100644 index 0000000000000000000000000000000000000000..ecfec8861d5300439b7c28082b3deac28a026376 --- /dev/null +++ b/psGrammar/tasks/gpsr/gpsr23generic.jsgf @@ -0,0 +1,162 @@ +#JSGF V1.0; +grammar speechRecognition; + +public <sentence> = [could you | robot | tobi] [please] (<singleCommand> | <commandChain>) + +<singleCommand> = <standalone>; + +<commandChain> = (<genLoc> [and|then] <reqLocGenPrs> [and|then] <reqPrs>) + | (<genLoc> [and|then] <reqLocGenPrs> [and|then] <noReq>) + | (<genLoc> [and|then] <reqLocGenItem> [and|then] <reqItem>) + | (<genLocPrs> [and|then] <reqPrs> [and|then] <reqPrsMOVE>) + | (<genLocPrs> [and|then] <reqPrs> [[and|then] <noReq>) + | (<genLocPrs> [and|then] <reqPrs> [[and|then] <noReq>]) + + +<noReq> = (<genLoc> | <genPrs> | <genItem>); + +<genLoc> = <goToLoc>; + +<genItem> = (<takeObjFromPlcmt> | <takeObj>); + +<genLocPrs> = (<meetPrsAtBeac> | <findPrsInRoom>); + +<reqLocGenPrs> = (<findPrs> | <meetName>); + +<reqLocGenItem>= <findObj>; + +<reqPrs> = (<followPrsToRoom> | <followPrs> | <guidePrsToBeacon> | <answerQuestion> | <talkInfo>; + +<reqLocPrs> = <guidePrsBack>; + +<reqItem> = (<deliverObjPronToMe> | <placeObjPronOnPlcmt> | <placeObjOnPlcmt> | <deliverObjToNameAtBeac>) + +<standalone> = <deliverObjToMe> | <deliverObjToGestPrsInRoom> | <countObjOnPlcmt> | <countPrsInRoom> | <tellPrsInfoInLoc> | <tellObjPropOnPlcmt> | | <followNameFromBeacToRoom> | <guideNameFromBeacToBeac> | <guideNameToBeacFindAtBeac> | <bringMeObj> | <bringMeObjFromPlcmt> | <tellCatPropOnPlcmt> | <findObjInRoom> | <talkInfoToGestPrsInRoom> | <answerToGestPrsInRoom>); + + + +<goToLoc> = <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>); + +<findObj> = <V_find> <NP_object>; +<findObjInRoom> = <V_find> (<NP_object> | <NP_category>) <inLocPrep> <NP_room>; + +<takeObj> = <V_take> <NP_object>; +<takeObjFromPlcmt> = <V_take> <NP_object> <fromLocPrep> (<NP_room> | <NP_placement>); + +<findPrs> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>); +<findPrsInRoom> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>) <inLocPrep> <NP_room>; + +<placeObjOnPlcmt> = <V_place> <NP_object> <placePrep> <NP_placement>; +<placeObjPronOnPlcmt> = <V_place> <NP_objectpron> <placePrep> <NP_placement>; + +<talkInfo> = <V_talk> <NP_talk>; +<talkInfoToGestPrsInRoom> = <V_talk> <NP_talk> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>; + +<answerQuestion> = <V_answer> <NP_answer>; +<answerToGestPrsInRoom> = <V_answer> <NP_answer> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>; + +<followPrs> = <V_follow> <NP_personalpron>; +<followPrsToRoom> = <V_follow> <NP_personalpron> <toLocPrep> <NP_roomTwo>; +<followNameFromBeacToRoom> = <V_follow> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_roomTwo>; + +<meetName> = <V_meet> <NP_name>; +<meetPrsAtBeac> = <V_meet> <NP_name> <atLocPrep> <NP_beacon>; + +<bringMeObj> = <V_bring> <NP_me> <NP_object>; +<bringMeObjFromPlcmt> = <V_bring> <NP_me> <NP_object> <fromLocPrep> <NP_placement>; + +<countObjOnPlcmt> = <V_count> (<NP_object> | <NP_category>) there are <placePrep> <NP_placement>; +<countPrsInRoom> = <V_count> people in <NP_room> <arePrep> (<NP_posture> | <NP_genderpersonplural>); + +<tellPrsInfoInLoc> = <V_tell> me <NP_personattribute> of the person <LocPrep> (<NP_room> | <NP_beacon>); +<tellObjPropOnPlcmt> = <V_tell> me ((what is) | whats) <NP_objectprop> object <onLocPrep> <NP_placement>; +<tellCatPropOnPlcmt> = <V_tell> me ((what is) | whats) <NP_objectprop> <NP_category> <onLocPrep> <NP_placement>; + +<deliverObjToMe> = <V_deliver> <NP_object> <deliverPrep> <NP_me>; +<deliverObjPronToMe> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_me>; +<deliverObjToGestPrsInRoom> = <V_deliver> [<NP_objectpron>] <NP_object> <deliverPrep> <NP_gestperson> <inLocPrep> <NP_roomTwo>; +<deliverObjToNameAtBeac> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_name> <atLocPrep> <NP_beaconTwo>; + +<guidePrsBack> = <V_guide> <NP_personalpron> back; +<guidePrsToBeacon> = <V_guide> <NP_personalpron> <toLocPrep> <NP_beaconTwo>; +<guideNameFromBeacToBeac> = <V_guide> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_beaconTwo>; +<guideNameToBeacFindAtBeac> = <V_guide> <NP_name> <toLocPrep> <NP_beaconTwo> you (may | can | will) find (them | him | her) <atLocPrep> <NP_beacon>; + + +<deliverPrep> = to; +<placePrep> = on; +<inLocPrep> = in; +<fromLocPrep> = from; +<toLocPrep> = to; +<atLocPrep> = at; +<talkPrep> = to; +<LocPrep> = in | at; +<onLocPrep> = on; +<arePrep> = are; + +<V_take> = bring | take | get | grasp | (pick up); +<V_place> = put | place; +<V_deliver> = bring | give | deliver; +<V_bring> = bring | give; +<V_go> = go | navigate; +<V_find> = find | locate | (look for); +<V_talk> = tell | say; +<V_answer> = answer; +<V_follow> = follow; +<V_meet> = meet | face | contact; +<V_guide> = guide | escort | take | lead | accompany; +<V_tell> = tell; +<V_count> = tell me how many; + +<NP_object> = (the <N_object>) | (a <N_object>) | (an <N_object>) | (<N_object>); +<NP_objectpron> = (<N_objectpron>); +<NP_category> = (the <N_category>) | <N_category>; +<NP_objectprop> = (the <N_objectprop>); +<NP_placement> = (the <N_placement>); +<NP_placementTwo> = (the <N_placementTwo>); +<NP_beacon> = (the <N_beacon>); +<NP_beaconTwo> = (the <N_beaconTwo>); +<NP_room> = (the <N_room>); +<NP_roomTwo> = (the <N_roomTwo>); +<NP_me> = (<N_me>); +<NP_gestperson> = (the <N_gestperson>) | (a <N_gestperson>); +<NP_poseperson> = (a <N_poseperson>); +<NP_genderperson> = (a <N_genderperson>); +<NP_genderpersonplural> = (<N_genderpersonplural>); +<NP_name> = <N_name>; +<NP_talk> = <N_talk>; +<NP_answer> = <N_answer>; +<NP_personalpron> = <N_personalpron>; +<NP_personattribute> = (the <N_personattribute>); +<NP_posture> = <N_posture>; + +<N_objectpron> = it; +<N_objectprop> = biggest | largest | smallest | heaviest | lightest | thinnest; +<N_me> = me; +<N_gestperson> = (person waving) | (person (raising | rising) [their] (left|right) arm) | (person pointing to the (left|right)) | (person calling); +<N_poseperson> = (person sitting) | (person standing) | (person lying down); +<N_genderperson> = man | woman | boy | girl | (male person) | (female person); +<N_genderpersonplural> = men | women | boys | girls | male | female; +<N_talk> = (something about yourself) | (the time) | (what day is (today | tomorrow)) | (your teams (name | country | affiliation)) | (the day of the (week | month)) | (a joke); +<N_answer> = (a question); +<N_personalpron> = them | her | him; +<N_personattribute> = name | gender | pose; +<N_posture> = sitting | standing | lying down; + +<N_object_old> = basket | cereals | cloth | (coconut milk) | coke | cornflakes | noodles | orange (juice | drink) | peas | plate | pringles | red bowl | salt | soap | sponge | (tomato paste) | water; +<N_object> = (chocolate milk) | milk | cola | (soap box) | (choco krispies) | bowl | plate | fork | knife | spoon | cup | lemon | banana | peach | pear; +<N_category_old> = care | drink | (cleaning stuff) | container | food | snack | cutlery; +<N_category> = fruits | cutlery | drinks | snacks | (pantry items); +<N_room_old> = corridor | (living room) | kitchen | (bath room); +<N_room> = kitchen | (living room) | hallway | bathroom | office; +<N_roomTwo> = corridor | (living room) | kitchen | (bath room); +<N_placement_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar; +<N_placementTwo_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar; +<N_placement> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation; +<N_placementTwo> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation; +<N_beacon_old> = (living table) | sink | bar | sofa | fridge | (comfy chair); +<N_beaconTwo_old> = (living table) | sink | bar | sofa | fridge | (comfy chair); +<N_beacon> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation; +<N_beaconTwo> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation; +<N_name_old> = emma | olivia | sophia | ava | isabella | mia | abigail | emily | charlotte | harper | noah | liam | mason | jacob | william | ethan | james | alexander | michael | benjamin; +<N_name> = amelia | angel | ava | charlie | charlotte | hunter | max | mia | olivia | parker | sam | jack | noah | oliver | thomas | william; diff --git a/psGrammar/tasks/receptionist/getDrink.jsgf b/psGrammar/tasks/receptionist/getDrink.jsgf index 9d94b0bb085d9729fb1c263136ef9eb27eaa9691..29e5e1376746248bd416e7eff1582bebf14563b9 100644 --- a/psGrammar/tasks/receptionist/getDrink.jsgf +++ b/psGrammar/tasks/receptionist/getDrink.jsgf @@ -8,6 +8,6 @@ public <drinkstring> = [<prefix>] <drink> [<robot>]; <ilike> = (i like); -<drink> = ( (apple_juice) | (iso_drink) | (orange_juice) | (red_spritzer) | (sparkling_water) | (milk) | (coke) | (water) | (lemon juice)); +<drink> = ( (apple_juice) | (iso_drink) | (orange_juice) | (red_spritzer) | (sparkling_water) | (milk) | (coke) | (water) | (lemon juice) | (milk) | (chocolate_milk) | (cola)); <robot> = (tobi) | (robot) | (biron) | (pepper); diff --git a/psGrammar/tasks/receptionist/getName.jsgf b/psGrammar/tasks/receptionist/getName.jsgf index 0351cad0fed92e9f43abefa13f2697cb2a9b022d..5bf5a8006fc4e61bc2922117f7531b6619204f8c 100644 --- a/psGrammar/tasks/receptionist/getName.jsgf +++ b/psGrammar/tasks/receptionist/getName.jsgf @@ -10,6 +10,6 @@ public <namestring> = [<prefix>] <name> [<robot>]; <callme> = (call me); -<name> = sophia | isabella | emma | olivia | ava | emily | abigail | madison | mia | chloe | james | john | robert | michael | william | david | richard | charles | joseph | thomas; +<name> = (amelia) | (angel) | (ava) | (charlie) | (charlotte) | (hunter) | (max) | (mia) | (olivia) | (parker) | (sam) | (jack) | (noah) | (oliver) | (thomas) | (william); <robot> = (tobi) | (robot) | (biron) | (pepper);