├── kga2c ├── spm_models │ └── unigram_8k.model ├── openie.py ├── train.py ├── vec_env.py ├── env.py └── representations.py ├── data ├── adventureland_relation2id.tsv ├── deephome_relation2id.tsv ├── zork3_relation2id.tsv ├── inhumane_relation2id.tsv ├── advent_relation2id.tsv ├── balances_relation2id.tsv ├── detective_relation2id.tsv ├── weapon_relation2id.tsv ├── ludicorp_relation2id.tsv ├── omniquest_relation2id.tsv ├── spellbrkr_relation2id.tsv ├── reverb_relation2id.tsv ├── acorncourt_relation2id.tsv ├── deephome_entity2id.tsv ├── spirit_relation2id.tsv ├── zenon_relation2id.tsv ├── yomomma_relation2id.tsv ├── inhumane_entity2id.tsv ├── zork3_entity2id.tsv ├── enchanter_relation2id.tsv ├── moonlit_relation2id.tsv ├── 905_relation2id.tsv ├── karn_relation2id.tsv ├── zork1_relation2id.tsv ├── balances_entity2id.tsv ├── advent_entity2id.tsv ├── awaken_relation2id.tsv ├── ztuu_relation2id.tsv ├── library_relation2id.tsv ├── gold_relation2id.tsv ├── omniquest_entity2id.tsv ├── tryst205_relation2id.tsv ├── sorcerer_relation2id.tsv ├── 905_entity2id.tsv ├── yomomma_entity2id.tsv ├── zenon_entity2id.tsv ├── temple_relation2id.tsv ├── jewel_relation2id.tsv ├── ludicorp_entity2id.tsv ├── detective_entity2id.tsv ├── karn_entity2id.tsv ├── weapon_entity2id.tsv ├── pentari_relation2id.tsv ├── awaken_entity2id.tsv ├── dragon_relation2id.tsv ├── moonlit_entity2id.tsv ├── snacktime_relation2id.tsv ├── acorncourt_entity2id.tsv ├── tryst205_entity2id.tsv ├── enchanter_entity2id.tsv ├── reverb_entity2id.tsv ├── spirit_entity2id.tsv ├── snacktime_entity2id.tsv ├── anchor_relation2id.tsv ├── temple_entity2id.tsv ├── spellbrkr_entity2id.tsv ├── zork1_entity2id.tsv ├── library_entity2id.tsv ├── adventureland_entity2id.tsv └── ztuu_entity2id.tsv ├── LICENSE.md ├── README.md └── .gitignore /kga2c/spm_models/unigram_8k.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajammanabrolu/KG-A2C/HEAD/kga2c/spm_models/unigram_8k.model -------------------------------------------------------------------------------- /data/adventureland_relation2id.tsv: -------------------------------------------------------------------------------- 1 | 're_on 0 2 | 're 1 3 | ring_of 2 4 | was 3 5 | see 4 6 | special_about 5 7 | in 6 8 | rotted 7 9 | is_with 8 10 | are 9 11 | have 10 12 | has 11 13 | bunyon_on 12 14 | reads 13 15 | reads_back 14 16 | -------------------------------------------------------------------------------- /data/deephome_relation2id.tsv: -------------------------------------------------------------------------------- 1 | blocks 0 2 | 's_fixed_in 1 3 | abode_in 2 4 | north_way 3 5 | have 4 6 | can_see_here 5 7 | is_in 6 8 | in 7 9 | abode_of 8 10 | is 9 11 | back_north_way 10 12 | can_also_see 11 13 | can_see 12 14 | came_from 13 15 | can_also_see_here 14 16 | has 15 17 | back_way 16 18 | way 17 19 | -------------------------------------------------------------------------------- /data/zork3_relation2id.tsv: -------------------------------------------------------------------------------- 1 | can_make_out_bottom_to 0 2 | is 1 3 | are_at 2 4 | is_to 3 5 | has 4 6 | friend 5 7 | in 6 8 | have 7 9 | can_make_out 8 10 | winding 9 11 | coming_from 10 12 | is_at 11 13 | winding_upward 12 14 | widens_out_into 13 15 | casts 14 16 | casts_shadows_on 15 17 | has_smashed_into 16 18 | -------------------------------------------------------------------------------- /data/inhumane_relation2id.tsv: -------------------------------------------------------------------------------- 1 | is_on 0 2 | kept 1 3 | be 2 4 | can_also_see_here 3 5 | flickers 4 6 | can_see 5 7 | has 6 8 | borrowed_from 7 9 | have_stumbled_over 8 10 | was 9 11 | is_in 10 12 | attract 11 13 | seems 12 14 | can_also_see 13 15 | cleaned 14 16 | cleaned_everything_out 15 17 | in 16 18 | is 17 19 | lying_is_on 18 20 | have 19 21 | can_see_here 20 22 | -------------------------------------------------------------------------------- /data/advent_relation2id.tsv: -------------------------------------------------------------------------------- 1 | house_for 0 2 | have 1 3 | taking 2 4 | can_see_here 3 5 | washes_away_with 4 6 | has_run_out_of 5 7 | is_in 6 8 | inside_building_is 7 9 | have_walked_up 8 10 | switch_on 9 11 | in 10 12 | have_walked_up_hill_at 11 13 | taking_unfortunately 12 14 | is_to 13 15 | is_full_of 14 16 | first_taking 15 17 | have_walked_up_at 16 18 | can_also_see 17 19 | can_also_see_here 18 20 | seem 19 21 | switch_off 20 22 | is_now_full_of 21 23 | first_taking_unfortunately 22 24 | is 23 25 | is_here 24 26 | was 25 27 | can_see 26 28 | are_inside 27 29 | is_getting 28 30 | has 29 31 | unfortunately_seem 30 32 | -------------------------------------------------------------------------------- /data/balances_relation2id.tsv: -------------------------------------------------------------------------------- 1 | lived_until 0 2 | extend_to 1 3 | has_just_gone_up_by 2 4 | can_also_see_here 3 5 | runs_out 4 6 | can_see 5 7 | sprout 6 8 | has 7 9 | runs_north_to 8 10 | is_here 9 11 | end_up_back_at 10 12 | reads 11 13 | was 12 14 | find 13 15 | is_in 14 16 | has_gone_up_by 15 17 | begins_to 16 18 | come_across 17 19 | sway_over 18 20 | got_to 19 21 | can_also_see 20 22 | sifting_through 21 23 | lived_here_until 22 24 | feel 23 25 | munching_on 24 26 | pick_up_for 25 27 | retreat_for 26 28 | got 27 29 | runs_to 28 30 | are 29 31 | in 30 32 | is 31 33 | have 32 34 | begins_softly_to 33 35 | can_see_here 34 36 | -------------------------------------------------------------------------------- /data/detective_relation2id.tsv: -------------------------------------------------------------------------------- 1 | walk_over_to 0 2 | hit 1 3 | nods_at 2 4 | see 3 5 | jumps_up_with 4 6 | is_pink_with 5 7 | kill 6 8 | in 7 9 | scored 8 10 | is_to 9 11 | has_just_gone_up_by 10 12 | can_see 11 13 | can_go 12 14 | get_weapon_from 13 15 | getting 14 16 | can_only_go 15 17 | can_see_here 16 18 | score_for 17 19 | full_score_for 18 20 | is 19 21 | angrier_blocks 20 22 | are_at 21 23 | seems 22 24 | walk_to 23 25 | calm_down_for 24 26 | go_up 25 27 | just_kill 26 28 | probably_kill 27 29 | would_like 28 30 | has_gone_up_by 29 31 | get 30 32 | have 31 33 | was 32 34 | reveal 33 35 | probably_just_kill 34 36 | pass 35 37 | has 36 38 | reveal_teeth_out_of 37 39 | blocks 38 40 | motions 39 41 | -------------------------------------------------------------------------------- /data/weapon_relation2id.tsv: -------------------------------------------------------------------------------- 1 | keep 0 2 | sits_in 1 3 | have 2 4 | uncomfortable_with 3 5 | reproduction_of 4 6 | 're_going 5 7 | is_broken_up_by 6 8 | get 7 9 | can_keep 8 10 | is_in 9 11 | so_can_keep_tabs_on 10 12 | just_so_can_keep_tabs_on 11 13 | in 12 14 | 've_worked 13 15 | 've_worked_together 14 16 | 'm 15 17 | do 16 18 | monitor 17 19 | monitor_activity_everywhere 18 20 | win 19 21 | just_so_can_keep 20 22 | sits_atop 21 23 | hovering_over 22 24 | monitor_everywhere 23 25 | monitor_activity 24 26 | can_keep_tabs_on 25 27 | makes 26 28 | surrounding 27 29 | has 28 30 | watching 29 31 | so_can_keep 30 32 | watching_closely 31 33 | shows 32 34 | holographic_reproduction_of 33 35 | is_broken_up_in 34 36 | -------------------------------------------------------------------------------- /data/ludicorp_relation2id.tsv: -------------------------------------------------------------------------------- 1 | can_enter_door_to 0 2 | continue_down 1 3 | leads_north_between 2 4 | blocks_delivery_bay_to 3 5 | estimate 4 6 | in 5 7 | 'd_need 6 8 | can_enter 7 9 | can_see 8 10 | was 9 11 | come_out_here 10 12 | open 11 13 | sitting_on 12 14 | block 13 15 | lies_at 14 16 | leads_between 15 17 | out_leads 16 18 | is_in 17 19 | are_next_to 18 20 | actually_rides 19 21 | has 20 22 | are 21 23 | can_see_through 22 24 | are_lodged 23 25 | lies 24 26 | lie_to 25 27 | leads 26 28 | mounted_by 27 29 | parked_over_in 28 30 | is_inches_of 29 31 | have 30 32 | blocks 31 33 | point_to 32 34 | lies_to 33 35 | is_few_inches_of 34 36 | are_in 35 37 | come_out 36 38 | is 37 39 | rides 38 40 | are_sitting_inside 39 41 | can_see_here 40 42 | coil_of 41 43 | point_at 42 44 | -------------------------------------------------------------------------------- /data/omniquest_relation2id.tsv: -------------------------------------------------------------------------------- 1 | continue_into 0 2 | leading_into 1 3 | go_around 2 4 | is_entrance_to 3 5 | path 4 6 | goes_back 5 7 | sound 6 8 | small_path 7 9 | can_see 8 10 | has 9 11 | is_apparently_brief_widening_of 10 12 | appears 11 13 | goes_back_way_of 12 14 | is_apparently_widening_of 13 15 | has_cut_passages_into 14 16 | is_in 15 17 | goes_way_of 16 18 | have 17 19 | open 18 20 | forks_to 19 21 | seems 20 22 | begins 21 23 | take_off 22 24 | toss 23 25 | goes_back_of 24 26 | is_brief_widening_of 25 27 | goes_of 26 28 | lead_into 27 29 | is_widening_of 28 30 | in 29 31 | small_path_here 30 32 | toss_away 31 33 | has_cut 32 34 | is 33 35 | winding_around 34 36 | is_to 35 37 | path_here 36 38 | taking 37 39 | put_on 38 40 | goes 39 41 | first_taking 40 42 | can_see_here 41 43 | -------------------------------------------------------------------------------- /data/spellbrkr_relation2id.tsv: -------------------------------------------------------------------------------- 1 | look_under 0 2 | face 1 3 | wander_for 2 4 | is 3 5 | left_behind_is_on 4 6 | flees_across 5 7 | charges_south_into 6 8 | are_beginning_to 7 9 | is_exit_to 8 10 | has 9 11 | is_left_of 10 12 | home_of 11 13 | drifts_in_through 12 14 | charges_into 13 15 | are_feeling 14 16 | do_do_with 15 17 | blocks 16 18 | refreshing 17 19 | was 18 20 | are_moving_on 19 21 | runs 20 22 | are 21 23 | are_getting 22 24 | do_mean 23 25 | taking 24 26 | sleep 25 27 | passes 26 28 | turning_to 27 29 | wander_around_for 28 30 | fills 29 31 | is_to 30 32 | is_in 31 33 | is_out 32 34 | left_is_on 33 35 | retorts 34 36 | stretch_out_on 35 37 | feels 36 38 | taking_first 37 39 | in 38 40 | have 39 41 | end_up_back_in 40 42 | home_for 41 43 | is_running_out 42 44 | dream_of 43 45 | end_up_in 44 46 | -------------------------------------------------------------------------------- /data/reverb_relation2id.tsv: -------------------------------------------------------------------------------- 1 | do 0 2 | go 1 3 | are_lined_with 2 4 | serving_you_at 3 5 | see 4 6 | in 5 7 | murmur 6 8 | stand_business_district_by 7 9 | is_to 8 10 | runs 9 11 | saws 10 12 | runs_with 11 13 | walks_past 12 14 | stand_by 13 15 | were 14 16 | cake_for 15 17 | can_see 16 18 | floor_to 17 19 | stand 18 20 | mayor_of 19 21 | approaching 20 22 | stand_in 21 23 | make 22 24 | could_return_to 23 25 | are_approaching 24 26 | carrying 25 27 | can_see_here 26 28 | hail 27 29 | is_in 28 30 | is 29 31 | 's_in 30 32 | goes 31 33 | can_see_office_door_to 32 34 | go_up 33 35 | can_go_to 34 36 | were_supposed 35 37 | are 36 38 | have 37 39 | bakes 38 40 | are_approaching_center_near 39 41 | of 40 42 | 're 41 43 | special_about 42 44 | at 43 45 | asked 44 46 | runs_by 45 47 | stand_business_district_in 46 48 | has 47 49 | can_go_northwest_to 48 50 | chicks_meet_at_time 49 51 | -------------------------------------------------------------------------------- /data/acorncourt_relation2id.tsv: -------------------------------------------------------------------------------- 1 | falling_to 0 2 | falling_back_to 1 3 | accompanies 2 4 | bounces 3 5 | sized_courtyard_with 4 6 | launches_out_of 5 7 | ball_in 6 8 | by 7 9 | accompanies_down 8 10 | can_also_see_here 9 11 | can_see 10 12 | has 11 13 | good_courtyard_with 12 14 | was 13 15 | knocks_bucket_over 14 16 | is_in 15 17 | begins_to 16 18 | knocks 17 19 | bounces_about 18 20 | made_of 19 21 | rustle_on 20 22 | casts 21 23 | put_tin_bucket_into 22 24 | can_also_see 23 25 | nestled_among 24 26 | among 25 27 | bounces_off 26 28 | put 27 29 | are_above 28 30 | is_with 29 31 | incrusted_with 30 32 | is_near 31 33 | looks_like 32 34 | begins_back_to 33 35 | balls_in 34 36 | put_tennis_ball_into 35 37 | rests_in 36 38 | in 37 39 | launching 38 40 | rustle_about_on 39 41 | is 40 42 | good_sized_courtyard_with 41 43 | casts_shadows_in 42 44 | have 43 45 | can_see_here 44 46 | courtyard_with 45 47 | -------------------------------------------------------------------------------- /data/deephome_entity2id.tsv: -------------------------------------------------------------------------------- 1 | you_came_from_homes_through_barred_door 0 2 | 1 3 | king_'s_order 2 4 | telleen 3 5 | way_into_city_of_deephome 4 6 | place 5 7 | inward 6 8 | homes 7 9 | homes_through_wooden_door 8 10 | secret_entrance 9 11 | dark 10 12 | that 11 13 | homes_through_heavily_barred_wooden_door 12 14 | lantern_(providing_light) 13 15 | lantern 14 16 | order 15 17 | king 16 18 | you_came_from_homes_through_door 17 19 | you_came_from_homes_through_wooden_door 18 20 | homes_through_barred_door 19 21 | wooden 20 22 | you_came 21 23 | homes_through_door 22 24 | you_came_from_homes 23 25 | you 24 26 | light 25 27 | dwarves 26 28 | you_came_from_homes_through_heavily_barred_door 27 29 | Order 28 30 | this 29 31 | Secret_Entrance 30 32 | abode 31 33 | homes_through_heavily_barred_door 32 34 | homes_through_barred_wooden_door 33 35 | way_into_city 34 36 | door 35 37 | entrance 36 38 | way 37 39 | -------------------------------------------------------------------------------- /data/spirit_relation2id.tsv: -------------------------------------------------------------------------------- 1 | crossroads_in 0 2 | filled_crossroads_in 1 3 | 're_at 2 4 | are_greeted_by 3 5 | rises_to 4 6 | can_see 5 7 | could_also_slide_down 6 8 | has_passed_through 7 9 | has 8 10 | area_for 9 11 | sitting_in 10 12 | was 11 13 | can_see_bank_from 12 14 | is_in 13 15 | overlooking 14 16 | can_see_here 15 17 | covered 16 18 | lead_towards 17 19 | seeing 18 20 | can_just_see_bank_from 19 21 | 've_made 20 22 | sits 21 23 | could_slide_down 22 24 | exit_to 23 25 | is_blocked_after 24 26 | is_with 25 27 | also_continues 26 28 | continues 27 29 | is_here_in 28 30 | is_up 29 31 | are_climbing_up 30 32 | sitting_squat_in 31 33 | lead_north_towards 32 34 | rises_towards 33 35 | are_at 34 36 | are 35 37 | is_blocked_by 36 38 | in 37 39 | ringed_by 38 40 | is 39 41 | leads 40 42 | leads_downwards_to 41 43 | room_with 42 44 | can_just_see 43 45 | have 44 46 | lies_to 45 47 | 's_here 46 48 | lie_to 47 49 | -------------------------------------------------------------------------------- /data/zenon_relation2id.tsv: -------------------------------------------------------------------------------- 1 | open 0 2 | to 1 3 | special_about 2 4 | key_on 3 5 | throws 4 6 | get_out_of 5 7 | locking_door_behind 6 8 | throws_back_in 7 9 | picks_up 8 10 | may_break 9 11 | must_complain_to 10 12 | ever_get_out_of 11 13 | is 12 14 | switch_on 13 15 | switch_back_on 14 16 | discover 15 17 | also_see 16 18 | in 17 19 | will 18 20 | jump_on 19 21 | soon_picks_up 20 22 | find 21 23 | throws_in 22 24 | key_onto 23 25 | locking 24 26 | really_must_complain 25 27 | must_complain 26 28 | is_dirtier_than 27 29 | as_soon_picks_up 28 30 | switch 29 31 | pick_up 30 32 | 'll_have 31 33 | have 32 34 | has 33 35 | put_steel_key_on 34 36 | toss 35 37 | toss_wall_onto 36 38 | is_on 37 39 | can_see_here 38 40 | first_taking 39 41 | switch_off 40 42 | hear 41 43 | is_in 42 44 | unlock 43 45 | taking 44 46 | can_see 45 47 | lock 46 48 | are_carrying 47 49 | jump_fruitlessly_on 48 50 | would_achieve 49 51 | see 50 52 | would_achieve_nothing_by 51 53 | really_must_complain_to 52 54 | throws_back 53 55 | put 54 56 | -------------------------------------------------------------------------------- /data/yomomma_relation2id.tsv: -------------------------------------------------------------------------------- 1 | shall_battle 0 2 | in 1 3 | are_at 2 4 | showing 3 5 | first_taking 4 6 | wad_of 5 7 | are 6 8 | has_drawn_tonight 7 9 | cover_completely 8 10 | just_climbing_on 9 11 | can_challenge 10 12 | 're_wearing 11 13 | dark_and_gloomy_shadows_around 12 14 | can_challenge_gus 13 15 | is_in 14 16 | makes 15 17 | see_unfortunately 16 18 | has 17 19 | unexpected_in 18 20 | have 19 21 | find_wad_under 20 22 | put_track_jacket_on 21 23 | searching 22 24 | has_drawn_here 23 25 | somebody_in 24 26 | find 25 27 | taking 26 28 | put_on 27 29 | is_making 28 30 | wearing_hip_hop_clothes_like 29 31 | continues_in 30 32 | is 31 33 | create 32 34 | has_drawn 33 35 | are_painted_on 34 36 | sit_on 35 37 | gesturing 36 38 | see 37 39 | express 38 40 | take_off 39 41 | bathes_in 40 42 | has_drawn_here_tonight 41 43 | cover 42 44 | dark_shadows_around 43 45 | put 44 46 | wearing 45 47 | 're_carrying 46 48 | special_about 47 49 | sits_behind 48 50 | climbing_on 49 51 | shadows_around 50 52 | is_on 51 53 | fresh_wad_of 52 54 | 's_under 53 55 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Prithviraj Ammanabrolu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /kga2c/openie.py: -------------------------------------------------------------------------------- 1 | import json 2 | import requests 3 | import logging 4 | 5 | 6 | def call_stanford_openie(sentence): 7 | url = "http://localhost:9000/" 8 | querystring = { 9 | "properties": "%7B%22annotators%22%3A%20%22openie%22%7D", 10 | "pipelineLanguage": "en"} 11 | try: 12 | response = requests.request("POST", url, data=sentence, params=querystring) 13 | response = json.JSONDecoder().decode(response.text) 14 | except: 15 | print("OpenIE error") 16 | logging.debug('OpenIE Error: ' + sentence) 17 | response = {"sentences": ""} 18 | return response 19 | 20 | 21 | def call_stanford_pos(sentence): 22 | url = "http://localhost:9000/" 23 | querystring = { 24 | "properties": "%7B%22annotators%22%3A%20%22openie%22%7D", 25 | "pipelineLanguage": "en"} 26 | try: 27 | response = requests.request("POST", url, data=sentence, params=querystring) 28 | response = json.JSONDecoder().decode(response.text) 29 | except: 30 | print("OpenIE error") 31 | logging.debug('OpenIE Error: ' + sentence) 32 | response = {"sentences": ""} 33 | return response -------------------------------------------------------------------------------- /data/inhumane_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | all 1 3 | your_tent_in_encampment 2 4 | ignite 3 5 | toilet 4 6 | exit_to_up 5 7 | your 6 8 | few_times 7 9 | ground 8 10 | party 9 11 | signal 10 12 | Center_of_Camp 11 13 | your_attention 12 14 | roboff_'s_tent_to_south 13 15 | radio 14 16 | that 15 17 | Storage_Tent 16 18 | east 17 19 | radio_button 18 20 | completely_deserted 19 21 | deserted 20 22 | tent_to_south 21 23 | button 22 24 | sweating 23 25 | its_supplies 24 26 | floor 25 27 | west 26 28 | arrows 27 29 | brass_torch 28 30 | torch_(providing_light) 29 31 | your_tent 30 32 | ancient_jeweled_amulet 31 33 | entire_place 32 34 | wall 33 35 | ignite_button 34 36 | handle 35 37 | self 36 38 | note 37 39 | exit_to_south 38 40 | several_arrows 39 41 | south 40 42 | roboff_'s_tent 41 43 | shovel 42 44 | place 43 45 | exit_to_down 44 46 | rhetorical 45 47 | open_desert 46 48 | times 47 49 | mr._meshugge 48 50 | Roboff's_Tent 49 51 | in_your_tent_your_tent_in_encampment 50 52 | you 51 53 | brass 52 54 | In_Your_Tent 53 55 | encampment 54 56 | roboff 55 57 | torch 56 58 | jeweled_amulet 57 59 | desert 58 60 | francisco_roboff_'s_tent 59 61 | amulet 60 62 | ancient_amulet 61 63 | everything 62 64 | supplies 63 65 | torch_button 64 66 | exit_to_west 65 67 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # KG-A2C 2 | Goal driven language generation using knowledge graph A2C agents. This code accompanies the paper [Graph Constrained Reinforcement Learning for Natural Language Action Spaces](https://openreview.net/forum?id=B1x6w0EtwH). 3 | 4 | Bibtex 5 | ``` 6 | @inproceedings{ 7 | ammanabrolu2020graph, 8 | title={Graph Constrained Reinforcement Learning for Natural Language Action Spaces}, 9 | author={Prithviraj Ammanabrolu and Matthew Hausknecht}, 10 | booktitle={International Conference on Learning Representations}, 11 | year={2020}, 12 | url={https://openreview.net/forum?id=B1x6w0EtwH} 13 | } 14 | ``` 15 | # Quickstart 16 | Install Dependencies: Jericho, Redis, Pytorch >= 1.2 17 | ```bash 18 | pip3 install --user jericho 19 | pip3 install torch torchvision 20 | sudo apt-get install redis-server 21 | ``` 22 | 23 | Download and extract [Stanford CoreNLP](https://stanfordnlp.github.io/CoreNLP/download.html) then start the OpenIE server: 24 | ```bash 25 | cd stanford-corenlp-full-2018-10-05/ && java -mx8g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000 26 | ``` 27 | 28 | Train KG-A2C 29 | ```bash 30 | cd kga2c && python train.py --rom_file_path path_to_your_rom --openie_path path_to_your_openie_install --tsv_file ../data/rom_name_here 31 | ``` 32 | -------------------------------------------------------------------------------- /data/zork3_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | shadows 1 3 | endless_stair 2 4 | Junction 3 5 | your_old_friend 4 6 | you 5 7 | likely 6 8 | Barren_Area 7 9 | stair 8 10 | bottom_of_seemingly_endless_stair 9 11 | light 10 12 | your_feet 11 13 | now_on 12 14 | long 13 15 | exit_to_west 14 16 | area 15 17 | junction 16 18 | all_around_you 17 19 | exit_to_east 18 20 | wall 19 21 | winding 20 22 | grue 21 23 | exit_to_south 22 24 | elvish_sword 23 25 | on 24 26 | passage 25 27 | dark 26 28 | exit_to_southwest 27 29 | your 28 30 | lamp 29 31 | bottom_of_stairway 30 32 | sword 31 33 | mist 32 34 | great 33 35 | imbedded 34 36 | elvish 35 37 | west 36 38 | dark_trail 37 39 | junction_of_passage 38 40 | exit_to_up 39 41 | junction_of_north_south_passage 40 42 | bottom_of_stair 41 43 | walls 42 44 | brass_lantern 43 45 | black 44 46 | all 45 47 | exit_to_north 46 48 | now_off 47 49 | south 48 50 | exit_to_northwest 49 51 | floor 50 52 | junction_of_north_passage 51 53 | bottom 52 54 | It_is_pitch_black._You_are_likely_to_be_eaten_by_a_grue. 53 55 | broken 54 56 | broken_brass_lantern 55 57 | lantern 56 58 | your_friend 57 59 | junction_of_south_passage 58 60 | bottom_of_endless_stair 59 61 | strange_shadows 60 62 | north 61 63 | great_rock 62 64 | rock 63 65 | Endless_Stair 64 66 | off 65 67 | brass 66 68 | its_way 67 69 | eerie_light 68 70 | trail 69 71 | -------------------------------------------------------------------------------- /data/enchanter_relation2id.tsv: -------------------------------------------------------------------------------- 1 | forms_out_of 0 2 | are_walking_along 1 3 | stretches_out_of 2 4 | has_now_risen_above 3 5 | returning_frequently_to 4 6 | will_do 5 7 | shine_from 6 8 | stand_at 7 9 | are_beginning 8 10 | looks 9 11 | sits_beside 10 12 | want 11 13 | hear 12 14 | base_of 13 15 | stretches_through 14 16 | returning_to 15 17 | have 16 18 | are_at 17 19 | is_rising_over 18 20 | ensues 19 21 | is_disturbed_after 20 22 | ensues_with 21 23 | open 22 24 | look_for 23 25 | does_look_through 24 26 | has_risen_above 25 27 | look_inside 26 28 | is_in 27 29 | are_becoming 28 30 | carefully_enclosing 29 31 | rests_on 30 32 | are_beginning_to 31 33 | do_mean 32 34 | in 33 35 | worried_by 34 36 | is_lit_by 35 37 | providing_light_fork_stand_at 36 38 | feel 37 39 | stretches_to 38 40 | is_to 39 41 | circling 40 42 | stand 41 43 | set_in 42 44 | precisely_want 43 45 | seem_to 44 46 | seem 45 47 | is_starting 46 48 | starts 47 49 | enclosing 48 50 | is 49 51 | pass_out_from 50 52 | awaken_among 51 53 | shine_down_from 52 54 | shine_on 53 55 | now_risen_above 54 56 | catch 55 57 | is_getting 56 58 | refreshing 57 59 | is_rising_to 58 60 | are 59 61 | risen_above 60 62 | hear_nearby 61 63 | glimpse_of 62 64 | has 63 65 | renewing 64 66 | shine_down_on 65 67 | spread 66 68 | passes 67 69 | set_behind 68 70 | is_disturbed_by 69 71 | rustling_in 70 72 | are_remains_of 71 73 | reappears_in 72 74 | -------------------------------------------------------------------------------- /data/moonlit_relation2id.tsv: -------------------------------------------------------------------------------- 1 | withstands 0 2 | lies 1 3 | too_subtle_for 2 4 | gather_around 3 5 | could_spin_back 4 6 | get_off 5 7 | carved_with 6 8 | appears_upon 7 9 | already_has 8 10 | put_clay_ocarina_on 9 11 | is_heedless_of 10 12 | in 11 13 | move_subtly 12 14 | can_see_porcelain_mask_on 13 15 | take_on 14 16 | mass_of 15 17 | get_onto 16 18 | put_tortoise_shell_comb_on 17 19 | taking 18 20 | unhindered_by 19 21 | confine_as_surely 20 22 | diffuses_through 21 23 | already_has_place_in 22 24 | invites 23 25 | wore 24 26 | can_see 25 27 | carved_upward_with 26 28 | tracing_out_sigils_in 27 29 | can_see_here 28 30 | can_see_clay_ocarina_on 29 31 | rests_at 30 32 | saw 31 33 | suggest 32 34 | spin 33 35 | hangs_from 34 36 | is 35 37 | is_in 36 38 | confine 37 39 | could_spin 38 40 | change 39 41 | are_none_of 40 42 | subtle_for 41 43 | are_in 42 44 | rises 43 45 | put_ivory_chopsticks_on 44 46 | gives 45 47 | tracing_out 46 48 | is_with 47 49 | put_porcelain_mask_on 48 50 | are 49 51 | have 50 52 | confine_surely 51 53 | can_see_ivory_chopsticks_on 52 54 | flung_against 53 55 | adorned_with 54 56 | as 55 57 | rests_between 56 58 | has_place_in 57 59 | breaking 58 60 | shapes_of 59 61 | 're 60 62 | put 61 63 | was 62 64 | at 63 65 | live_amid 64 66 | are_on 65 67 | curiously_live_amid 66 68 | are_much_in 67 69 | comes_from 68 70 | find 69 71 | crumble_into 70 72 | is_on 71 73 | has 72 74 | get_off_first 73 75 | move 74 76 | cry_'s 75 77 | -------------------------------------------------------------------------------- /data/905_relation2id.tsv: -------------------------------------------------------------------------------- 1 | take_off 0 2 | is_spare_with 1 3 | restore 2 4 | pick_up 3 5 | can 4 6 | license_'s 5 7 | put_clothing_into 6 8 | get_out_of 7 9 | is_extremely_spare_with 8 10 | is 9 11 | can_see_gold_watch 10 12 | is_in 11 13 | can_see_keys_in 12 14 | put_keys_on 13 15 | have 14 16 | lies_to 15 17 | once_'s_done_with 16 18 | is_on 17 19 | is_parked_here_in 18 20 | lies 19 21 | take_off_clothing_on 20 22 | was_blocked 21 23 | get_into 22 24 | see 23 25 | wait 24 26 | license_in 25 27 | put_clothing_on 26 28 | can_see_wallet_in 27 29 | is_with 28 30 | put_gold_watch_into 29 31 | take_off_clothing_in 30 32 | bedroom_to 31 33 | can_see_gold_watch_in 32 34 | feel_like 33 35 | crank_up 34 36 | notice 35 37 | put 36 38 | vanish_without 37 39 | put_wallet_on 38 40 | can_also_see_gold_watch 39 41 | get_back_into 40 42 | written_by 41 43 | turn_on 42 44 | put_pop-tart_on 43 45 | first_taking 44 46 | haphazardly_all_over 45 47 | step_into 46 48 | drop 47 49 | get_first_out_of 48 50 | can_see_id_card_in 49 51 | can_see_clothing_in 50 52 | can_see_here 51 53 | open 52 54 | was_blocked_anyway 53 55 | put_keys_into 54 56 | card_in 55 57 | start_up 56 58 | making 57 59 | all_over 58 60 | is_nicer_than 59 61 | would_like 60 62 | is_parked_in 61 63 | 's_license_is 62 64 | can_also_see_here 63 65 | tested_by 64 66 | was_at 65 67 | see_corpse_under 66 68 | cruise_down 67 69 | can_also_see 68 70 | suddenly_drop 69 71 | 'll 70 72 | put_on 71 73 | put_id_card_into 72 74 | was 73 75 | are_on 74 76 | keep 75 77 | have_died 76 78 | can_see 77 79 | put_wallet_into 78 80 | merge_onto 79 81 | has 80 82 | put_id_card_on 81 83 | taking 82 84 | put_gold_watch_on 83 85 | revealing 84 86 | 'll_have 85 87 | -------------------------------------------------------------------------------- /data/karn_relation2id.tsv: -------------------------------------------------------------------------------- 1 | 're_on 0 2 | store_things_in 1 3 | connects 2 4 | see 3 5 | begins 4 6 | prevents 5 7 | 've_almost_emptied_out 6 8 | located_is_above 7 9 | upwards_into 8 10 | stretch_on 9 11 | going_in 10 12 | 's_on 11 13 | 've_thrown_together_at 12 14 | however_'ve_emptied 13 15 | 're 14 16 | 've_thrown_at 15 17 | has 16 18 | store 17 19 | permeates 18 20 | in 19 21 | can_see 20 22 | however_'ve_almost_emptied_place_in 21 23 | continues_eastward_into 22 24 | however_'ve_emptied_place_in 23 25 | 've_almost_emptied_place_in 24 26 | 've_emptied_place_in 25 27 | connects_workshop_on 26 28 | drifts_through 27 29 | are_on 28 30 | connects_workshop_to 29 31 | do 30 32 | however_'ve_emptied_out 31 33 | drifting_through 32 34 | taking 33 35 | 've_thrown_in 34 36 | 've_emptied_out 35 37 | 've_almost_emptied_place_out_in 36 38 | take_off 37 39 | remove 38 40 | is_firmly_rooted_to 39 41 | 've_emptied 40 42 | put_on 41 43 | is_heart_of 42 44 | quietly_hum 43 45 | first_taking 44 46 | blasting_upwards_into 45 47 | have 46 48 | felt 47 49 | dominates 48 50 | continues_into 49 51 | open 50 52 | opening 51 53 | lies_to 52 54 | 're_attached_to 53 55 | is_visible_to 54 56 | however_'ve_almost_emptied 55 57 | remove_card_from 56 58 | leads_further_into 57 59 | leads_into 58 60 | pull 59 61 | 're_firmly_attached_to 60 62 | 've_thrown_together_in 61 63 | however_'ve_emptied_place_out_in 62 64 | however_'ve_almost_emptied_out 63 65 | yo 64 66 | however_'ve_almost_emptied_place_out_in 65 67 | 've_almost_emptied 66 68 | can_see_here 67 69 | seems_like 68 70 | revealing 69 71 | seem_regarding 70 72 | is 71 73 | pull_open 72 74 | felt_here 73 75 | hum 74 76 | 've_emptied_place_out_in 75 77 | was 76 78 | fills 77 79 | is_on 78 80 | is_rooted_to 79 81 | -------------------------------------------------------------------------------- /data/zork1_relation2id.tsv: -------------------------------------------------------------------------------- 1 | are 0 2 | is_room_with 1 3 | parry_in 2 4 | join_ramparts_to 3 5 | are_beneath 4 6 | of 5 7 | has 6 8 | is_with 7 9 | is_to 8 10 | canary_on 9 11 | blocks_passages_out_of 10 12 | can_see 11 13 | lying 12 14 | apparently_scavenged_by 13 15 | is_covered_with 14 16 | in 15 17 | spills_to 16 18 | have_walked_into 17 19 | left 18 20 | may 19 21 | take_here 20 22 | carrying 21 23 | finding 22 24 | is_now_full_of 23 25 | scavenged_by 24 26 | is_hinged_unlike 25 27 | have 26 28 | devoured 27 29 | probably_put_too 28 30 | encrusted_egg_in 29 31 | slithered_into 30 32 | encrusted_egg_on 31 33 | removes 32 34 | have_died_now 33 35 | block 34 36 | manage_in 35 37 | encrusted_here 36 38 | chirping_of 37 39 | land_on 38 40 | ornamented_in 39 41 | hear 40 42 | is_on 41 43 | almost_knocks_over 42 44 | is_lit_forest_with 43 45 | probably_put_spinach_in 44 46 | probably_put 45 47 | contains 46 48 | has_smashed_into 47 49 | join 48 50 | put_spinach_too_in 49 51 | is_dimly_lit_forest_with 50 52 | flows_out_from 51 53 | are_at 52 54 | can_see_remains_through 53 55 | hear_chirping_in 54 56 | probably_put_spinach_too_in 55 57 | is_sprawled_on 56 58 | barely_parry_in 57 59 | winding_through 58 60 | is_pile_of 59 61 | is_upstream_from 60 62 | put 61 63 | broken 62 64 | blocks 63 65 | is_small_room_with 64 66 | take 65 67 | knocks_over 66 68 | barring 67 69 | has_caused 68 70 | is_in 69 71 | put_too 70 72 | is 71 73 | is_lying_in 72 74 | flows_by 73 75 | is_forest_with 74 76 | encrusted 75 77 | join_ramparts_across 76 78 | closed_with 77 79 | is_full_of 78 80 | opening 79 81 | reveals 80 82 | has_begun 81 83 | revealing 82 84 | put_spinach_in 83 85 | gets 84 86 | manage 85 87 | have_died 86 88 | is_from 87 89 | have_moved_into 88 90 | appears 89 91 | -------------------------------------------------------------------------------- /data/balances_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | silver_coin 1 3 | path 2 4 | hills_in_directions 3 5 | cedarwood_box 4 6 | it 5 7 | magic_burin 6 8 | grasslands 7 9 | wings 8 10 | inscribed 9 11 | fear_getting 10 12 | shiny_scroll 11 13 | glow 12 14 | box 13 15 | shiny_scroll_(of_the_bozbar_spell) 14 16 | bozbar_spell 15 17 | you 16 18 | Ramshackle_Hut 17 19 | valley 18 20 | quite_recently 19 21 | windows 20 22 | spell_book_here 21 23 | pile_of_oats 22 24 | slowly_inscribed 23 25 | pocket_valley_a_pleasant_pocket_valley 24 26 | matchwood 25 27 | horse_did 26 28 | open 27 29 | closer_look 28 30 | rezrov 29 31 | cedarwood_box_(which_is_closed_and_locked) 30 32 | spell 31 33 | wooden 32 34 | shiny 33 35 | glassless 34 36 | objects 35 37 | old_cedarwood_box 36 38 | grassy_hills 37 39 | rhetorical 38 40 | cedarwood 39 41 | my 40 42 | brightness 41 43 | silver 42 44 | exit_to_up 43 45 | oats 44 46 | book 45 47 | animal 46 48 | low_hills 47 49 | silver_coin_here 48 50 | munching_on_pile 49 51 | frotz 50 52 | gnusto 51 53 | munching 52 54 | burin 53 55 | pleasant_pocket_valley 54 56 | someone 55 57 | south 56 58 | your_score 57 59 | chestnut 58 60 | spell_book 59 61 | slowly_ornately_inscribed 60 62 | trail 61 63 | chestnut_horse 62 64 | bozbar 63 65 | coin 64 66 | hut 65 67 | hills 66 68 | yomin 67 69 | munching_on_pile_of_oats 68 70 | light 69 71 | your_spell_book 70 72 | now_matchwood 71 73 | north 72 74 | horse 73 75 | Grasslands,_near_Hut 74 76 | Pocket_Valley 75 77 | burin_here 76 78 | that 77 79 | furniture 78 80 | ornately_inscribed 79 81 | out_nothing 80 82 | magic_burin_here 81 83 | magic 82 84 | scroll 83 85 | pile 84 86 | exit_to_south 85 87 | look 86 88 | hardly_portable 87 89 | sure 88 90 | recently 89 91 | exit_to_north 90 92 | words 91 93 | five_points 92 94 | -------------------------------------------------------------------------------- /data/advent_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | slit 1 3 | brick 2 4 | diameter 3 5 | all 4 6 | in_forest_open_forest_near_valley 5 7 | s 6 8 | set 7 9 | outside 8 10 | now_full 9 11 | bare_rock 10 12 | At_End_Of_Road 11 13 | gleaming 12 14 | bottle 13 15 | brass_lantern 14 16 | brass_lantern_(providing_light) 15 17 | downstream_bare_rock 16 18 | tasty_food_here 17 19 | stream 18 20 | sewer 19 21 | batteries 20 22 | exit_to_up 21 23 | rocky 22 24 | light 23 25 | large 24 26 | small_bottle 25 27 | other 26 28 | At_Hill_In_Road 27 29 | bottled_water 28 30 | you 29 31 | inside 30 32 | power 31 33 | tasty_food 32 34 | Inside_Building 33 35 | spring 34 36 | hill_in_road 35 37 | bed 36 38 | small_bottle_here 37 39 | building 38 40 | 2_inch_slit 39 41 | inch 40 42 | exit 41 43 | valley_in_forest_beside_stream_tumbling_along_rocky_bed 42 44 | open_forest_near_valley 43 45 | hardly_portable 44 46 | only_exit 45 47 | shiny 46 48 | downstream_rock 47 49 | food 48 50 | well_house_for_large_spring 49 51 | in_forest_open_forest_with_deep_valley_to_one_side 50 52 | open_forest_with_deep_valley_to_one_side 51 53 | dim 52 54 | tasty 53 55 | bottled 54 56 | exit_to_west 55 57 | in_valley_valley_in_forest_beside_stream_tumbling_along_rocky_bed 56 58 | hill_in_forest 57 59 | forest 58 60 | ground 59 61 | small 60 62 | dead 61 63 | inside_building_building 62 64 | At_Slit_In_Streambed 63 65 | large_spring 64 66 | that 65 67 | keys 66 68 | your_lamp 67 69 | full 68 70 | rhetorical 69 71 | steel 70 72 | full_already 71 73 | distance 72 74 | side 73 75 | bottle_here 74 76 | end_of_road 75 77 | road 76 78 | hill_still_in_forest 77 79 | rock 78 80 | lamp 79 81 | water 80 82 | lantern 81 83 | foot 82 84 | lamp_is_getting_dim. 83 85 | bare 84 86 | gleaming_brightly 85 87 | lamp_has_run_out_of_power. 86 88 | set_of_keys 87 89 | streambed 88 90 | food_here 89 91 | exit_to_down 90 92 | brass 91 93 | 20_foot_depression_floored_with_bare_dirt 92 94 | west 93 95 | hill 94 96 | -------------------------------------------------------------------------------- /data/awaken_relation2id.tsv: -------------------------------------------------------------------------------- 1 | attending_inside 0 2 | choked 1 3 | put_steeple_under 2 4 | strikes_steeple_with 3 5 | grow_up_through 4 6 | separating 5 7 | put_trail_under 6 8 | filling_in 7 9 | follows 8 10 | continues_around 9 11 | draw_sustenance_from 10 12 | left 11 13 | separating_it_from 12 14 | leads_to 13 15 | put_grasses_under 14 16 | looms 15 17 | put_oak_branch_under 16 18 | put_church_under 17 19 | almost_is_trying 18 20 | put_ceiling_under 19 21 | subsides_for 20 22 | rattles 21 23 | put_wall_under 22 24 | climbs 23 25 | has 24 26 | crushed_marker_below 25 27 | blocks 26 28 | filling_behind 27 29 | put_chain_under 28 30 | in 29 31 | put_grave_under 30 32 | is_surrounded_on 31 33 | followed_by 32 34 | put_storm_under 33 35 | surrounds 34 36 | tossed 35 37 | put_limb_under 36 38 | dragging 37 39 | lashes 38 40 | put_west_wall_under 39 41 | are_pouring_down_on 40 42 | put_weeds_under 41 43 | wash 42 44 | is_through 43 45 | draw_ground_from 44 46 | attending 45 47 | is_trying 46 48 | looking 47 49 | loom_to 48 50 | put_mold_under 49 51 | put_debris_under 50 52 | choked_driveway_runs_to 51 53 | making 52 54 | put_stone_markers_under 53 55 | have_run 54 56 | will_take 55 57 | stares_out_over 56 58 | put_guard_dog_under 57 59 | put_rain_under 58 60 | stares_out_to 59 61 | leads_around 60 62 | have 61 63 | collapses 62 64 | put_windows_under 63 65 | scramble_out_of 64 66 | leads_back_to 65 67 | worshippers_at 66 68 | put_moss_under 67 69 | put_oak_trees_under 68 70 | rises_beyond 69 71 | front_of 70 72 | draw 71 73 | strikes 72 74 | put_sidewalk_under 73 75 | growls_threateningly_at 74 76 | put_north_wall_under 75 77 | dominate 76 78 | put_southeast_wall_under 77 79 | is 78 80 | followed_instantly_by 79 81 | put_path_under 80 82 | continues_to 81 83 | put_ivy_under 82 84 | crushed 83 85 | put_water_under 84 86 | collapses_downward 85 87 | put_mud_under 86 88 | put 87 89 | was 88 90 | has_broken_off_of 89 91 | growls_at 90 92 | surround 91 93 | lashes_at 92 94 | -------------------------------------------------------------------------------- /data/ztuu_relation2id.tsv: -------------------------------------------------------------------------------- 1 | have_ever_told 0 2 | consist_of 1 3 | runs_length_to 2 4 | theater_is_reputed 3 5 | looking 4 6 | leads_back_down_into 5 7 | scenes_of 6 8 | is_dog 7 9 | be 8 10 | is 9 11 | museum_of 10 12 | turns_eye_to 11 13 | serving_at 12 14 | been_designed_mainly_with 13 15 | are_built_like 14 16 | been 15 17 | serving_as 16 18 | glued_to 17 19 | long_forgotten_scenes_of 18 20 | once_stood_before 19 21 | passes_under 20 22 | postcard_from 21 23 | will_send_postcard_at_time 22 24 | noting 23 25 | leads_into 24 26 | is_austere_at 25 27 | must 26 28 | is_in 27 29 | still_be_considered 28 30 | comments_on 29 31 | snores_quietly_through 30 32 | mouthed 31 33 | be_considered 32 34 | runs_length_from 33 35 | into 34 36 | had_gone_to 35 37 | worked_on 36 38 | sponge_like 37 39 | offhandedly_comments_in 38 40 | is_rather_austere_at 39 41 | was_dedicated_to 40 42 | turns_to 41 43 | explain_parser_again_to 42 44 | except_for_black_is 43 45 | snores_through 44 46 | comments_in 45 47 | seem_like 46 48 | explain_again 47 49 | of 48 50 | consult 49 51 | form 50 52 | will_send 51 53 | explain_parser_to 52 54 | explain 53 55 | asks 54 56 | sits_behind 55 57 | 's_do_for 56 58 | in 57 59 | stood_before 58 60 | seems 59 61 | follow 60 62 | hangs_opposite 61 63 | runs 62 64 | had_gone_earlier_to 63 65 | ceo_of 64 66 | turns 65 67 | been_designed_with 66 68 | can_see_here 67 69 | looks 68 70 | leads_back_into 69 71 | does 70 72 | is_adorned_in 71 73 | discussing 72 74 | offhandedly_comments_on 73 75 | striped 74 76 | compared_to 75 77 | resting_on 76 78 | covered 77 79 | seem 78 80 | was 79 81 | is_reputed 80 82 | forgotten_scenes_of 81 83 | have_told 82 84 | serving_mainly_as 83 85 | lizard_like 84 86 | leering 85 87 | leads_down_into 86 88 | talk_among 87 89 | headed 88 90 | long_scenes_of 89 91 | have 90 92 | has 91 93 | ponders 92 94 | first_taking 93 95 | is_with 94 96 | taking 95 97 | can_see 96 98 | are 97 99 | avoiding 98 100 | block 99 101 | put_on 100 102 | serving_mainly_at 101 103 | dims 102 104 | -------------------------------------------------------------------------------- /data/library_relation2id.tsv: -------------------------------------------------------------------------------- 1 | dominates 0 2 | should_examine 1 3 | perhaps_should_examine_first 2 4 | gives 3 5 | be_obtained_from 4 6 | immersed_in 5 7 | adds 6 8 | find 7 9 | maybe_should_go_out_through 8 10 | tucked_away_in 9 11 | invoke 10 12 | 're_leaving_without 11 13 | can_also_see 12 14 | spend 13 15 | seemingly_cringing_from 14 16 | perhaps_should_examine 15 17 | puts 16 18 | prevent 17 19 | see 18 20 | is_filled_with 19 21 | open_into 20 22 | snatch_back 21 23 | maybe_should_go_out_to 22 24 | lurks 23 25 | becomes 24 26 | be 25 27 | can_also_see_here 26 28 | should_examine_first 27 29 | can_see 28 30 | are_securely_fastened_to 29 31 | has 30 32 | should_go_out_through 31 33 | duplicating_is 32 34 | lead_upwards_to 33 35 | think_of 34 36 | is_working_on 35 37 | snatch 36 38 | is_currently_working_on 37 39 | need 38 40 | hums_with 39 41 | gets 40 42 | kicks 41 43 | 's_hardly_portable_without 42 44 | are_in 43 45 | are_kicked_without 44 46 | stands_before 45 47 | barely_snatch_back 46 48 | bears 47 49 | gets_smile_on 48 50 | in 49 51 | says 50 52 | way_to 51 53 | see_here 52 54 | push 53 55 | spilling_out_of 54 56 | lurks_in 55 57 | be_out_of 56 58 | makes 57 59 | drop_in 58 60 | vanishes_in 59 61 | really_need 60 62 | is_entrance_to 61 63 | sitting_behind 62 64 | immediately_becomes 63 65 | was 64 66 | is_in 65 67 | holds 66 68 | is_labelled 67 69 | is_lit_with 68 70 | in_private_is 69 71 | bank_on 70 72 | pile_of_is 71 73 | should_go_out_to 72 74 | marked_in 73 75 | glares_at 74 76 | cringing_from 75 77 | tucked_in 76 78 | pulls_out 77 79 | cringing_away_from 78 80 | find_debt_by 79 81 | is 80 82 | taking 81 83 | muttering_under 82 84 | have 83 85 | first_taking 84 86 | can_see_here 85 87 | lies_to 86 88 | has_gone_up_by 87 89 | copy_of 88 90 | are_fastened_to 89 91 | has_just_gone_up_by 90 92 | seemingly_cringing_away_from 91 93 | sitting_reference_librarian_behind 92 94 | appears 93 95 | hangs_on 94 96 | sitting 95 97 | returns 96 98 | key_to 97 99 | found 98 100 | puts_away 99 101 | continues 100 102 | return_to 101 103 | are 102 104 | spend_rest_as 103 105 | door_to 104 106 | is_to 105 107 | smoldering_pile_of_is 106 108 | barely_snatch 107 109 | lead 108 110 | -------------------------------------------------------------------------------- /data/gold_relation2id.tsv: -------------------------------------------------------------------------------- 1 | leads_south_and_west 0 2 | 'm 1 3 | go 2 4 | get_off 3 5 | see 4 6 | remind 5 7 | 'm_in 6 8 | 'm_wandering 7 9 | keep 8 10 | widens_into 9 11 | says 10 12 | leads_to 11 13 | full_score_for 12 14 | are_trees_in 13 15 | winds 14 16 | are_in 15 17 | 's_on 16 18 | would_like 17 19 | leads_south 18 20 | look 19 21 | give 20 22 | entered 21 23 | passes 22 24 | has 23 25 | 'm_lost_in 24 26 | restore 25 27 | must 26 28 | 'm_beginning 27 29 | can_keep_on 28 30 | 'm_feeling 29 31 | 'm_on 30 32 | in 31 33 | surrounded_on 32 34 | is_festooned_with 33 35 | winding_through 34 36 | 'm_walking_in 35 37 | give_score_on 36 38 | oh 37 39 | hardly_keep 38 40 | can_see 39 41 | adds_well_after 40 42 | informs 41 43 | 's_in 42 44 | are_pointing_to 43 45 | got_lost_at 44 46 | being 45 47 | is_sitting_on 46 48 | leads 47 49 | chewing_on 48 50 | is_clearing_in 49 51 | somewhere_comes 50 52 | 'm_feeling_on 51 53 | looks_at 52 54 | looks_quizzically_for 53 55 | feeling 54 56 | be_blocked_by 55 57 | 's_by 56 58 | looking 57 59 | score_for 58 60 | got 59 61 | jumps_from 60 62 | get_onto 61 63 | taking 62 64 | separated_from 63 65 | looks_quizzically_at 64 66 | put_wristwatch_on 65 67 | be 66 68 | see_here 67 69 | take_off 68 70 | can_hardly_keep_on 69 71 | can_hardly_keep_in 70 72 | jumps_out_from 71 73 | 'm_standing_on 72 74 | put_note_into 73 75 | put_on 74 76 | widens_to 75 77 | is_in 76 78 | slobbers_at 77 79 | first_taking 78 80 | leads_around 79 81 | have 80 82 | of 81 83 | sits_to 82 84 | can_also_see_here 83 85 | in_shed_is 84 86 | slaps 85 87 | can_keep 86 88 | pointing_to 87 89 | definately_has 88 90 | looks_for 89 91 | can_see_wristwatch_on 90 92 | take_off_wristwatch_on 91 93 | lost_in 92 94 | 'm_wandering_in 93 95 | leads_into 94 96 | adds_after 95 97 | can_go_in 96 98 | separated_by 97 99 | 'm_at 98 100 | comes 99 101 | can_see_here 100 102 | tending_to 101 103 | got_lost_among 102 104 | is 103 105 | chewing_disinterestedly_on 104 106 | seems 105 107 | 'm_scared_on 106 108 | can_hardly_keep 107 109 | 'm_soooo_scared_on 108 110 | head_off_along 109 111 | she_of_be 110 112 | can_keep_in 111 113 | put 112 114 | was 113 115 | can_also_see 114 116 | is_on 115 117 | get_off_first 116 118 | -------------------------------------------------------------------------------- /data/omniquest_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | Canyon_Path 1 3 | path 2 4 | narrow_gap 3 5 | canyon_path_path 4 6 | fork 5 7 | exit_to_east 6 8 | it 7 9 | match_(providing_light) 8 10 | east 9 11 | exit_to_northeast 10 12 | forest 11 13 | northeast 12 14 | match_has_blown_out._You_toss_it_away. 13 15 | Fork_in_Path 14 16 | passages 15 17 | ancient 16 18 | go_around_larger_boulder 17 19 | brief 18 20 | Canyon_Entrance 19 21 | southwest 20 22 | you 21 23 | entrance 22 24 | narrow_gap_to_southeast_seems 23 25 | way 24 26 | path_branches 25 27 | burn 26 28 | exit_to_west 27 29 | exit_to_southeast 28 30 | rather_rocky_territory 29 31 | various_small_passages 30 32 | forest_west 31 33 | dense_forest 32 34 | ancient_river 33 35 | smaller_boulder 34 36 | boulder 35 37 | brief_widening 36 38 | west 37 39 | snorkel_(being_worn) 38 40 | sandy 39 41 | rather_positive 40 42 | gap 41 43 | go_around_smaller_boulder 42 44 | small 43 45 | gap_seems 44 46 | shovel 45 47 | northwest 46 48 | passage 47 49 | rather_negative 48 50 | raincoat_(which_is_closed) 49 51 | go_around_boulder 50 52 | Large_Clearing 51 53 | lead_into_rather_rocky_territory 52 54 | paths 53 55 | canyon_formed_by_river 54 56 | Small_Clearing 55 57 | territory 56 58 | snorkel 57 59 | go 58 60 | small_passages 59 61 | riverbed 60 62 | apparently_brief_widening 61 63 | tree 62 64 | course 63 65 | canyon_formed_by_ancient_river 64 66 | exit_to_southwest 65 67 | dense 66 68 | canyon_entrance 67 69 | canyon 68 70 | widening 69 71 | rocky_territory 70 72 | positive 71 73 | gap_to_southeast_seems 72 74 | negative 73 75 | south 74 76 | large_clearing_surrounded_by_dense_forest 75 77 | southeast 76 78 | narrow_gap_seems 77 79 | beach 78 80 | boulders 79 81 | End_of_Path 80 82 | various_passages 81 83 | clearing 82 84 | two_boulders 83 85 | large 84 86 | north 85 87 | canyon_formed 86 88 | Small_Path 87 89 | several_passages 88 90 | lead_into_territory 89 91 | lead_into_rocky_territory 90 92 | apparently_widening 91 93 | match 92 94 | exit_to_south 93 95 | meandering_passages 94 96 | me,_but_aren't_you_taking_a_long_time? 95 97 | larger_boulder 96 98 | raincoat_(being_worn_and_closed) 97 99 | raincoat 98 100 | exit_to_north 99 101 | several_meandering_passages 100 102 | two_large_boulders 101 103 | exit_to_northwest 102 104 | river 103 105 | lead 104 106 | -------------------------------------------------------------------------------- /data/tryst205_relation2id.tsv: -------------------------------------------------------------------------------- 1 | bends_in 0 2 | get_off 1 3 | getting_onto 2 4 | just_start 3 5 | get_first_out_of 4 6 | is 5 7 | can_exit 6 8 | are_thoughtfully_sprinkled_across 7 9 | get_into 8 10 | cleaning 9 11 | watch_your_move_in_small_area_to 10 12 | comes_in_from 11 13 | has_gone_up_by 12 14 | runs_to 13 15 | watch 14 16 | quite_refreshed_from 15 17 | considering 16 18 | sound_of 17 19 | is_in 18 20 | is_also_little_bit_on 19 21 | chow_down 20 22 | staring_at 21 23 | has_just_gone_up_by 22 24 | is_also_little_bit 23 25 | bends_over 24 26 | to 25 27 | has_lost 26 28 | can_also_see 27 29 | is_starting 28 30 | picks_up 29 31 | feel 30 32 | leads_down_to 31 33 | are_lying 32 34 | uncover 33 35 | has_just_gone_down_by 34 36 | put_candy_bar_on 35 37 | are_sprinkled_across 36 38 | reach_for 37 39 | are_on 38 40 | closes 39 41 | can_also_see_here 40 42 | than 41 43 | start 42 44 | lack 43 45 | interspersed_with 44 46 | comes_from 45 47 | are_sprinkled 46 48 | thoroughly_ground 47 49 | open 48 50 | put_toy_car_on 49 51 | feels 50 52 | ground 51 53 | is_really_starting 52 54 | get_out_of 53 55 | muffled_sound_of 54 56 | put_gumball_on 55 57 | somehow_has_lost 56 58 | get_off_first 57 59 | whipped_up_at 58 60 | in 59 61 | can_see_candy_bar_on 60 62 | comes_in 61 63 | mumble_words_from 62 64 | bound_to 63 65 | reveals 64 66 | 'll_have 65 67 | can_see_here 66 68 | stepped_with 67 69 | put_bench_on 68 70 | quickly_chow_down 69 71 | can_see_bench_on 70 72 | are_lying_on 71 73 | starts 72 74 | is_also_bit_on 73 75 | mumble 74 76 | put_wad_on 75 77 | enters 76 78 | see 77 79 | put 78 80 | is_bit_on 79 81 | has_gone_down_by 80 82 | graces 81 83 | clamber_to 82 84 | are_thoughtfully_sprinkled 83 85 | leads_to 84 86 | can_exit_mess_to 85 87 | watch_your_move_in_small_area_off 86 88 | feel_in 87 89 | was 88 90 | is_to 89 91 | can_also_see_candy_bar_on 90 92 | take_bag_for 91 93 | start_to 92 94 | examines 93 95 | 'm 94 96 | stepped_in 95 97 | getting_off 96 98 | '_bathroom_is 97 99 | is_little_bit_on 98 100 | on_water_is 99 101 | is_also_bit 100 102 | have 101 103 | has 102 104 | is_bit 103 105 | is_on 104 106 | first_taking 105 107 | is_with 106 108 | is_little_bit 107 109 | bends_after 108 110 | refreshed_from 109 111 | get_onto 110 112 | taking 111 113 | can_see 112 114 | are 113 115 | can_see_toy_car_on 114 116 | runs_with 115 117 | cleaning_hour 116 118 | take 117 119 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | 3 | # Byte-compiled / optimized / DLL files 4 | __pycache__/ 5 | *.py[cod] 6 | *$py.class 7 | 8 | # C extensions 9 | *.so 10 | 11 | # Distribution / packaging 12 | .Python 13 | build/ 14 | develop-eggs/ 15 | dist/ 16 | downloads/ 17 | eggs/ 18 | .eggs/ 19 | lib/ 20 | lib64/ 21 | parts/ 22 | sdist/ 23 | var/ 24 | wheels/ 25 | pip-wheel-metadata/ 26 | share/python-wheels/ 27 | *.egg-info/ 28 | .installed.cfg 29 | *.egg 30 | MANIFEST 31 | 32 | # PyInstaller 33 | # Usually these files are written by a python script from a template 34 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 35 | *.manifest 36 | *.spec 37 | 38 | # Installer logs 39 | pip-log.txt 40 | pip-delete-this-directory.txt 41 | 42 | # Unit test / coverage reports 43 | htmlcov/ 44 | .tox/ 45 | .nox/ 46 | .coverage 47 | .coverage.* 48 | .cache 49 | nosetests.xml 50 | coverage.xml 51 | *.cover 52 | *.py,cover 53 | .hypothesis/ 54 | .pytest_cache/ 55 | 56 | # Translations 57 | *.mo 58 | *.pot 59 | 60 | # Django stuff: 61 | *.log 62 | local_settings.py 63 | db.sqlite3 64 | db.sqlite3-journal 65 | 66 | # Flask stuff: 67 | instance/ 68 | .webassets-cache 69 | 70 | # Scrapy stuff: 71 | .scrapy 72 | 73 | # Sphinx documentation 74 | docs/_build/ 75 | 76 | # PyBuilder 77 | target/ 78 | 79 | # Jupyter Notebook 80 | .ipynb_checkpoints 81 | 82 | # IPython 83 | profile_default/ 84 | ipython_config.py 85 | 86 | # pyenv 87 | .python-version 88 | 89 | # pipenv 90 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 91 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 92 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 93 | # install all needed dependencies. 94 | #Pipfile.lock 95 | 96 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 97 | __pypackages__/ 98 | 99 | # Celery stuff 100 | celerybeat-schedule 101 | celerybeat.pid 102 | 103 | # SageMath parsed files 104 | *.sage.py 105 | 106 | # Environments 107 | .env 108 | .venv 109 | env/ 110 | venv/ 111 | ENV/ 112 | env.bak/ 113 | venv.bak/ 114 | 115 | # Spyder project settings 116 | .spyderproject 117 | .spyproject 118 | 119 | # Rope project settings 120 | .ropeproject 121 | 122 | # mkdocs documentation 123 | /site 124 | 125 | # mypy 126 | .mypy_cache/ 127 | .dmypy.json 128 | dmypy.json 129 | 130 | # Pyre type checker 131 | .pyre/ 132 | -------------------------------------------------------------------------------- /data/sorcerer_relation2id.tsv: -------------------------------------------------------------------------------- 1 | is_room_at_time 0 2 | reaches 1 3 | is_wide_meadow_to 2 4 | leave 3 5 | gives 4 6 | session_of 5 7 | have_entered 6 8 | lie_from 7 9 | gives_wave 8 10 | appears 9 11 | is_hall 10 12 | flank 11 13 | chamber_of_is 12 14 | is 13 15 | wrapping 14 16 | are_bathed 15 17 | reveals 16 18 | abound_in 17 19 | is_closed_at 18 20 | is_appointed_with 19 21 | accompanied_frobar_into 20 22 | floating_in 21 23 | hear_hissing_from 22 24 | closes 23 25 | restart_game_from 24 26 | are_now_thirsty_outside 25 27 | issue_of 26 28 | among 27 29 | hurriedly_scribbled_on 28 30 | can_hide 29 31 | floating_next_to 30 32 | stops_at 31 33 | waiting_for 32 34 | can_leave_to 33 35 | is_now_provided_in 34 36 | in 35 37 | is_to 36 38 | are_quite_thirsty_outside 37 39 | is_with 38 40 | get 39 41 | is_trademark_of 40 42 | leads_downward_into 41 43 | squeezing 42 44 | opening 43 45 | noticing 44 46 | find 45 47 | did_leave 46 48 | rings 47 49 | does_look_through 48 50 | affixed_is_to 49 51 | wake_up_in 50 52 | revealing 51 53 | is_get 52 54 | move 53 55 | want 54 56 | do_mean 55 57 | are_amongst 56 58 | is_large_room_with 57 59 | are_bathed_in 58 60 | is_room_with 59 61 | lies_to 60 62 | labelled_with 61 63 | leads_up_to 62 64 | are_quite_hungry_outside 63 65 | end 64 66 | providing 65 67 | can_see 66 68 | engraved_is_on 67 69 | are_now_very_thirsty_outside 68 70 | leads_further_downward_into 69 71 | cast 70 72 | is_in 71 73 | pass_out_from 72 74 | is_large_round_room_with 73 75 | scribbled_on 74 76 | passes 75 77 | cold_get 76 78 | enters 77 79 | is_cold_get 78 80 | is_provided_in 79 81 | is_room_of 80 82 | enters_woods_to 81 83 | being 82 84 | squeezing_life_out_of 83 85 | restart 84 86 | crafted_by 85 87 | study 86 88 | being_pretty_dull_kind_of 87 89 | is_finished_with 88 90 | copy_of 89 91 | accompanied 90 92 | occupies 91 93 | is_meadow_to 92 94 | later_wake_up_in 93 95 | open 94 96 | are_somewhat_thirsty_outside 95 97 | is_among 96 98 | puts_something_in 97 99 | hear_clicking_from 98 100 | are_very_thirsty_outside 99 101 | contains 100 102 | achieve 101 103 | are 102 104 | is_open_at 103 105 | is_large_hall 104 106 | pour_from 105 107 | precisely_want 106 108 | has 107 109 | have 108 110 | by_copyright_is 109 111 | are_thirsty 110 112 | is_at 111 113 | is_waiting_for 112 114 | ask 113 115 | are_in 114 116 | are_now_somewhat_hungry_outside 115 117 | leads_into 116 118 | is_round_room_with 117 119 | lands_on 118 120 | flank_area_on 119 121 | probably_abound_in 120 122 | falls_out_behind 121 123 | being_dull_kind_of 122 124 | lie_to 123 125 | puts 124 126 | are_now_quite_thirsty_outside 125 127 | being_kind_of 126 128 | -------------------------------------------------------------------------------- /kga2c/train.py: -------------------------------------------------------------------------------- 1 | import os 2 | from gdqn import KGA2CTrainer 3 | import argparse 4 | 5 | 6 | def parse_args(): 7 | parser = argparse.ArgumentParser() 8 | parser.add_argument('--output_dir', default='./logs/') 9 | parser.add_argument('--spm_file', default='./spm_models/unigram_8k.model') 10 | parser.add_argument('--tsv_file', default='../data/zork1_entity2id.tsv') 11 | parser.add_argument('--rom_file_path', default='roms/zork1.z5') 12 | parser.add_argument('--openie_path', default='stanford-corenlp-full-2018-10-05') 13 | parser.add_argument('--batch_size', default=16, type=int) 14 | parser.add_argument('--lr', default=0.003, type=float) 15 | parser.add_argument('--gamma', default=.5, type=float) 16 | parser.add_argument('--embedding_size', default=50, type=int) 17 | parser.add_argument('--hidden_size', default=100, type=int) 18 | parser.add_argument('--padding_idx', default=0, type=int) 19 | parser.add_argument('--gat_emb_size', default=50, type=int) 20 | parser.add_argument('--dropout_ratio', default=0.2, type=float) 21 | parser.add_argument('--preload_weights', default='') 22 | parser.add_argument('--bindings', default='zork1') 23 | parser.add_argument('--seed', default=0, type=int) 24 | parser.add_argument('--steps', default=100000, type=int) 25 | parser.add_argument('--reset_steps', default=100, type=int) 26 | parser.add_argument('--stuck_steps', default=10, type=int) 27 | parser.add_argument('--trial', default='base') 28 | parser.add_argument('--loss', default='value_policy_entropy') 29 | parser.add_argument('--graph_dropout', default=0.0, type=float) 30 | parser.add_argument('--k_object', default=1, type=int) 31 | parser.add_argument('--g_val', default=False, type=bool) 32 | parser.add_argument('--entropy_coeff', default=0.03, type=float) 33 | parser.add_argument('--clip', default=40, type=int) 34 | parser.add_argument('--bptt', default=8, type=int) 35 | parser.add_argument('--value_coeff', default=9, type=float) 36 | parser.add_argument('--template_coeff', default=3, type=float) 37 | parser.add_argument('--object_coeff', default=9, type=float) 38 | parser.add_argument('--recurrent', default=True, type=bool) 39 | parser.add_argument('--checkpoint_interval', default=500, type=int) 40 | parser.add_argument('--no-gat', dest='gat', action='store_false') 41 | parser.add_argument('--masking', default='kg', choices=['kg', 'interactive', 'none'], help='Type of object masking applied') 42 | parser.set_defaults(gat=True) 43 | args = parser.parse_args() 44 | params = vars(args) 45 | return params 46 | 47 | 48 | if __name__ == "__main__": 49 | params = parse_args() 50 | print(params) 51 | trainer = KGA2CTrainer(params) 52 | trainer.train(params['steps']) 53 | -------------------------------------------------------------------------------- /data/905_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | luxurious 1 3 | you 2 4 | now_browned 3 5 | dirty_laundry 4 6 | moment 5 7 | las_mesas_*** 6 8 | door 7 9 | get 8 10 | more_slip-ups_on_job 9 11 | clothing_here 10 12 | place 11 13 | house 12 14 | bed 13 15 | our_presentation 14 16 | tougher 15 17 | north 16 18 | south 17 19 | soiled_clothing_here 18 20 | bedroom_to_west 19 21 | dresser 20 22 | driveway 21 23 | car 22 24 | trace 23 25 | driver 24 26 | nicer 25 27 | new_man 26 28 | thing 27 29 | radio 28 30 | dead_of_injuries 29 31 | in_which_driver_'s_license 30 32 | soon_your_rear-view_mirror 31 33 | dead_of_internal_injuries 32 34 | driver_'s_license 33 35 | browned 34 36 | bathroom_this 35 37 | blocked_anyway 36 38 | nine_o'clock_sharp 37 39 | counter 38 40 | bedroom_rings 39 41 | quit 40 42 | man 41 43 | saved_game 42 44 | id_card_here 43 45 | dirty_ones 44 46 | clean_clothing_here 45 47 | v1_.00 46 48 | bathroom_with 47 49 | water 48 50 | east 49 51 | absolute 50 52 | freeway_onramp 51 53 | pop-tart_here 52 54 | toaster 53 55 | dirty_laundry_scattered 54 56 | now_nicely_browned 55 57 | clothing 56 58 | parked_here 57 59 | building 58 60 | your_rear-view_mirror 59 61 | cleaner_clothing 60 62 | in_which_id_card 61 63 | telephone 62 64 | shower 63 65 | extremely_spare 64 66 | soon_'ll_able 65 67 | license 66 68 | have_asleep 67 69 | scattered 68 70 | game 69 71 | soiled_clothing 70 72 | laundry 71 73 | gold_watch 72 74 | this 73 75 | even_tougher 74 76 | very_bad 75 77 | corpse 76 78 | bedroom_bedroom 77 79 | keys_here 78 80 | nicely_browned 79 81 | stop 80 82 | sort_of_maintenance_work 81 83 | gold_watch_here 82 84 | he 83 85 | adam_cadre 84 86 | exit_to_west 85 87 | laundry_scattered 86 88 | kitchenette 87 89 | sort 88 90 | pop-tart 89 91 | that 90 92 | most_of_those_in_neighborhood 91 93 | printers 92 94 | bedroom 93 95 | closed 94 96 | living_room 95 97 | watch 96 98 | 'll_able 97 99 | freeway 98 100 | id_card 99 101 | end_table 100 102 | absolute_toilet 101 103 | west 102 104 | wallet 103 105 | can_found 104 106 | bedroom_door 105 107 | restart 106 108 | front_door 107 109 | engine 108 110 | card 109 111 | original_release 110 112 | can_found_in_dresser 111 113 | seedy 112 114 | exit 113 115 | road 114 116 | phone 115 117 | freeway_onramp_approaching 116 118 | liza_daly 117 119 | dead 118 120 | which 119 121 | *** 120 122 | corpse_of_guy 121 123 | driver_'s_license_here 122 124 | toilet 123 125 | how_long_have_asleep 124 126 | looks 125 127 | floor 126 128 | driving 127 129 | bathroom 128 130 | ramp 129 131 | long_have_asleep 130 132 | license_here 131 133 | parked 132 134 | get_first 133 135 | blocked 134 136 | ones 135 137 | spare 136 138 | loungent_building 137 139 | useful 138 140 | stop_here 139 141 | clean_clothing 140 142 | nine_sharp 141 143 | keys 142 144 | -------------------------------------------------------------------------------- /data/yomomma_entity2id.tsv: -------------------------------------------------------------------------------- 1 | nothing 0 2 | come_here 1 3 | you 2 4 | stage_of_compass_club 3 5 | other 4 6 | sharp_spotlights 5 7 | just_climbing 6 8 | people 7 9 | light 8 10 | sharp_light 9 11 | tables_in_sharp_light_at_time 10 12 | chair_opposite_to_him 11 13 | tables_in_sharp_light_at_same_time 12 14 | nothing_special_about_chair 13 15 | tables_in_light_at_same_time 14 16 | baggy_hip_hop_clothes 15 17 | just_everyone_else 16 18 | corner_table_to_southeast 17 19 | your_individuality 18 20 | center_of_club 19 21 | exit_to_down 20 22 | walls 21 23 | Dance_floor_(center_of_the_club) 22 24 | corner 23 25 | fresh_wad 24 26 | mysterious_stranger_in_southeast_corner_table_waving 25 27 | bright_light_coming 26 28 | gus 27 29 | club 28 30 | light_coming 29 31 | mysterious_stranger_in_southeast_corner_table_waving_again 30 32 | compass_rose 31 33 | shadows 32 34 | mysterious_stranger_in_southeast_corner_table 33 35 | stage 34 36 | everybody 35 37 | everyone 36 38 | fresh_wad_of_bubblegum 37 39 | quite_crowd 38 40 | tables 39 41 | now_center_of_club 40 42 | dark_corner_table_to_southeast 41 43 | stranger 42 44 | chair_opposite 43 45 | exit_to_south 44 46 | it 45 47 | tables_at_time 46 48 | craze 47 49 | tables_in_sharp_light 48 50 | only_dark_silhouette 49 51 | jacket 50 52 | wad_of_bubblegum 51 53 | southeastern 52 54 | humiliation 53 55 | se 54 56 | bright_light 55 57 | track 56 58 | just_climbing_on_it 57 59 | street 58 60 | tables_at_same_time 59 61 | southeast_corner_table_waving_again 60 62 | dark_shadows_around_tables 61 63 | come 62 64 | stranger_in_southeast_corner_table_waving_again 63 65 | stranger_in_southeast_corner_table 64 66 | Dark_corner_(SE_corner) 65 67 | table 66 68 | spotlights 67 69 | it_know 68 70 | nothing_special 69 71 | crowd 70 72 | mysterious 71 73 | nothing_unexpected 72 74 | center 73 75 | nearest_table 74 76 | chair 75 77 | exit_to_southeast 76 78 | nothing_unexpected_in_direction 77 79 | now_center 78 80 | painted 79 81 | corner_table 80 82 | north 81 83 | stranger_in_southeast_corner_table_waving 82 84 | wad 83 85 | tables_in_light_at_time 84 86 | latest_craze 85 87 | silhouette 86 88 | other_direction 87 89 | moist 88 90 | southeast 89 91 | gum 90 92 | just_everyone 91 93 | direction 92 94 | dark_silhouette 93 95 | climbing 94 96 | one 95 97 | everyone_else 96 98 | mysterious_stranger 97 99 | exit_to_east 98 100 | dark_shadows 99 101 | your_street_clothes 100 102 | ceiling 101 103 | track_jacket 102 104 | bubblegum 103 105 | only_silhouette 104 106 | tables_in_light 105 107 | clubbers 106 108 | shadows_around_tables 107 109 | The_Stage 108 110 | exit_to_north 109 111 | clothes 110 112 | compass 111 113 | somebody 112 114 | southeastern_corner_of_club 113 115 | good_humiliation 114 116 | dark_corner_table 115 117 | climbing_on_it 116 118 | hip_hop_clothes 117 119 | -------------------------------------------------------------------------------- /data/zenon_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | can_also_see_a_light_switch,_a_bed_and_a_pressure_guage_here. 1 3 | exit_to_up 2 4 | guard 3 5 | you 4 6 | door_is_open 5 7 | south 6 8 | nothing_special 7 9 | can_see_a_door,_a_bed_and_a_pressure_guage_here. 8 10 | guage 9 11 | cell 10 12 | that 11 13 | can_also_see_a_bed_(on_which_is_a_light_switch)_and_a_pressure_guage_here. 12 14 | Steel_key 13 15 | this 14 16 | south_wall 15 17 | act 16 18 | floor 17 19 | light_switch_here 18 20 | positivity 19 21 | nothing_of_interest_in_switch 20 22 | can_see_a_Steel_key,_a_door,_a_bed_and_a_pressure_guage_here. 21 23 | switch 22 24 | interest 23 25 | standards_officers 24 26 | lights_switch_back_on_automatically. 25 27 | can_see_a_door,_a_bed_(on_which_is_a_light_switch)_and_a_pressure_guage_here. 26 28 | nothing_special_about_south_wall 27 29 | nothing_special_about_floor 28 30 | nothing_special_about_wall 29 31 | switch_here 30 32 | stones 31 33 | board 32 34 | nothing_of_interest_in_steel_key 33 35 | way 34 36 | here 35 37 | nothing 36 38 | him 37 39 | little 38 40 | bed 39 41 | switch_on_bed 40 42 | my_bones 41 43 | spite_it._There's_a_heavily_built_door_to_the_south. 42 44 | automatically 43 45 | pressure 44 46 | dirtier 45 47 | can_see_a_door,_a_bed_(on_which_is_a_Steel_key)_and_a_pressure_guage_here. 46 48 | steel_lights 47 49 | prison 48 50 | nothing_of_interest_in_door 49 51 | nothing_of_interest 50 52 | will_your_downfall 51 53 | pressure_guage_here 52 54 | open 53 55 | you_ever_get 54 56 | bed_here 55 57 | dirt_factory._If_you_didn't_have_better_things_to_do,_you'd_be_in_the_right_mind_too_give_the_place_a_jolly_good_clean_just 56 58 | light_switch_on_bed 57 59 | spot 58 60 | unable 59 61 | can_also_see_a_bed_and_a_pressure_guage_here. 60 62 | exit_to_south 61 63 | negativity 62 64 | can_also_see_a_bed_(on_which_is_a_Steel_key)_and_a_pressure_guage_here. 63 65 | you_ever_get_out_of_here,_you_really_must_complain_to_the_prison's_standards_officers._This_place_is_dirtier_and_dustier_than 64 66 | lights 65 67 | place 66 68 | door_here 67 69 | can_also_see_a_Steel_key,_a_bed_and_a_pressure_guage_here. 68 70 | can_see_a_door,_a_light_switch,_a_bed_and_a_pressure_guage_here. 69 71 | steel_key_lights 70 72 | already_on 71 73 | button 72 74 | nothing_of_interest_in_pressure_guage 73 75 | already_off 74 76 | room 75 77 | on_which_light_switch 76 78 | nothing_of_interest_in_light_switch 77 79 | which 78 80 | dangerous_act 79 81 | wall 80 82 | pressure_guage 81 83 | switch_onto_floor 82 84 | Cell 83 85 | light_switch_onto_floor 84 86 | on_which_switch 85 87 | just_your_average_prisoner_regulation_bed 86 88 | on_which_steel_key 87 89 | say 88 90 | light_switch 89 91 | prison_'s_standards_officers 90 92 | dirt_factory 91 93 | key 92 94 | you_get 93 95 | Darkness 94 96 | steel_key 95 97 | steel 96 98 | nothing_unexpected 97 99 | steel_key_onto_floor 98 100 | nothing_of_interest_in_south_wall 99 101 | door 100 102 | nothing_of_interest_in_wall 101 103 | exit_to_down 102 104 | can_see_a_light_switch,_a_door,_a_bed_and_a_pressure_guage_here. 103 105 | nothing_special_about_door 104 106 | can_see_a_door,_a_Steel_key,_a_bed_and_a_pressure_guage_here. 105 107 | -------------------------------------------------------------------------------- /data/temple_relation2id.tsv: -------------------------------------------------------------------------------- 1 | suddenly_is_in 0 2 | was 1 3 | are_lined_with 2 4 | unlock 3 5 | again_spot 4 6 | blurring 5 7 | fruit_of_is 6 8 | comes 7 9 | pushing 8 10 | painted_on 9 11 | repeat 10 12 | opens 11 13 | once_again_spot 12 14 | jerk_out 13 15 | voice 14 16 | are_beyond 15 17 | come_to 16 18 | is 17 19 | spot_object_on_top_of 18 20 | reveal 19 21 | can_enter 20 22 | 'm_so_tired_of 21 23 | contain 22 24 | tell 23 25 | archeology_in 24 26 | is_lost_in 25 27 | intensifies_to 26 28 | different_about 27 29 | put_paper_on 28 30 | in 29 31 | put_back 30 32 | falls 31 33 | connected_to 32 34 | spot 33 35 | appears_on 34 36 | lifts_up 35 37 | can_also_see_here 36 38 | are_still_moving_around_through 37 39 | once_again_spot_object_on_top_of 38 40 | visually_different_about 39 41 | sits_up_on 40 42 | has_just_gone_up_by 41 43 | follows 42 44 | repeat_syllables_with 43 45 | is_emitted_on 44 46 | has_carved 45 47 | 'm_tired_of 46 48 | are_moving_around_at 47 49 | seems_here 48 50 | descend 49 51 | painted_with 50 52 | puts_back 51 53 | are_still_moving_through 52 54 | puts_down 53 55 | put_vial_on 54 56 | can_hear 55 57 | are_moving_around_through 56 58 | has_gone_up_by 57 59 | connected_through 58 60 | shake_awake 59 61 | return_to 60 62 | once_spot_object_on_top_of 61 63 | can_go_north_from 62 64 | are_standing_in_front_of 63 65 | descending 64 66 | cover 65 67 | can_use_exit_through 66 68 | stirs_in 67 69 | are_moving_through 68 70 | put 69 71 | will_ever_see_again 70 72 | can_see 71 73 | pushing_aside 72 74 | suffering_from 73 75 | 'm 74 76 | says 75 77 | can_hear_voice_from 76 78 | looking_at 77 79 | puts_down_again 78 80 | picks_up 79 81 | in_god_is 80 82 | are_still_moving_at 81 83 | can_enter_room_to 82 84 | ai 83 85 | again_spot_object_on_top_of 84 86 | is_in 85 87 | looking_for 86 88 | can_see_here 87 89 | can_only_go_from 88 90 | comes_with 89 91 | being 90 92 | looks 91 93 | are_moving_at 92 94 | lying_on 93 95 | can_use 94 96 | can_use_stairs_through 95 97 | rather_come_to 96 98 | saw_before 97 99 | recognise 98 100 | just_descend 99 101 | occupies 100 102 | will_see_again 101 103 | put_statue_on 102 104 | explodes_below 103 105 | open 104 106 | leads_to 105 107 | crudely_painted_with 106 108 | will_ever_see 107 109 | looks_around 108 110 | is_emitted_from 109 111 | plunge_through 110 112 | is_covered_with 111 113 | lying_still_on 112 114 | shake 113 115 | recognise_shape 114 116 | use 115 117 | crudely_painted_on 116 118 | is_wedged_between 117 119 | are 118 120 | being_crowded_like 119 121 | recognise_shape_as 120 122 | appears_close_to 121 123 | reverberating_with 122 124 | falls_for 123 125 | has 124 126 | have 125 127 | has_carved_monster_in 126 128 | once_spot 127 129 | spot_something_behind 128 130 | made_of 129 131 | explain 130 132 | return 131 133 | says_with 132 134 | are_on 133 135 | can_go_from 134 136 | form 135 137 | gets_up_from 136 138 | sense 137 139 | walking_behind 138 140 | can_only_go_north_from 139 141 | are_still_moving_around_at 140 142 | set_in 141 143 | provides 142 144 | being_crowded_with 143 145 | 's_fixed_in 144 146 | is_written_on 145 147 | touch 146 148 | can_also_see 147 149 | will_see 148 150 | put_iron_key_on 149 151 | studied 150 152 | is_covered 151 153 | is_on 152 154 | manage_after 153 155 | seems 154 156 | -------------------------------------------------------------------------------- /data/jewel_relation2id.tsv: -------------------------------------------------------------------------------- 1 | is_picked_up_by 0 2 | 've_already_squashed 1 3 | imposing 2 4 | one 3 5 | in 4 6 | scrub 5 7 | can_see 6 8 | toss_silver_sword_into 7 9 | just_make_out 8 10 | can_also_see_here 9 11 | leave_fingerprints_over 10 12 | can_also_see 11 13 | have_entered 12 14 | pray_for 13 15 | can_also_see_passages_in 14 16 | leads 15 17 | comes 16 18 | 'd_get 17 19 | traveled_beneath 18 20 | is_cooler 19 21 | standing_in 20 22 | attack_flower_in 21 23 | sheds 22 24 | continues_into 23 25 | 're_running_out_of 24 26 | earning 25 27 | point_for 26 28 | leave_tracks 27 29 | one_of 28 30 | crumbles_off_from 29 31 | can_just_make_out_sort_underneath 30 32 | were_obviously_created_by 31 33 | crashing_back_in 32 34 | shoots_through 33 35 | can_see_passages_in 34 36 | protrude_like 35 37 | can_travel_northeast_into 36 38 | attack 37 39 | 're_across 38 40 | 'd_make 39 41 | is_covered_with 40 42 | sight_of 41 43 | is_bigger 42 44 | standing 43 45 | is_embedded_like 44 46 | leaving_behind 45 47 | lies_here 46 48 | 're_used_to 47 49 | flows_to 48 50 | was 49 51 | 've_squashed 50 52 | still_maintains 51 53 | find 52 54 | far_traveled_beneath 53 55 | toss 54 56 | opens_up_above 55 57 | pound 56 58 | sits 57 59 | has_just_gone_up_by 58 60 | is_in 59 61 | are 60 62 | has_gone_up_by 61 63 | slowly_trickles_up 62 64 | up_to 63 65 | can_make_out 64 66 | can 65 67 | arrive 66 68 | scored 67 69 | 've_arrived_in 68 70 | change_in 69 71 | appears 70 72 | pound_on 71 73 | is 72 74 | is_considerably_cooler 73 75 | can_still_feel 74 76 | opens_up_in 75 77 | features 76 78 | continues_east_into 77 79 | can_see_here 78 80 | can_travel 79 81 | picks_up 80 82 | blowing 81 83 | is_quite_clean_with 82 84 | spend 83 85 | seems 84 86 | is_quickly_picked_up_by 85 87 | covering 86 88 | of 87 89 | pray_to 88 90 | open 89 91 | is_with 90 92 | looks_like 91 93 | is_flattered_by 92 94 | give 93 95 | 'd_better_make 94 96 | become 95 97 | 're_about 96 98 | crashing_down_in 97 99 | leads_west_through 98 100 | flows_from 99 101 | change_from 100 102 | is_embedded_down 101 103 | crashing_in 102 104 | score_for 103 105 | have 104 106 | pound_in 105 107 | would_like 106 108 | loosens 107 109 | walk_across 108 110 | get_chills_down 109 111 | how_far_traveled_beneath 110 112 | is_starting 111 113 | were_created_by 112 114 | sort_of 113 115 | 're_surrounded_on 114 116 | reflect_off 115 117 | also_of_are 116 118 | 're_really_running_out_of 117 119 | were 118 120 | pass_out_due_to 119 121 | dripping_to 120 122 | make_out 121 123 | from 122 124 | lose 123 125 | leave 124 126 | gets_caught_up_in 125 127 | standing_guard_in 126 128 | is_clean_with 127 129 | full_score_for 128 130 | 're 129 131 | restore 130 132 | is_to 131 133 | gasp_in 132 134 | can_make_out_sort_underneath 133 135 | shoots_in 134 136 | heading 135 137 | leave_tracks_on 136 138 | has 137 139 | crashing_back_down_in 138 140 | are_set_of 139 141 | lies 140 142 | beneath 141 143 | can_feel 142 144 | opens_to 143 145 | stop 144 146 | most_of 145 147 | can_just_make_out 146 148 | can_make_out_bag_in 147 149 | crumbles_into 148 150 | is_embedded_into 149 151 | are_peppered_with 150 152 | can_travel_west_into 151 153 | dripping_from 152 154 | shakes 153 155 | quickly_loosens 154 156 | trickles_up 155 157 | get 156 158 | crashing_down_from 157 159 | -------------------------------------------------------------------------------- /data/ludicorp_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | damp_corner 1 3 | your_feet 2 4 | south_corner 3 5 | north 4 6 | Corner_Of_the_Carpark 5 7 | East_Of_Office 6 8 | exit_to_up 7 9 | big 8 10 | Generator_Room 9 11 | coil_of_wire 10 12 | floor 11 13 | main_entrance 12 14 | water 13 15 | fuse 14 16 | corner_damp_corner 15 17 | way 16 18 | south_east_corner_of_carpark 17 19 | you 18 20 | other 19 21 | far_too_thick 20 22 | toughened_glass 21 23 | doors 22 24 | inches 23 25 | back_south 24 26 | bottom_of_stone_stairwell 25 27 | ceiling 26 28 | your_passage 27 29 | exit_to_down 28 30 | few 29 31 | Car 30 32 | long_ladder 31 33 | plant_pots 32 34 | building 33 35 | bulldozer 34 36 | dragon_statue 35 37 | bikeshed 36 38 | hardly_portable 37 39 | exit_to_north 38 40 | thick_bushes 39 41 | large 40 42 | label 41 43 | storage_shed_of_kind 42 44 | sort_of_thermonuclear_weapon 43 45 | Front_Of_The_Office 44 46 | well 45 47 | murky_water 46 48 | dirt 47 49 | lights 48 50 | storage_shed 49 51 | Storage_Shed 50 52 | wild 51 53 | Abandoned_Well 52 54 | gun 53 55 | huge_storage_shed 54 56 | that 55 57 | employees 56 58 | door 57 59 | Bottom_Of_The_Well 58 60 | control 59 61 | The_Delivery_Bay_Gateway 60 62 | ladder 61 63 | meter 62 64 | thick 63 65 | huge 64 66 | Plant_Pots 65 67 | far_thick 66 68 | Maintanence_Stairwell_(Bottom) 67 69 | only_way 68 70 | long_ladder_here 69 71 | delivery_bay 70 72 | damp_corner_damp_corner 71 73 | Dragon_Statue 72 74 | sort_of_tactical_thermonuclear_weapon 73 75 | locked 74 76 | Bike_Shed 75 77 | medium 76 78 | low_building 77 79 | exit_to_south 78 80 | dragon 79 81 | cup 80 82 | corner 81 83 | main_entrance_entrance 82 84 | south_east_corner 83 85 | your_car 84 86 | west_of_office_building_'s_facia 85 87 | securely_locked 86 88 | office_building 87 89 | signs 88 90 | side_gate 89 91 | east_corner 90 92 | pathway 91 93 | glass 92 94 | clearing 93 95 | plants 94 96 | dragon_statue_here 95 97 | fuse_here 96 98 | clearing_in_bushes 97 99 | plant_pots_here 98 100 | exit_to_east 99 101 | direction 100 102 | Coil_of_wire 101 103 | carpark 102 104 | thick_clump_of_bushes 103 105 | plush 104 106 | bike_work 105 107 | main_carpark_carpark 106 108 | east_of_office_building_'s_facia 107 109 | sort_of_tactical_weapon 108 110 | south 109 111 | west 110 112 | Main_Entrance 111 113 | smoke 112 114 | lodged 113 115 | concrete_room_with_low_ceiling 114 116 | long 115 117 | large_gate 116 118 | wire 117 119 | The_Main_Carpark 118 120 | statue 119 121 | Long_Ladder 120 122 | few_inches 121 123 | bushes 122 124 | shed 123 125 | West_Of_Office 124 126 | plant 125 127 | path 126 128 | rhetorical 127 129 | exit_to_west 128 130 | Fuse 129 131 | end 130 132 | gate 131 133 | Storage_Shed_Door 132 134 | Damp_Corner 133 135 | closed 134 136 | storage_shed_door_low_building 135 137 | pots 136 138 | entrance 137 139 | murky 138 140 | end_of_path 139 141 | top_of_stone_stairwell 140 142 | delivery_bay_gateway_large_gate 141 143 | sort 142 144 | generator 143 145 | side 144 146 | car 145 147 | it 146 148 | delivery_bay_gateway_gate 147 149 | abandoned_well 148 150 | your_feet_against_one_side 149 151 | sort_of_weapon 150 152 | nobody 151 153 | footprints 152 154 | coil 153 155 | ladder_here 154 156 | east 155 157 | storage_shed_door_building 156 158 | Gun 157 159 | Some_Bushes 158 160 | dense_bushes 159 161 | diameter 160 162 | receptionists_desk 161 163 | too_thick 162 164 | main_entrance_main_entrance 163 165 | -------------------------------------------------------------------------------- /data/detective_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | elevator 1 3 | first_bathroom 2 4 | angrier 3 5 | holiday_inn_registration_room 4 6 | <<_Video_Store_>> 5 7 | exit_to_west 6 8 | information 7 9 | proportion_to_rest 8 10 | exit_to_down 9 11 | office_>> 10 12 | white 11 13 | that_game_you_scored_120_out_of_a_possible_360,_in_234_turns. 12 14 | wall 13 15 | rhetorical 14 16 | <<_McDonalds_>> 15 17 | exit_to_north 16 18 | pistol 17 19 | grotesquely_proportion 18 20 | is_rest_of_hallway 19 21 | guard 20 22 | help 21 23 | guy 22 24 | <<_Outside_>> 23 25 | dazed_man 24 26 | its_mouth 25 27 | dazed_man_seems_to_calm_down_for_a_moment,_but_suddenly_attacks._Its_mouth_opens_to_reveal_teeth_grotesquely_out_of 26 28 | still_video_store 27 29 | look 28 30 | walk 29 31 | room 30 32 | give 31 33 | paper 32 34 | still_hallway 33 35 | game 34 36 | <<_Alley_>> 35 37 | abstracted 36 38 | outside 37 39 | dazed 38 40 | small_black_pistol 39 41 | crack 40 42 | restore 41 43 | dazed_man_seems_to_be_getting_angrier! 42 44 | east 43 45 | floor 44 46 | <<_Back_of_Music_Store_>> 45 47 | 130 46 48 | him 47 49 | that 48 50 | still_outside 49 51 | hallway_of_large_house_of_mayor 50 52 | <<_Mayor's_house_>> 51 53 | wood 52 54 | <<_Dining_room_>> 53 55 | backroom_of_brickbuster_video 54 56 | <<_Backroom_>> 55 57 | <<_Living_room_>> 56 58 | little_flowers_on_it 57 59 | proportion_to_rest_of_its_body 58 60 | pink 59 61 | <<_Bathroom_>> 60 62 | <<_Holiday_Inn_>> 61 63 | he 62 64 | teeth 63 65 | paper_note 64 66 | <<_Upstairs_hallway_>> 65 67 | west 66 68 | grotesquely_proportion_to_rest_of_its_body 67 69 | <<_Guest_Room_>> 68 70 | exit_to_south 69 71 | <<_Police_Station_>> 70 72 | end_of_hallway 71 73 | piece 72 74 | <<_hallway_>> 73 75 | long 74 76 | is_rest 75 77 | mcdonalds 76 78 | <<_Closet_>> 77 79 | ten_points 78 80 | closet 79 81 | food 80 82 | proportion 81 83 | exit_to_up 82 84 | guest_room 83 85 | small 84 86 | gun 85 87 | <<_Chief's_office_>> 86 88 | <<_Dead_End_>> 87 89 | chief 88 90 | back_of_music_store 89 91 | piece_of_paper 90 92 | cold 91 93 | north 92 94 | note 93 95 | to_the_rest_of_its_body,_a_fact_you_notice_as_those_same_teeth_tear_your_flesh_into_tiny_pieces. 94 96 | video_store_called 95 97 | alley 96 98 | that_game_you_scored_110_out_of_a_possible_360,_in_140_turns. 97 99 | moment 98 100 | still_hallways 99 101 | <<_Holiday_Inn_15th_Floor_>> 100 102 | you 101 103 | piece_of_white_paper 102 104 | <<_Music_Store_>> 103 105 | your_score 104 106 | man 105 107 | bedroom 106 108 | wallpaper 107 109 | music_store 108 110 | 120 109 111 | street 110 112 | 3rd_precinct_police_station 111 113 | grotesquely_proportion_to_rest 112 114 | exit_to_east 113 115 | south 114 116 | flowers 115 117 | wild_look 116 118 | dead_end 117 119 | rest 118 120 | dead 119 121 | wooden_wood 120 122 | living_room 121 123 | chief_'s_office 122 124 | still_streets 123 125 | end 124 126 | his 125 127 | full 126 128 | flowers_on_it 127 129 | to_west_is_rest 128 130 | <<_Bedroom_>> 129 131 | score 130 132 | dining_room 131 133 | little_flowers 132 134 | nothing 133 135 | angrier_abstracted 134 136 | your_way 135 137 | small_closet 136 138 | you_like_to_RESTART,_RESTORE_a_saved_game,_give_the_FULL_score_for_that_game_or_QUIT? 137 139 | weapon 138 140 | to_west_is_rest_of_hallway 139 141 | restart 140 142 | be_getting 141 143 | <<_Hallway_>> 142 144 | 110 143 145 | hallway 144 146 | You_have_died_*** 145 147 | that_game_you_scored_110_out_of_a_possible_360,_in_146_turns. 146 148 | wooden 147 149 | house_at_scene_of_crime 148 150 | nothing_of_intrest 149 151 | -------------------------------------------------------------------------------- /kga2c/vec_env.py: -------------------------------------------------------------------------------- 1 | import redis 2 | import time 3 | import subprocess 4 | from multiprocessing import Process, Pipe 5 | 6 | def start_redis(): 7 | print('Starting Redis') 8 | subprocess.Popen(['redis-server', '--save', '\"\"', '--appendonly', 'no']) 9 | time.sleep(1) 10 | 11 | 12 | def start_openie(install_path): 13 | print('Starting OpenIE from', install_path) 14 | subprocess.Popen(['java', '-mx8g', '-cp', '*', \ 15 | 'edu.stanford.nlp.pipeline.StanfordCoreNLPServer', \ 16 | '-port', '9000', '-timeout', '15000', '-quiet'], cwd=install_path) 17 | time.sleep(1) 18 | 19 | 20 | def worker(remote, parent_remote, env): 21 | parent_remote.close() 22 | env.create() 23 | try: 24 | done = False 25 | while True: 26 | cmd, data = remote.recv() 27 | if cmd == 'step': 28 | if done: 29 | ob, info, graph_info = env.reset() 30 | rew = 0 31 | done = False 32 | else: 33 | ob, rew, done, info, graph_info = env.step(data) 34 | remote.send((ob, rew, done, info, graph_info)) 35 | elif cmd == 'reset': 36 | ob, info, graph_info = env.reset() 37 | remote.send((ob, info, graph_info)) 38 | elif cmd == 'close': 39 | env.close() 40 | break 41 | else: 42 | raise NotImplementedError 43 | except KeyboardInterrupt: 44 | print('SubprocVecEnv worker: got KeyboardInterrupt') 45 | finally: 46 | env.close() 47 | 48 | 49 | class VecEnv: 50 | def __init__(self, num_envs, env, openie_path): 51 | start_redis() 52 | start_openie(openie_path) 53 | self.conn_valid = redis.Redis(host='localhost', port=6379, db=0) 54 | self.closed = False 55 | self.total_steps = 0 56 | self.num_envs = num_envs 57 | self.remotes, self.work_remotes = zip(*[Pipe() for _ in range(num_envs)]) 58 | self.ps = [Process(target=worker, args=(work_remote, remote, env)) 59 | for (work_remote, remote) in zip(self.work_remotes, self.remotes)] 60 | for p in self.ps: 61 | p.daemon = True # if the main process crashes, we should not cause things to hang 62 | p.start() 63 | for remote in self.work_remotes: 64 | remote.close() 65 | 66 | def step(self, actions): 67 | if self.total_steps % 1024 == 0: 68 | self.conn_valid.flushdb() 69 | self.total_steps += 1 70 | self._assert_not_closed() 71 | assert len(actions) == self.num_envs, "Error: incorrect number of actions." 72 | for remote, action in zip(self.remotes, actions): 73 | remote.send(('step', action)) 74 | results = [remote.recv() for remote in self.remotes] 75 | self.waiting = False 76 | return zip(*results) 77 | 78 | def reset(self): 79 | self._assert_not_closed() 80 | for remote in self.remotes: 81 | remote.send(('reset', None)) 82 | results = [remote.recv() for remote in self.remotes] 83 | return zip(*results) 84 | 85 | def close_extras(self): 86 | self.closed = True 87 | for remote in self.remotes: 88 | remote.send(('close', None)) 89 | for p in self.ps: 90 | p.join() 91 | 92 | def _assert_not_closed(self): 93 | assert not self.closed, "Trying to operate on a SubprocVecEnv after calling close()" 94 | -------------------------------------------------------------------------------- /data/karn_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | your_fit_of_spring_cleaning 1 3 | rock 2 4 | exit_to_west 3 5 | exit_to_down 4 6 | floppy 5 7 | your_yo_yo 6 8 | they_open 7 9 | cloth_pouch 8 10 | scarf_here 9 11 | closed_door 10 12 | small_cupboard 11 13 | attached 12 14 | Rocky_Clearing 13 15 | felt_hat_here 14 16 | wall 15 17 | Storage_Room 16 18 | fluid_link 17 19 | rhetorical 18 20 | workshop_this 19 21 | unlit_match 20 22 | cupboard 21 23 | place 22 24 | almost_all_corridors_of_tardis 23 25 | exit_to_north 24 26 | time 25 27 | exit_to_southeast 26 28 | sound 27 29 | open_door 28 30 | tardis_key_here 29 31 | humming_noise 30 32 | main_doors 31 33 | metal_drawer 32 34 | match 33 35 | Rocky_Trail 34 36 | things 35 37 | coordinates 36 38 | located 37 39 | door 38 40 | room 39 41 | tardis_console 40 42 | console_room_console_room 41 43 | your_fit 42 44 | air 43 45 | floppy_felt_hat_here 44 46 | slot 45 47 | operations_of_tardis 46 48 | unclimbable_rock 47 49 | center 48 50 | northwest 49 51 | east 50 52 | floor 51 53 | floppy_hat 52 54 | rotor 53 55 | that 54 56 | spacecraft 55 57 | relatively_flat_piece_of_ground_on_side_of_mountain 56 58 | fluid_link_inside 57 59 | unusual_places 58 60 | direction 59 61 | floppy_hat_here 60 62 | Console_Room 61 63 | brown 62 64 | toolkit 63 65 | rooted 64 66 | minute 65 67 | drifting_through_air 66 68 | your_yo_yo_here 67 69 | west_side 68 70 | corridor 69 71 | hat_here 70 72 | tweed_jacket_(being_worn) 71 73 | west 72 74 | console 73 75 | exit_to_south 74 76 | scanner 75 77 | actual_storage_room 76 78 | unlit 77 79 | your_latest_fit 78 80 | doors 79 81 | loud_whining_sound 80 82 | exit_to_up 81 83 | your_yo_yo_tardis_key 82 84 | small 83 85 | your_toolkit 84 86 | tweed_jacket 85 87 | drifting 86 88 | TARDIS_key 87 89 | key 88 90 | north 89 91 | side_of_room 90 92 | most_unusual_places 91 93 | link 92 94 | long_scarf_here 93 95 | visible 94 96 | hat 95 97 | hardly_portable 96 98 | your_workbench 97 99 | operations 98 100 | tardis_key 99 101 | card 100 102 | humming_noise_permeates_the_air. 101 103 | places 102 104 | clearing 103 105 | you 104 106 | workbench 105 107 | storage_room 106 108 | incredibly_long_scarf_here 107 109 | long_scarf 108 110 | tardis 109 111 | middle_of_east_west_corridor 110 112 | all 111 113 | Workshop 112 114 | brown_card 113 115 | much 114 116 | scarf 115 117 | south_wall 116 118 | actual_storage_room_as_cliche 117 119 | exit_to_east 118 120 | k9 119 121 | incredibly_long_scarf 120 122 | tweed_jacket_here 121 123 | south 122 124 | noise 123 125 | forever 124 126 | your 125 127 | incredibly_long_scarf_(being_worn) 126 128 | center_of_room 127 129 | heart 128 130 | felt_hat 129 131 | your_workshop 130 132 | exit_to_northwest 131 133 | corridor_outside 132 134 | tiny_metal_drawer 133 135 | drawer 134 136 | humming_noise_begins_drifting_through_the_air. 135 137 | your_latest_fit_of_spring_cleaning 136 138 | yo 137 139 | main 138 140 | earth_tremors_as_a_loud_roar_fills_the_air._Looking_up,_you_can_see_a_spacecraft_blasting_upwards_into_the_sky. 139 141 | loud_whining_sound_drifts_through_the_air. 140 142 | floppy_felt_hat 141 143 | distance 142 144 | firmly_rooted 143 145 | yo-yo 144 146 | all_corridors_of_tardis 145 147 | eastern_wall 146 148 | trail 147 149 | firmly_attached 148 150 | tweed 149 151 | last_minute 150 152 | workshop 151 153 | metal 152 154 | lever 153 155 | floppy_felt_hat_(being_worn) 154 156 | side 155 157 | storage_room_as_cliche 156 158 | west_side_of_room 157 159 | they 158 160 | whining_sound 159 161 | loud_sound 160 162 | Corridor 161 163 | southeast 162 164 | corridors_of_tardis 163 165 | small_cloth_pouch 164 166 | sky 165 167 | north_wall 166 168 | button 167 169 | earth_tremors 168 170 | console_room 169 171 | -------------------------------------------------------------------------------- /data/weapon_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | she 1 3 | only_large_elliptical_window 2 4 | They_were_planning_to_win_their_war_with_it." 3 5 | large_window 4 6 | ellipsoidal_room 5 7 | wall 6 8 | Yi_Lono_Mordel_Control_Room 7 9 | cheryl 8 10 | sure 9 11 | says,_"This_is_our_chance_to_make_a_difference,_Tolan._But_only_if_we_do_it_according_to_my_rules._You're_going_to_see 10 12 | says,_"So_I_guess_I'll_finally_make_it_into_the_history_books_by_doing_it_for_them." 11 13 | only_large_window 12 14 | me 13 15 | And,_since_I'm_no_mechanist,_I've_got_this--just_so_I_can_keep_tabs_on_you."_She_shows_you_a_holographic_reproduction_of 14 16 | room,_hovering_over_a_black_base._"There_are_sensors_for_movement,_electromagnetic_radiation,_and_I_don't_know_what_else, 15 17 | we 16 18 | featureless_wall 17 19 | says,_"You_probably_never_realized_it,_Tolan,_but_the_Yi_had_a_somewhat_high_opinion_of_themselves._The_word_Yi_isn't 18 20 | elliptical_window 19 21 | their_name--it_means_'the_end'_or_'the_ultimate'._The_'Yi-Lono-Mordel'_isn't_'the_Yi's_Lono_weapon';_it's_'the_final_Lono 20 22 | center 21 23 | end 22 24 | exit_to_up 23 25 | says,_"Tolan,_my_superiors_don't_want_you_anywhere_near_here._If_they_find_out,_I'll_be_in_a_lot_of_trouble." 24 26 | large_elliptical_window 25 27 | they 26 28 | white_wall 27 29 | me_access 28 30 | hovering 29 31 | leader 30 32 | pair_of_handcuffs_(being_worn) 31 33 | circular 32 34 | you 33 35 | forms 34 36 | featureless_white_wall 35 37 | says,_"The_problem_is_with_the_Lono,_as_you_might_guess." 36 38 | ceiling 37 39 | says,_"Cooperation_will_payoff_in_the_end." 38 40 | you_uncomfortable 39 41 | you_uncomfortable_with_its_perfect_symmetry 40 42 | says,_"If_I_manage_to_find_a_way_to_win_the_war,_they'll_forgive_me._But_I_can't_tell_them_about_it_yet._They_don't_trust 41 43 | doorway 42 44 | yi_lono_mordel_control_room 43 45 | two_curves 44 46 | with_your_help." 45 47 | cooperation_will_payoff 46 48 | tabs 47 49 | black_base 48 50 | window 49 51 | sort_of_information_you_can_get_displayed._As_soon_as_you_bring_some_Yi_text_up,_you_stop._You_don't_touch_anything_until_I 50 52 | yi 51 53 | analyzing_this_room._This_little_display_lets_me_monitor_the_activity_everywhere_in_the_room_so_I_can_see_what_you're_up_to. 52 54 | at_all._I_don't_really_trust_you._But_we've_worked_together,_so_I'm_sure_I_can_keep_you_under_control,_and_more_importantly, 53 55 | only_elliptical_window 54 56 | concave 55 57 | sure_you_can_get_me_access._I_know_you_can_do_this._I_don't_know_if_anybody_else_could." 56 58 | raised_slab 57 59 | slab 58 60 | same_proportions_as_ellipsoidal_room 59 61 | you_holographic_reproduction_of_room 60 62 | don't_think_you'll_get_away_with_anything." 61 63 | activity 62 64 | floor 63 65 | up 64 66 | says,_"As_you_asked,_the_guards_will_keep_their_distance_so_they_won't_disturb_your_concentration._It'll_just_be_you_and 65 67 | curves 66 68 | concave_floor 67 69 | you_holographic_reproduction 68 70 | pair 69 71 | you_uncomfortable_with_its_symmetry 70 72 | i 71 73 | it's_ok_to_continue._Got_it?" 72 74 | mordel 73 75 | its_symmetry 74 76 | see 75 77 | slightly_concave_floor 76 78 | cluster 77 79 | hovering_over_base 78 80 | this 79 81 | you_reproduction_of_room 80 82 | room 81 83 | lono 82 84 | says,_"They're_coming_back,_Tolan._Soon,_we_think._So_before_they_show_up,_I'm_going_to_have_found_a_way_to_put_an_end_to 83 85 | you_reproduction 84 86 | base 85 87 | their_war 86 88 | hovering_over_black_base 87 89 | sighs._"Tolan,_do_you_have_any_idea_how_important_it_is_we_figure_this_place_out,_once_and_for_all?" 88 90 | two_swept_curves 89 91 | says,_"And_of_anyone,_I'm_the_only_one_who_will_be_able_to_make_heads_or_tails_out_of_whatever_information_you_can_dig 90 92 | only_window 91 93 | its_perfect_symmetry 92 94 | i_can_see 93 95 | handcuffs 94 96 | it 95 97 | low_room 96 98 | low_ellipsoidal_room 97 99 | -------------------------------------------------------------------------------- /data/pentari_relation2id.tsv: -------------------------------------------------------------------------------- 1 | should 0 2 | was 1 3 | share_quarters_at 2 4 | shuttle_back_to 3 5 | shattering 4 6 | does_have 5 7 | are_polished_to 6 8 | shuttle_back_and_forth_to 7 9 | swims_as 8 10 | walks_around 9 11 | shuttle_back_and_forth 10 12 | encrusted_here 11 13 | leaves_room_barracks 12 14 | is_here_staring_at 13 15 | being_allowed 14 16 | share 15 17 | directly_ahead_lies 16 18 | would_wait_until 17 19 | is 18 20 | would 19 21 | plans 20 22 | reveal 21 23 | is_partially_blocked_by 22 24 | is_here_sitting_on 23 25 | echo 24 26 | perhaps_larger_than 25 27 | seemed 26 28 | certainly_does_have 27 29 | dominates 28 30 | are_tossed_about 29 31 | can 30 32 | barracks_kept 31 33 | 'll_have 32 34 | are_astonished 33 35 | probably_held_here 34 36 | are_polished 35 37 | hear_shouts_to 36 38 | barracks_kept_close 37 39 | center_of 38 40 | is_long_lined 39 41 | barracks_always_kept 40 42 | can_see_scroll_by 41 43 | looking 42 44 | stretches_into 43 45 | in 44 46 | is_to 45 47 | dot 46 48 | is_with 47 49 | feel_moment 48 50 | can_sense 49 51 | are_horribly_faded_from 50 52 | share_quarters_with 51 53 | 're 52 54 | publish 53 55 | can_also_see_here 54 56 | would_go 55 57 | encrusted 56 58 | are_reminded_of 57 59 | drat 58 60 | 're_slightly_embarassed_by 59 61 | would_first_go 60 62 | has_just_gone_up_by 61 63 | shuttle_back 62 64 | awaits_to 63 65 | find 64 66 | relax_in 65 67 | bounce_off 66 68 | leaves_room_treasury_in 67 69 | duke_of 68 70 | is_barbaric_in 69 71 | article_of 70 72 | bring_here 71 73 | voice_from 72 74 | walk_through 73 75 | inspect 74 76 | held_spears 75 77 | has_gone_up_by 76 78 | notice 77 79 | lined_floor_to 78 80 | winds_upstairs_to 79 81 | mounted_against 80 82 | kept_close 81 83 | step_out_of 82 84 | is_ahead_to 83 85 | remember 84 86 | run 85 87 | enter 86 88 | is_lying_on 87 89 | hit 88 90 | can_see_postcard_in 89 91 | is_staring_at 90 92 | can_see 91 93 | is_surprisingly_small_for 92 94 | recall_genealogy 93 95 | orders_of 94 96 | leaves_room_treasury_past 95 97 | be 96 98 | hear 97 99 | are_at 98 100 | 're_embarassed_by 99 101 | feel 100 102 | luxury_outside 101 103 | shuttle 102 104 | held 103 105 | is_in 104 106 | get_into 105 107 | leaves 106 108 | can_see_here 107 109 | looking_for 108 110 | stands_inside 109 111 | being 110 112 | looks 111 113 | have_off 112 114 | must_serve_as 113 115 | is_sitting_on 114 116 | always_kept 115 117 | hit_hard 116 118 | be_place 117 119 | stretch_out_seemingly_for 118 120 | is_blocked_by 119 121 | larger_than 120 122 | can_see_scroll_here_by 121 123 | grow 122 124 | always_kept_contingent 123 125 | hit_as_hard 124 126 | get_out_of 125 127 | delivered 126 128 | luxury_of 127 129 | damn_run 128 130 | is_lined 129 131 | ahead_lies 130 132 | probably_held 131 133 | probably_held_spears 132 134 | smashes 133 135 | housed 134 136 | seemed_from 135 137 | would_come 136 138 | kept 137 139 | perhaps_delivered 138 140 | shuttle_to 139 141 | echo_loudly 140 142 | are 141 143 | of_scrap_is 142 144 | can_see_sword_in 143 145 | barracks_always_kept_close 144 146 | consists_of 145 147 | kinds_of 146 148 | allowed 147 149 | stretches_to 148 150 | has 149 151 | have 150 152 | winds 151 153 | were 152 154 | is_small_for 153 155 | various_kinds_of 154 156 | begin 155 157 | precede 156 158 | recall 157 159 | north_to 158 160 | bring 159 161 | shoots 160 162 | juts_out_from 161 163 | get_first_out_of 162 164 | are_in 163 165 | stretch_out_for 164 166 | gutted 165 167 | were_housed_outside 166 168 | listening_to 167 169 | even_larger_than 168 170 | slightly_annoyed_voice_from 169 171 | are_scattered 170 172 | kept_contingent 171 173 | form 172 174 | is_just_ahead_to 173 175 | extends_above 174 176 | 's_fixed_in 175 177 | are_highpoints_of 176 178 | lies 177 179 | always_kept_close 178 180 | held_here 179 181 | can_also_see 180 182 | lined 181 183 | perhaps_even_larger_than 182 184 | of 183 185 | annoyed_voice_from 184 186 | -------------------------------------------------------------------------------- /data/awaken_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | grave_marker 1 3 | oak_trees 2 4 | twisted 3 5 | you_scramble 4 6 | exit_to_west 5 7 | northeast_wall 6 8 | exit_to_down 7 9 | muddy_path 8 10 | weeds 9 11 | grave 10 12 | driveway 11 13 | gravel 12 14 | wall 13 15 | wind 14 16 | filling_behind_you 15 17 | rhetorical 16 18 | something 17 19 | its_faded_facade 18 20 | massive 19 21 | unmentionable_sustenance 20 22 | West_Side_of_the_Church 21 23 | oak 22 24 | last_service 23 25 | more 24 26 | exit_to_north 25 27 | northeast 26 28 | exit_to_southeast 27 29 | lightning 28 30 | faint 29 31 | wild 30 32 | debris 31 33 | gate_to_east 32 34 | guard 33 35 | twisted_oaks 34 36 | faint_path 35 37 | the_wind_and_rain_slacken_then_return_with_renewed_force. 36 38 | hail_pounds 37 39 | North_Side_of_the_Church 38 40 | ceiling 39 41 | steeple_of_church 40 42 | huge_oaks 41 43 | their_vehicles 42 44 | facade 43 45 | ivy_covered_barrier 44 46 | muddy 45 47 | moldy_ground 46 48 | crack 47 49 | northwest 48 50 | moss_covered 49 51 | east 50 52 | driveway_runs 51 53 | broken 52 54 | arcs_overhead,_followed_instantly_by_a_blast_of_thunder. 53 55 | them 54 56 | that 55 57 | front 56 58 | it 57 59 | muddy_trail 58 60 | church_clean 59 61 | smaller_limb 60 62 | handful_of_gravel 61 63 | window 62 64 | hole 63 65 | lightning_arcs 64 66 | exit_to_northeast 65 67 | rain 66 68 | church 67 69 | dog_growls_at_you_threateningly. 68 70 | dog 69 71 | ivy_barrier 70 72 | other 71 73 | west_side 72 74 | wash 73 75 | storm_is_trying 74 76 | southwest_wall 75 77 | west 76 78 | a_brief_moment,_hail_pounds_against_you_then_subsides. 77 79 | sustenance 78 80 | rampant 79 81 | In_the_Mud 80 82 | exit_to_south 81 83 | east_wall 82 84 | window_frames 83 85 | only_exit 84 86 | has_broken 85 87 | window_frames_seeming 86 88 | brief_moment 87 89 | large_branch 88 90 | chain 89 91 | gate 90 92 | wild_here 91 93 | muddy_water 92 94 | exit_to_up 93 95 | building 94 96 | southeast_wall 95 97 | more_than_water 96 98 | west_wall 97 99 | a_loud_CRACK,_a_bolt_of_lightning_strikes_the_steeple_of_the_church. 98 100 | sides 99 101 | its_faded_white_facade 100 102 | markers 101 103 | stone 102 104 | north 103 105 | open_window_frames_seeming 104 106 | its_facade 105 107 | it_see 106 108 | loud_crack 107 109 | East_Side_of_the_Church 108 110 | diseased 109 111 | handful 110 112 | path 111 113 | overhead 112 114 | moment 113 115 | your_path 114 116 | everything 115 117 | clearing 116 118 | earth 117 119 | you 118 120 | bolt 119 121 | worshippers 120 122 | moss 121 123 | southwest 122 124 | blast_of_thunder_rattles_the_ground. 123 125 | northwest_wall 124 126 | branches 125 127 | grasses 126 128 | formidable 127 129 | exit 128 130 | more_than_mere_water 129 131 | mud 130 132 | ivy 131 133 | storm 132 134 | south_wall 133 135 | exit_to_east 134 136 | south 135 137 | cracked_sidewalk 136 138 | world_living 137 139 | guard_dog 138 140 | sidewalk 139 141 | windows 140 142 | trees 141 143 | huge_twisted_oaks 142 144 | front_of_church 143 145 | open_window_frames 144 146 | limbs 145 147 | held_long_ago 146 148 | exit_to_southwest 147 149 | filling_in_hole_behind_you 148 150 | Front_of_the_Church 149 151 | steeple 150 152 | graveyard 151 153 | exit_to_northwest 152 154 | held 153 155 | services 154 156 | surrounded_on_sides_by_iron 155 157 | service 156 158 | untended 157 159 | blankly_overhead 158 160 | filling 159 161 | held_ago 160 162 | blast 161 163 | trail 162 164 | unable 163 165 | you_threateningly 164 166 | its_chain 165 167 | broken_limb 166 168 | weed 167 169 | Graveyard 168 170 | mold 169 171 | its_way 170 172 | side 171 173 | almost_storm_is_trying 172 174 | branches_seeming 173 175 | world 174 176 | its_white_facade 175 177 | marker 176 178 | limb 177 179 | water 178 180 | stone_markers 179 181 | their_storm 180 182 | southeast 181 183 | ground 182 184 | disturbed_grave 183 185 | oak_branch 184 186 | oaks 185 187 | branch 186 188 | blast_of_thunder 187 189 | sky 188 190 | north_wall 189 191 | thunder 190 192 | fence 191 193 | filling_in_hole 192 194 | -------------------------------------------------------------------------------- /data/dragon_relation2id.tsv: -------------------------------------------------------------------------------- 1 | gaze_at 0 2 | float_in 1 3 | can_go_north_south 2 4 | surrounded_by 3 5 | light_filters_through 4 6 | get_off 5 7 | can_just_glimpse_steel_in 6 8 | can_see_silver_coin_on 7 9 | run_wildly 8 10 | stand_in 9 11 | seeps_around 10 12 | continues_north 11 13 | open_doorway_to 12 14 | run_as_fast 13 15 | soft_calls_in 14 16 | has_just_gone_down_by 15 17 | can_glimpse_away 16 18 | find 17 19 | way_out 18 20 | run_wildly_beside 19 21 | run_as_fast_inside 20 22 | is_covered_in 21 23 | mug_in 22 24 | leads_north_into 23 25 | can_taste 24 26 | fill_mug_with 25 27 | is_towards 26 28 | are_those_of 27 29 | are_tightly_folded_on 28 30 | notice 29 31 | fill 30 32 | is_ground_to 31 33 | can_hear 32 34 | is_starting 33 35 | calls_in 34 36 | filters_through 35 37 | move_along 36 38 | see 37 39 | forge 38 40 | rustle_gently_in 39 41 | put_iron_key_on 40 42 | stands_closeby_to 41 43 | have_found 42 44 | are_open_to 43 45 | runs_off 44 46 | box_on 45 47 | stretches 46 48 | moves_off_by 47 49 | can_just_glimpse_away 48 50 | is_swampy_ground_to 49 51 | can_just_glimpse_far_away 50 52 | put_instruction_sheet_into 51 53 | layer_of 52 54 | be 53 55 | can_just_glimpse 54 56 | stands_to 55 57 | can_see 56 58 | has_ago_broken_down 57 59 | cry_in 58 60 | has 59 61 | may_have 60 62 | rustle_in 61 63 | can_glimpse_steel_away_in 62 64 | put_cardboard_box_on 63 65 | comes_up_to 64 66 | look_for 65 67 | been 66 68 | buy 67 69 | put_coin_on 68 70 | can_see_ruins_to 69 71 | leads_deeper_into 70 72 | has_gone_down_by 71 73 | has_broken_down_beside 72 74 | seems 73 75 | leaves 74 76 | rises_gently_from 75 77 | leads_into 76 78 | is_of 77 79 | disappears_from 78 80 | run_inside 79 81 | flies_out_of 80 82 | can_just_make_out 81 83 | run 82 84 | grey_of 83 85 | stands_near 84 86 | has_long_ago_broken_down_beside 85 87 | in 86 88 | run_wildly_as_fast_beside 87 89 | rises_from 88 90 | ferocious_power_of 89 91 | put_pile_on 90 92 | crashing_sound_of 91 93 | sound_of 92 94 | crashing_sound_in 93 95 | can_glimpse_steel_in 94 96 | can_glimpse 95 97 | takes 96 98 | down_into 97 99 | put_chair_into 98 100 | can_taste_salt_spray_on 99 101 | has_broken_down 100 102 | leads_east_deeper_into 101 103 | suddenly_moves_off_by 102 104 | look_around_for 103 105 | run_wildly_as_fast 104 106 | seem 105 107 | comes_on 106 108 | can_glimpse_far_away 107 109 | more_mountains_in 108 110 | dance_above 109 111 | brush 110 112 | can_see_pewter_mug_on 111 113 | shut_behind 112 114 | leads_south_deeper_into 113 115 | deep_in 114 116 | held_together_by 115 117 | is_in 116 118 | has_ago_broken_down_beside 117 119 | run_wildly_fast 118 120 | drop 119 121 | run_wildly_fast_beside 120 122 | can_make_out 121 123 | power_of 122 124 | put_iron_key_behind 123 125 | collapsed 124 126 | disturb 125 127 | is_lying 126 128 | can_just_glimpse_steel_far_away_in 127 129 | of_pile_is 128 130 | are_covered_in 129 131 | been_formed_under 130 132 | put_pewter_mug_into 131 133 | run_wildly_inside 132 134 | thin_layer_of 133 135 | doorway_to 134 136 | slowly_heaving 135 137 | put_silver_coin_into 136 138 | can_glimpse_steel_far_away_in 137 139 | cry_of 138 140 | flute_in 139 141 | can_go 140 142 | held_by 141 143 | is_blocked_by 142 144 | sit_on 143 145 | rips_off 144 146 | mountains_in 145 147 | is 146 148 | get_off_first 147 149 | leads_south_into 148 150 | can_see_nail_behind 149 151 | run_wildly_as_fast_inside 150 152 | are_folded_on 151 153 | do_want_to 152 154 | taking 153 155 | have 154 156 | first_taking 155 157 | has_gone_up_by 156 158 | can_see_here 157 159 | stretches_to 158 160 | seems_to 159 161 | covered_in 160 162 | run_fast_beside 161 163 | looks 162 164 | winding_between 163 165 | deeper_into 164 166 | leads_eastwards_into 165 167 | leading_into 166 168 | looking_in 167 169 | can_go_south 168 170 | put_on 169 171 | get_onto 170 172 | has_just_gone_up_by 171 173 | of 172 174 | can_see_table_behind 173 175 | has_long_ago_broken_down 174 176 | sound_in 175 177 | hear 176 178 | is_closeby_to 177 179 | up_to 178 180 | smells 179 181 | leads_through 180 182 | heaving 181 183 | asks 182 184 | grow_between 183 185 | can_make_out_away 184 186 | can_go_north 185 187 | like 186 188 | run_beside 187 189 | wants 188 190 | nestling_in 189 191 | shut_inside 190 192 | sea_to 191 193 | coin_in 192 194 | fills 193 195 | did 194 196 | run_fast_inside 195 197 | run_as_fast_beside 196 198 | stand_inside 197 199 | calls_of 198 200 | put 199 201 | continues 200 202 | lived_in 201 203 | look 202 204 | are_just_those_of 203 205 | run_fast 204 206 | soft_calls_of 205 207 | gaze_around_at 206 208 | are 207 209 | run_wildly_fast_inside 208 210 | rips 209 211 | spinning 210 212 | leads 211 213 | can_just_glimpse_steel_away_in 212 214 | -------------------------------------------------------------------------------- /data/moonlit_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | bas_relief 1 3 | walls 2 4 | world_'s_reckoning 3 5 | exit_to_west 4 6 | exit_to_down 5 7 | gentle_warmth 6 8 | marble 7 9 | sweet_fragrance 8 10 | mass 9 11 | lady's_tortoise-shell_comb_(broken) 10 12 | calligraphies 11 13 | pines 12 14 | wall 13 15 | smoke 14 16 | tasseled_fan 15 17 | rhetorical 16 18 | surface 17 19 | garden_summer_'s_heady_blooms 18 20 | these 19 21 | crane 20 22 | needle 21 23 | darkness 22 24 | ocarina 23 25 | chiming_sound 24 26 | place 25 27 | bronze 26 28 | exit_to_north 27 29 | shadows 28 30 | dark 29 31 | sound 30 32 | clear_sound 31 33 | bones_crumble_into_dust 32 34 | unreadable_sigils 33 35 | silhouettes 34 36 | clay_ocarina 35 37 | reckoning 36 38 | barren_branches 37 39 | dregs 38 40 | room 39 41 | silhouettes_flung 40 42 | moonlit_chamber_moonlight 41 43 | lady's_tortoise-shell_comb 42 44 | court_ensemble 43 45 | arranged_in_deliberate_shapes 44 46 | comb_long_broken 45 47 | symphony_bronze_gong 46 48 | passion 47 49 | Silent_Symphony 48 50 | obedient 49 51 | stoneware 50 52 | comb_broken_as_memento 51 53 | center 52 54 | east 53 55 | floor 54 56 | garden_'s_metaphysical_center 55 57 | its_frame 56 58 | singers_'_unfolding_fans 57 59 | them 58 60 | that 59 61 | room_'s_center 60 62 | bronze_gong 61 63 | tortoise_shell_comb 62 64 | porcelain 63 65 | silhouettes_flung_against_walls 64 66 | arranged 65 67 | your_attempts 66 68 | shapes_of_phoenix 67 69 | summer_'s_blooms 68 70 | bas_relief_motifs_spiral 69 71 | summer_'s_heady_blooms 70 72 | silent_symphony_single_bronze_gong 71 73 | table 72 74 | its_wooden_frame_in_room_'s_center 73 75 | summer 74 76 | chamber_of_silence 75 77 | illusion_of_depth 76 78 | Skeletal_Banquet_(on_the_stairs) 77 79 | ghostly_smoke 78 80 | metaphysical_center 79 81 | bas_reliefs_spiral 80 82 | shell 81 83 | teeth 82 84 | bones_crumble 83 85 | other 84 86 | obedient_to_season 85 87 | nine_stringed_zithers 86 88 | Moonlit_Chamber 87 89 | Moonlit_Chamber_(on_the_stairs) 88 90 | exit_to_south 89 91 | chopsticks 90 92 | single_bronze_gong 91 93 | dichotomies 92 94 | silk 93 95 | horns 94 96 | silk_cushions 95 97 | touch 96 98 | porcelain_mask 97 99 | stairs 98 100 | chamber_of_brooding_silence 99 101 | undying_garden_summer_'s_blooms 100 102 | exit_to_up 101 103 | heady_blooms 102 104 | none 103 105 | passageways 104 106 | Shadow_Armory 105 107 | winter_'s_quiet 106 108 | jade_compass 107 109 | illusion 108 110 | pair 109 111 | undying_garden_summer 110 112 | teeth_on_jade_compass 111 113 | garden 112 114 | justiciar 113 115 | feather 114 116 | taking 115 117 | touches 116 118 | north 117 119 | cushions 118 120 | portable 119 121 | fans 120 122 | garden_barren_branches 121 123 | unfolding_fans 122 124 | evidence 123 125 | maple 124 126 | Shadow_Armory_(on_the_stairs) 125 127 | obedient_to_new_season 126 128 | Skeletal_Banquet 127 129 | hardly_portable 128 130 | two_brothers 129 131 | silks 130 132 | other_dichotomies 131 133 | bas 132 134 | ivory_chopsticks 133 135 | garden_summer_'s_blooms 134 136 | warmth 135 137 | unliving_trees 136 138 | you 137 139 | Silent_Symphony_(on_the_silk_cushions) 138 140 | clear_chiming_sound 139 141 | sigils 140 142 | illusion_of_greater_depth 141 143 | constellations 142 144 | court 143 145 | screen 144 146 | bas_relief_motifs_spiral_downward 145 147 | branches 146 148 | your_eye 147 149 | shadow 148 150 | arranged_in_shapes 149 151 | stringed_zithers 150 152 | much 151 153 | clay 152 154 | bones 153 155 | mural 154 156 | relief 155 157 | translucence 156 158 | comb_long_broken_as_memento 157 159 | promises 158 160 | exit_to_east 159 161 | its_frame_in_room_'s_center 160 162 | silent_symphony_bronze_gong 161 163 | moonlight 162 164 | dragon 163 165 | harvest 164 166 | calligraphies_of_light 165 167 | south 166 168 | undying_garden_barren_branches 167 169 | weapons 168 170 | bas_relief_motifs 169 171 | flowers 170 172 | door_screen 171 173 | turn 172 174 | hawk 173 175 | trees 174 176 | pair_of_ivory_chopsticks 175 177 | Undying_Garden 176 178 | you_entered 177 179 | compass 178 180 | a_porcelain_mask 179 181 | kite 180 182 | undying_garden_summer_'s_heady_blooms 181 183 | blooms 182 184 | dust 183 185 | traditional_half_circle 184 186 | glassware 185 187 | comb 186 188 | fragrance 187 189 | comb's_teeth 188 190 | unchangeable 189 191 | phoenix 190 192 | ivory 191 193 | negative 192 194 | and_silks_(worn) 193 195 | chamber 194 196 | banquet 195 197 | its_wooden_frame 196 198 | fan 197 199 | shadow_armory 198 200 | shadow_armory_shadows 199 201 | comb_'s_teeth 200 202 | only_weapons 201 203 | vague_fragrance 202 204 | they 203 205 | light 204 206 | clay_ocarinas 205 207 | world 206 208 | cry 207 209 | shapes 208 210 | armor 209 211 | shapes_of_maple_leaf 210 212 | false_garden 211 213 | symphony_single_bronze_gong 212 214 | comb_broken 213 215 | vague_sweet_fragrance 214 216 | sky 215 217 | garden_'s_center 216 218 | heedless 217 219 | leaf 218 220 | -------------------------------------------------------------------------------- /data/snacktime_relation2id.tsv: -------------------------------------------------------------------------------- 1 | take 0 2 | 've_seen_in 1 3 | push_door_with 2 4 | now_'s_sleeping 3 5 | sounds_of 4 6 | sit_down_on 5 7 | can_only_go_from 6 8 | is_held_carefully_between 7 9 | restore_game_from 8 10 | can_snatch_up_can_with 9 11 | make_better 10 12 | pull_with 11 13 | taking_sandwich_out 12 14 | will_need 13 15 | is_here 14 16 | once_sees_can_here 15 17 | going_through 16 18 | 's_always_almost_tripping_like 17 19 | close 18 20 | is_here_sleeping 19 21 | stick 20 22 | can_hear_from 21 23 | sees_can 22 24 | rush_from 23 25 | can_only_go 24 26 | turn_around_in 25 27 | can_also_see 26 28 | have_missed 27 29 | rush_of 28 30 | snatch_up_sock_with 29 31 | hear_from 30 32 | 's_almost_tripping_on 31 33 | is_currently_taking_up 32 34 | is_with 33 35 | can_hear 34 36 | 's_almost_tripping_like 35 37 | 's_always_tripping_on 36 38 | yelling 37 39 | quiet_down_after 38 40 | putting 39 41 | go_in 40 42 | wait_until 41 43 | put_dino_on 42 44 | see 43 45 | 've_seen_things_in 44 46 | are_on 45 47 | trips_on 46 48 | now_starts 47 49 | sometimes_'ve_seen 48 50 | can_go_south_to 49 51 | putting_sandwich_from 50 52 | food 51 53 | scored 52 54 | snatch_up_dino_with 53 55 | 's_always_tripping_like 54 56 | shake_off 55 57 | quiet_after 56 58 | making 57 59 | can_go_from 58 60 | is_wrapped_around 59 61 | shake_off_water 60 62 | leave 61 63 | 's_sleeping 62 64 | can_hear_sound_from 63 65 | can_also_see_here 64 66 | is_held_between 65 67 | can_only_go_east_to 66 68 | can_see 67 69 | use 68 70 | cooked_in 69 71 | has 70 72 | turned_into 71 73 | is_here_snatch_up 72 74 | closes 73 75 | 'll_have 74 76 | is_here_held_carefully_between 75 77 | stretched_out_on 76 78 | is_taking_up 77 79 | can_go_to 78 80 | pause_for 79 81 | anyway_like 80 82 | gets 81 83 | held_carefully_between 82 84 | 're 83 85 | finally_hear 84 86 | open 85 87 | seems 86 88 | scoops_up 87 89 | going 88 90 | are_in 89 91 | shake_off_water_around 90 92 | is_is_to 91 93 | pull_on 92 94 | taking_sandwich_in 93 95 | sitting_from 94 96 | would_like 95 97 | go_to 96 98 | snatch_up 97 99 | snatch_up_can_with 98 100 | put_can_on 99 101 | drop_sock_into 100 102 | bowl_of 101 103 | sit 102 104 | is_coming_out_of 103 105 | putting_together 104 106 | go_south_to 105 107 | held_is_between 106 108 | sometimes_'ve_seen_in 107 109 | spots 108 110 | in 109 111 | bigger_bowl_of 110 112 | leaving 111 113 | see_here 112 114 | love_with 113 115 | meant 114 116 | go 115 117 | is_currently_taking_up_space_on 116 118 | looks_in 117 119 | push 118 120 | looking 119 121 | is_on 120 122 | makes 121 123 | sound_of 122 124 | stick_sock_in 123 125 | held_between 124 126 | opens_up 125 127 | soon_closes 126 128 | anything_from 127 129 | pull_up_with 128 130 | also_see_here 129 131 | you_into 130 132 | leaving_food_room_with 131 133 | leaving_food_room 132 134 | sleeping 133 135 | sees 134 136 | is_doing 135 137 | familiar_rush_from 136 138 | make 137 139 | is_in 138 140 | drop 139 141 | is_snatch_up_sock_with 140 142 | want 141 143 | one_for 142 144 | 's_tripping_like 143 145 | turns 144 146 | hear_sounds_in 145 147 | carefully_use 146 148 | go_south_in 147 149 | put_sock_into 148 150 | eat 149 151 | sometimes_'ve_seen_things_in 150 152 | shake_off_roll 151 153 | hear_glugging_sound_from 152 154 | is_set_up_in 153 155 | put_sock_on 154 156 | restore_quit_from 155 157 | push_box_door_with 156 158 | can_go 157 159 | pulls_out 158 160 | right_now_'s_sleeping 159 161 | pull_up_on 160 162 | is_sleeping 161 163 | sitting_room_from 162 164 | restore_quit 163 165 | is 164 166 | something_about 165 167 | opens_up_water_room_door_after 166 168 | taking 167 169 | go_with 168 170 | also_see 169 171 | always_makes 170 172 | can_see_here 171 173 | is_here_held_between 172 174 | like_room_to 173 175 | hangs_down_from 174 176 | hear_sound_from 175 177 | can_go_east_to 176 178 | anyway_like_room_to 177 179 | being 178 180 | follow 179 181 | can_only_go_to 180 182 | sometimes_you_into 181 183 | get 182 184 | once_sees 183 185 | of 184 186 | now_starts_with 185 187 | asked 186 188 | almost_trips_on 187 189 | shake_off_roll_around 188 190 | cover 189 191 | hear 190 192 | light_push_door_with 191 193 | keeps 192 194 | can_snatch_up 193 195 | sitting 194 196 | like 195 197 | starts 196 198 | starts_with 197 199 | is_taking_up_space_on 198 200 | tuck_up 199 201 | hangs_from 200 202 | hanging_over 201 203 | once_sees_can 202 204 | dino 203 205 | is_snatch_up 204 206 | stands_for 205 207 | put 206 208 | pull 207 209 | spots_sock_in 208 210 | light_push 209 211 | pull_back_up_on 210 212 | turn_around_at_time 211 213 | love_on 212 214 | sees_can_here 213 215 | are 214 216 | leaving_food_room_in 215 217 | 've_seen 216 218 | is_here_snatch_up_sock_with 217 219 | familiar_rush_of 218 220 | pull_back_up_with 219 221 | is_to 220 222 | putting_sandwich_together_from 221 223 | restore 222 224 | held_carefully_is_between 223 225 | flying 224 226 | 's_tripping_on 225 227 | 's_always_almost_tripping_on 226 228 | -------------------------------------------------------------------------------- /data/acorncourt_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | for_another_launch. 1 3 | Court_Yard 2 4 | ground. 3 5 | air_of_colonialism 4 6 | tree_'s_massive_branches 5 7 | twigs 6 8 | air_of_british_colonialism_about_it 7 9 | eleven_tennis_balls 8 10 | air_of_late_colonialism 9 11 | tree_'s_branches 10 12 | exit_to_east 11 13 | in_which_nineteen_tennis_balls 12 14 | it 13 15 | five_green_acorns 14 16 | large_window 15 17 | east 16 18 | five_acorns 17 19 | net 18 20 | direction 19 21 | tennis_ball_launching_machine 20 22 | high_grey_stone_wall 21 23 | ball_machine's_spring_mechanism_twangs_noisily,_and_uselessly_given_nothing_to_throw,_then_pulls_slowly_back_into_place_in 22 24 | ground_in_breeze_across_cracked_tennis_court 23 25 | breeze 24 26 | three_tennis_balls 25 27 | holes 26 28 | window 27 29 | falling_back_to_ground_bellow 28 30 | launching_machine 29 31 | of_the_tree_before_falling_back_to_the_ground_bellow. 30 32 | gate 31 33 | squirrels_nest 32 34 | air_of_late_british_colonialism 33 35 | tin_pail 34 36 | nineteen_tennis_balls 35 37 | green_acorn 36 38 | acorns 37 39 | six_tennis_balls 38 40 | you 39 41 | ground_across_tennis_court_with_net 40 42 | me 41 43 | five_tennis_balls 42 44 | eight_tennis_balls 43 45 | launching_spring 44 46 | air_of_british_colonialism 45 47 | ground_in_breeze_across_tennis_court 46 48 | ground_in_breeze_across_tennis_court_with_rotting_net 47 49 | cracked_green_tennis_court 48 50 | spilling 49 51 | exit_to_west 50 52 | twenty_tennis_balls 51 53 | shadows 52 54 | device_spitters 53 55 | one_corner_of_court_yard 54 56 | bucket 55 57 | iron 56 58 | ground 57 59 | relic 58 60 | spring 59 61 | balls 60 62 | ball 61 63 | ball_machine 62 64 | seventeen_tennis_balls 63 65 | in_which_tennis_ball 64 66 | ground_across_cracked_tennis_court_with_net 65 67 | west 66 68 | ground_across_tennis_court 67 69 | wall 68 70 | air 69 71 | tennis_ball_here 70 72 | ground_in_breeze_listlessly_across_tennis_court 71 73 | machine_driven_by_machine_'s_spring_mechanism 72 74 | green_acorns 73 75 | far_your_head 74 76 | seven_tennis_balls 75 77 | in_which_twenty_tennis_balls 76 78 | carpeting 77 79 | machine_driven_by_machine_'s_fashioned_spring_mechanism 78 80 | thirteen_tennis_balls 79 81 | rhetorical 80 82 | ground_listlessly_across_tennis_court_with_net 81 83 | fifteen_tennis_balls 82 84 | assembly 83 85 | tree 84 86 | acorn 85 87 | tin_bucket 86 88 | twenty_one_tennis_balls 87 89 | air_of_late_british_colonialism_about_it 88 90 | exit_to_up 89 91 | two_tennis_balls 90 92 | ornate_iron_gate_set_into_rock 91 93 | stone 92 94 | tennis_ball_launches_out_of_the_machine_driven_by_the_machine's_old_fashioned_spring_mechanism._The_ball_bounces_about_the 93 95 | ground_in_breeze_across_cracked_tennis_court_with_net 94 96 | air_of_colonialism_about_it 95 97 | ground_in_breeze_across_cracked_tennis_court_with_rotting_net 96 98 | nine_tennis_balls 97 99 | air_about_it 98 100 | machine_driven_by_machine_'s_old_fashioned_spring_mechanism 99 101 | ground_across_cracked_tennis_court 100 102 | large_squirrels_nest 101 103 | shower 102 104 | ground_listlessly_across_tennis_court 103 105 | south 104 106 | large_oak_tree 105 107 | relic_from_1930s 106 108 | tin 107 109 | ground_bellow 108 110 | tennis_ball_launches_out_of_the_machine_driven_by_the_machine's_old_fashioned_spring_mechanism._The_ball_lands_uselessly_on 109 111 | court_yard_good_sized_courtyard 110 112 | old_fashioned_spring_mechanism 111 113 | in_which_tin_bucket 112 114 | falling_to_ground_bellow 113 115 | tennis_balls 114 116 | spring_mechanism_twangs_noisily 115 117 | falling 116 118 | machine 117 119 | rusty_tin_pail 118 120 | which 119 121 | long_shadows 120 122 | massive_branches 121 123 | unable 122 124 | machine_driven 123 125 | light 124 126 | ground_in_breeze_listlessly_across_tennis_court_with_net 125 127 | branches 126 128 | falling_back 127 129 | sixteen_tennis_balls 128 130 | large 129 131 | east_wall 130 132 | stories 131 133 | ground_in_breeze 132 134 | noisy_cacophony_of_pseudo_humorous_mechanical_sounds 133 135 | court 134 136 | branches_of_tree 135 137 | north 136 138 | ground_across_tennis_court_with_rotting_net 137 139 | eighteen_tennis_balls 138 140 | ground_in_breeze_listlessly_across_tennis_court_with_rotting_net 139 141 | that 140 142 | four_tennis_balls 141 143 | machine_driven_by_machine_'s_old_spring_mechanism 142 144 | noisy_symphony_winds_to_halt 143 145 | your_head 144 146 | ground_across_cracked_tennis_court_with_rotting_net 145 147 | dirt 146 148 | oak_tree 147 149 | good_sized_courtyard 148 150 | twelve_tennis_balls 149 151 | grass_near_ball_machine 150 152 | grass 151 153 | coil 152 154 | court_yard 153 155 | a 154 156 | tin_bucket_here 155 157 | tennis_ball 156 158 | exit_to_south 157 159 | air_of_late_colonialism_about_it 158 160 | exit_to_down 159 161 | sticks 160 162 | one_corner 161 163 | ground_in_breeze_across_tennis_court_with_net 162 164 | rotting_net 163 165 | hardly_portable 164 166 | dimming_light 165 167 | exit_to_north 166 168 | ground_listlessly_across_tennis_court_with_rotting_net 167 169 | ten_tennis_balls 168 170 | fourteen_tennis_balls 169 171 | -------------------------------------------------------------------------------- /data/tryst205_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | wad 1 3 | hallway_upstairs_hallway 2 4 | gnome 3 5 | upstairs_hallway 4 6 | nothing_more_than_annex_between_several_other_rooms_of_house 5 7 | exit_to_up 6 8 | candy_bar_here 7 9 | you 8 10 | your_gold_watch 9 11 | south 10 12 | exit_to_west 11 13 | bedroom_door_dropped 12 14 | soapy 13 15 | startled_little_man 14 16 | object_number_69 15 17 | gold 16 18 | man 17 19 | that 18 20 | exit_to_northeast 19 21 | too_disgusting 20 22 | Master_Bathroom 21 23 | Master_Bedroom 22 24 | trouble 23 25 | whistle 24 26 | open_curtain 25 27 | staring_at_ceiling 26 28 | refreshed_from_your_hiatus_from_consciousness 27 29 | floor 28 30 | car 29 31 | wad_of_gum 30 32 | south_wall 31 33 | hallway 32 34 | from_door 33 35 | door_ledge 34 36 | better 35 37 | shower 36 38 | just_disgusting 37 39 | little_toy_car_here 38 40 | gurgle 39 41 | black 40 42 | beat-up_old_bag_(which_is_closed) 41 43 | staring 42 44 | toy_car_here 43 45 | your_room 44 46 | cramp 45 47 | Master_Bedroom_(in_the_bed) 46 48 | stairway 47 49 | kids 48 50 | your_feet 49 51 | watch 50 52 | small_area 51 53 | little_bit 52 54 | Mark's_Room_(on_the_bench) 53 55 | your_hiatus 54 56 | rhetorical 55 57 | comin 56 58 | glance 57 59 | curtain 58 60 | your_hiatus_from_consciousness 59 61 | silent 60 62 | toy 61 63 | your_antics 62 64 | really_nothing_more_than_annex_between_several_other_rooms_of_house 63 65 | pillows 64 66 | west 65 67 | spurs_clattering 66 68 | all 67 69 | little_gnome_here 68 70 | little_gnomish_man 69 71 | way 70 72 | feel 71 73 | a_sleepy 72 74 | their_gum 73 75 | few_words 74 76 | greenish_tinge 75 77 | your_bedroom 76 78 | master_bedroom 77 79 | already_closed 78 80 | nothing 79 81 | north 80 82 | your_move 81 83 | here_bag 82 84 | food 83 85 | closet 84 86 | little 85 87 | refreshed 86 88 | bed 87 89 | northeast 88 90 | exit_to_east 89 91 | dirty 90 92 | gumball 91 93 | children 92 94 | get 93 95 | feel_much_better 94 96 | Mark's_Room 95 97 | ledge 96 98 | someone 97 99 | really_nothing 98 100 | rooms 99 101 | your_watch 100 102 | mess 101 103 | then_silent 102 104 | gooey 103 105 | silver 104 106 | your_score 105 107 | home 106 108 | get_first 107 109 | carpet_like_glue 108 110 | your_move_in_small_area 109 111 | messy_side 110 112 | considerably_better_than_your_children_'s_rooms 111 113 | walk 112 114 | your_stomach 113 115 | your_watch_from_your_wrist 114 116 | also_bit 115 117 | open_curtain_here 116 118 | moldy_candy_bar_here 117 119 | dirty_clothes 118 120 | Kids'_Bathroom 119 121 | shower_curtain 120 122 | exit_to_north 121 123 | thoughtfully_sprinkled 122 124 | toy_car 123 125 | candy_bar 124 126 | Upstairs_Hallway 125 127 | gooey_gum 126 128 | moving 127 129 | it 128 130 | towels 129 131 | exit_to_south 130 132 | words 131 133 | also_little_bit 132 134 | side 133 135 | bar 134 136 | sprinkled 135 137 | assorted_toys 136 138 | interspersed 137 139 | carpet 138 140 | move 139 141 | south_to_west 140 142 | you_reach 141 143 | Mark's_Room_(on_the_bench)_(on_the_bed) 142 144 | blue_gumball 143 145 | On_the_Floor 144 146 | stomach_is_starting_to_feel_much_better. 145 147 | george 146 148 | your_bedroom_is 147 149 | items 148 150 | moldy 149 151 | yer_trouble 150 152 | disgusting 151 153 | room 152 154 | curtain_here 153 155 | you_reach_for_gumball 154 156 | closet_door 155 157 | upstairs_nothing_more_than_annex_between_several_other_rooms_of_house 156 158 | which 157 159 | gold_watch_(being_worn) 158 160 | upstairs_really_nothing_more_than_annex_between_several_other_rooms_of_house 159 161 | your_head 160 162 | east 161 163 | considerably_better 162 164 | i 163 165 | dresser 164 166 | wall 165 167 | comin_master_bathroom_beautiful_plants 166 168 | a 167 169 | kati 168 170 | mark 169 171 | tinge 170 172 | spacious_walk 171 173 | interspersed_with_assorted_toys 172 174 | a_somewhat_sleepy 173 175 | two_points 174 176 | you_start 175 177 | east_in_closet 176 178 | better_than_your_children_'s_rooms 177 179 | moldy_candy_bar 178 180 | upstairs_nothing 179 181 | Mark's_Room_(on_the_bed) 180 182 | gnomish_man 181 183 | five_points 182 184 | quick_glance 183 185 | feel_better 184 186 | your_gold_watch_from_your_wrist 185 187 | one_swift_movement 186 188 | little_toy_car 187 189 | your_previous_antics 188 190 | fact 189 191 | gum 190 192 | interspersed_with_toys 191 193 | water 192 194 | cowboy_hat 193 195 | machinery 194 196 | already_open 195 197 | just_too_disgusting 196 198 | other 197 199 | hurt 198 200 | bag 199 201 | bench 200 202 | Darkness 201 203 | bit 202 204 | quite_refreshed 203 205 | quite_refreshed_from_your_hiatus 204 206 | ceiling 205 207 | toys 206 208 | mirrored_doors 207 209 | surprisingly_good 208 210 | clattering 209 211 | you_start_to_north 210 212 | door 211 213 | candy 212 214 | little_gnome 213 215 | gnome_here 214 216 | wad_of_gooey_gum 215 217 | startled_man 216 218 | exit_to_down 217 219 | little_man 218 220 | upstairs_really_nothing 219 221 | clothes 220 222 | good 221 223 | refreshed_from_your_hiatus 222 224 | closed 223 225 | dexterity 224 226 | finished_dresser 225 227 | bench_here 226 228 | only_way 227 229 | quite_refreshed_from_your_hiatus_from_consciousness 228 230 | bar_of_soap 229 231 | -------------------------------------------------------------------------------- /data/enchanter_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | low_smoky_hills 1 3 | while 2 4 | well_concealed_acrimony_beneath_surface 3 5 | tired 4 6 | components 5 7 | spell_book 6 8 | exit_to_northwest 7 9 | rest 8 10 | are_becoming_quite_hungry. 9 11 | deserted_village 10 12 | exit_to_northeast 11 13 | nitfol 12 14 | belboz_returning 13 15 | are_at_a_fork_in_the_road_where_paths_to_the_northwest_and_southwest_girdle_the_base_of_the_Lonely_Mountain_and_a_smaller 14 16 | moon 15 17 | hear_a_rustling_in_the_brambles_nearby,_and_you_catch_a_glimpse_of_something_small_and_furry_as_it_scurries_away. 16 18 | are_beginning_to_feel_faint_from_lack_of_water. 17 19 | set 18 20 | you_snore_blissfully 19 21 | of_a_spell_of_great_healing_power._The_other_members_of_the_Circle_are_pleased_to_see_you_revived,_but_worried_by_the 20 22 | Long_Road 21 23 | what 22 24 | are_beginning_to_tire. 23 25 | strange_dream 24 26 | rustling_in_brambles 25 27 | contents 26 28 | dream 27 29 | look_at_the_object 28 30 | belboz_returning_to_contents_of_manuscript 29 31 | tire 30 32 | You_have_died_**** 31 33 | waning_moon 32 34 | lips_are_parched._If_you_don't_get_a_drink_soon_you_will_pass_out. 33 35 | look 34 36 | quite_thirsty 35 37 | debate 36 38 | exit_to_south 37 39 | "I_think_Krill_is_too_powerful,"_says_one._"This_inexperienced_wizard_will_never_defeat_one_so_puissant_as_he."_Quiet 38 40 | smoky_hills 39 41 | stomach_is_starting_to_grumble. 40 42 | your_sleep 41 43 | worn_sign 42 44 | well_concealed_acrimony 43 45 | you_good 44 46 | drink 45 47 | are_becoming_quite_thirsty. 46 48 | exit_to_up 47 49 | blorb 48 50 | acrimony 49 51 | oppressive 50 52 | disturbed 51 53 | they 52 54 | providing_light_fork 53 55 | mountain 54 56 | frotz 55 57 | members_of_circle 56 58 | belboz_returning_to_contents 57 59 | set_in_west 58 60 | lack_of_water 59 61 | belboz_necromancer 60 62 | lack 61 63 | concealed_acrimony 62 64 | rustling 63 65 | box 64 66 | long_road 65 67 | sickly_yellow_light_bright_enough 66 68 | you 67 69 | components_of_spell 68 70 | belboz_returning_frequently_to_contents_of_ancient_manuscript 69 71 | its_place 70 72 | glowing_strong_box 71 73 | quiet_discussion 72 74 | lands 73 75 | grumble 74 76 | do 75 77 | place 76 78 | book 77 79 | contents_of_manuscript 78 80 | fork 79 81 | awaken_among_the_members_of_the_Circle._Belboz_the_Necromancer_looks_tired,_and_scattered_about_are_the_remains_of_the 80 82 | castle 81 83 | concealed_acrimony_beneath_surface 82 84 | exit_to_southeast 83 85 | krill 84 86 | other_members 85 87 | point_of_decision_on_road 86 88 | send_you_back.... 87 89 | faint 88 90 | glimpse_of_something_small 89 91 | village 90 92 | you_snore 91 93 | exit_to_east 92 94 | stars 93 95 | parched 94 96 | lit 95 97 | after_while_disturbed_by_dream 96 98 | darkened_place 97 99 | are_very_thirsty_now._You'd_better_have_a_drink_soon. 98 100 | something_small 99 101 | clear_dark_sky 100 102 | hungry 101 103 | sun 102 104 | exit_to_west 103 105 | contents_of_ancient_manuscript 104 106 | spell 105 107 | ensues,_with_well-concealed_acrimony_beneath_the_surface. 106 108 | forest 107 109 | low_hills 108 110 | ground 109 111 | your_cloak 110 112 | spells 111 113 | blorb_spell 112 114 | now_off 113 115 | strong 114 116 | glimpse_of_something 115 117 | necromancer 116 118 | open 117 119 | set_behind_lonely_mountain_in_west 118 120 | gnusto_spell 119 121 | belboz_returning_frequently_to_contents_of_manuscript 120 122 | east 121 123 | set_behind_lonely_mountain 122 124 | things 123 125 | are_very_hungry_now._You'd_better_have_something_to_eat. 124 126 | lonely_mountain 125 127 | sight 126 128 | members 127 129 | face 128 130 | circling 129 131 | sign 130 132 | belboz_returning_to_contents_of_ancient_manuscript 131 133 | Fork 132 134 | belboz_returning_frequently 133 135 | remains 134 136 | time 135 137 | lighter 136 138 | discussion 137 139 | sun_has_now_risen_above_the_hills. 138 140 | object 139 141 | air 140 142 | hand 141 143 | glowing_box 142 144 | rather_dry 143 145 | components_of_spell_of_great_healing_power 144 146 | your_lips 145 147 | components_of_spell_of_healing_power 146 148 | path 147 149 | very_thirsty_now 148 150 | sky 149 151 | darkening_sky_is_lit_by_a_waning_moon. 150 152 | very_hungry_now 151 153 | off 152 154 | nitfol_spell 153 155 | forests 154 156 | faint_from_lack_of_water 155 157 | scattered 156 158 | brambles 157 159 | road 158 160 | one 159 161 | ensues,_with_Belboz_returning_frequently_to_the_contents_of_the_ancient_manuscript._His_wishes_prevail,_and_it_is_agreed 160 162 | exit_to_southwest 161 163 | dark_sky 162 164 | base_of_lonely_mountain 163 165 | glimpse 164 166 | bramble 165 167 | dry 166 168 | worn 167 169 | your_mind 168 170 | acrimony_beneath_surface 169 171 | quite_hungry 170 172 | fork_in_road 171 173 | your_mouth 172 174 | frotz_spell 173 175 | feel 174 176 | hills 175 177 | sleep 176 178 | pass_out_from_lack_of_water_and_die. 177 179 | road_here 178 180 | mouth_is_getting_rather_dry. 179 181 | thirsty 180 182 | the_object 181 183 | base 182 184 | road_where 183 185 | darkening_sky 184 186 | point_of_decision 185 187 | point 186 188 | gnusto 187 189 | setback 188 190 | clear_sky 189 191 | gaze 190 192 | exit_to_north 191 193 | something 192 194 | belboz 193 195 | exit_to_down 194 196 | faint_from_lack 195 197 | your_powers 196 198 | belboz_returning_frequently_to_contents 197 199 | winds_its_way_to_the_east. 198 200 | spell_book_(providing_light) 199 201 | release 200 202 | your_stomach 201 203 | strong_box 202 204 | after_while_disturbed_by_strange_dream 203 205 | west 204 206 | sun_starts_to_set_behind_the_Lonely_Mountain_in_the_west. 205 207 | -------------------------------------------------------------------------------- /data/reverb_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | low 1 3 | armadillo 2 4 | judge 3 5 | clothing_department 4 6 | Office_Building 5 7 | dudes 6 8 | exit_to_west 7 9 | cute_couple 8 10 | cake 9 11 | Downtown 10 12 | exit_to_down 11 13 | 623_convenient_california_locations 12 14 | up_north 13 15 | handwritten 14 16 | Thompson,"_says_the_judge,_"I've_had_about_enough_of_you_wasting_this_court's_time._Unless_you_can_demonstrate_a_clear 15 17 | wall 16 18 | Office_Building,_Second_Floor 17 19 | department 18 20 | Clothing_Department 19 21 | cosmetics_department_shelves 20 22 | barkley 21 23 | going 22 24 | exit_to_north 23 25 | hairspray 24 26 | northeast 25 27 | pizza_parlor 26 28 | exit_to_southeast 27 29 | anything 28 30 | lightning 29 31 | door_labelled 30 32 | guy 31 33 | sewer_vent 32 34 | just_dudes 33 35 | clothing_department_at_barkley_'s 34 36 | Behind_the_Counter 35 37 | see_a_woman_hail_a_taxi_and_drive_off. 36 38 | Street,_Near_Courthouse 37 39 | door 38 40 | normal_dudes_here_in_city 39 41 | bustling_law_office 40 42 | gunther_pretty_unremarkable 41 43 | man_and_a_woman_walk_by_holding_hands._They_make_a_cute_couple. 42 44 | Cosmetics_Department 43 45 | day 44 46 | just_nameless_dudes 45 47 | normal_dudes 46 48 | box 47 49 | store 48 50 | clerk 49 51 | center 50 52 | center_of_downtown_san_doppleton 51 53 | east 52 54 | middle_of_mr._tasty_'s_pizza_parlor 53 55 | doofus 54 56 | floor 55 57 | large_pizza 56 58 | cheese 57 59 | Courthouse 58 60 | 623_california_locations 59 61 | guy_in_a_business_suit_walks_past_you. 60 62 | honor,_I_wish_you_would_reconsider,"_says_the_district_attorney._"The_defendant_has_a_long_history_of_disappearances,_and 61 63 | parlor 62 64 | just_normal_dudes_here_in_city 63 65 | office_door_labelled 64 66 | file 65 67 | cake_for_prisoner 66 68 | on_hearsay._Now,_I_recommend_you_gather_some_solid_evidence_when_you_prepare_for_the_trial,_because_the_minimal_research 67 69 | office_building 68 70 | downtown_san_doppleton 69 71 | main_drag 70 72 | up_south 71 73 | edge 72 74 | shelves 73 75 | window 74 76 | Roof_of_Office_Building 75 77 | mr._tasty 76 78 | john_winnick 77 79 | exit_to_northeast 78 80 | normal_nameless_dudes 79 81 | going_today 80 82 | teenaged_girls_go_by_carrying_shopping_bags. 81 83 | is_counsel's_opinion_that_he_will_not_be_around_in_a_week_to_stand_trial._I_recommend_transporting_him_to_a_more_secure 82 84 | attorney 83 85 | normal_nameless_dudes_here 84 86 | rider 85 87 | district_attorney_tries_hopelessly_to_plead_her_case. 86 88 | district_attorney_tries_desperately_to_convince_the_judge_that_Guido_"The_Armadillo"_Calzone_plans_to_escape,_but_it's 87 89 | to_public_safety,_I'm_going_to_recommend_that_Mr._Calzone_be_transported_to_a_minimum_security_prison_pending_further 88 90 | other 89 91 | defendant 90 92 | His_trial_is_to_be_held_next_week."_The_district_attorney_is_clearly_not_happy_with_this_pronouncement. 91 93 | just_normal_nameless_dudes 92 94 | just_dudes_here 93 95 | west 94 96 | bars 95 97 | lined 96 98 | she_won't_get_anywhere_without_more_evidence. 97 99 | exit_to_south 98 100 | just_nameless_dudes_here 99 101 | men_bump_into_each_other._They_murmur_apologies_and_go_their_separate_ways. 100 102 | stairs 101 103 | nameless_dudes 102 104 | normal_dudes_here 103 105 | doors 104 106 | business_district 105 107 | their_ways 106 108 | exit_to_up 107 109 | west_wall 108 110 | behind_counter_counter_at_mr._tasty_'s_pizza_parlor 109 111 | do 110 112 | just_nameless_dudes_here_in_city 111 113 | dudes_here 112 114 | couple 113 115 | sewer 114 116 | teenaged_girls 115 117 | nothing_special 116 118 | nobody 117 119 | north 118 120 | prisoner 119 121 | large 120 122 | note 121 123 | business_suit 122 124 | fronds 123 125 | heart_of_san_doppleton_'s_drag 124 126 | just_normal_nameless_dudes_here 125 127 | san_doppleton 126 128 | handwritten_note 127 129 | sure 128 130 | east_here 129 131 | nameless_dudes_here 130 132 | their_separate_ways 131 133 | Office_Building,_Third_Floor 132 134 | supposed 133 135 | woman 134 136 | nothing_special_about_west_wall 135 137 | just_normal_nameless_dudes_here_in_city 136 138 | you 137 139 | bottles_of_perfume 138 140 | just_dudes_here_in_city 139 141 | pizza 140 142 | man 141 143 | southwest 142 144 | all 143 145 | Pizza_Parlor 144 146 | wife 145 147 | just_normal_dudes 146 148 | counter_at_mr._tasty_'s_pizza_parlor 147 149 | crowded_courthouse 148 150 | hardware 149 151 | street 150 152 | bottles 151 153 | lawyer 152 154 | exit_to_east 153 155 | south 154 156 | racks 155 157 | sidewalk 156 158 | edge_of_town 157 159 | hardware_department_at_barkley_'s 158 160 | heart 159 161 | exit_to_southwest 160 162 | just_normal_dudes_here 161 163 | exit_to_northwest 162 164 | courthouse 163 165 | normal_nameless_dudes_here_in_city 164 166 | roof 165 167 | calzone 166 168 | big_ugly_low_rider_cruises_by,_blaring_rap_music_loud_enough_to_make_the_sidewalk_shake. 167 169 | heart_of_san_doppleton_'s_main_drag 168 170 | office 169 171 | Street,_by_Pizza_Parlor 170 172 | nameless_dudes_here_in_city 171 173 | nothing 172 174 | office_door 173 175 | opinion_is_duly_noted,_Miss_Thompson,"_says_the_judge_sarcastically._"But_the_fact_is,_the_'long_history'_you_refer_to_is 174 176 | apologies 175 177 | vent 176 178 | barkley_'s_department_store 177 179 | her 178 180 | metal 179 181 | taxi 180 182 | shopping_bags 181 183 | Street,_by_Department_Store 182 184 | obviously_done_won't_be_enough_to_convict_the_defendant." 183 185 | counter 184 186 | roof_of_government_building 185 187 | they 186 188 | two_teenaged_girls 187 189 | dudes_here_in_city 188 190 | metal_file 189 191 | sewer_vent_nearby 190 192 | Law_Office 191 193 | southeast 192 194 | office_doors 193 195 | Hardware_Department 194 196 | large_pizza_box 195 197 | district 196 198 | gunther_unremarkable 197 199 | -------------------------------------------------------------------------------- /data/spirit_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | brother_tuffberry_'s_quarters_vacant 1 3 | your_room_in_monastery 2 4 | top_of_short_downwards_slope_into_snowy_area_below 3 5 | end_of_east_west_hallway 4 6 | tiny_mouse_scurries_into_view,_then_disappears_under_a_barrel. 5 7 | path 6 8 | open_cloister 7 9 | Hallway_(basement) 8 10 | blocked_after_short_distance_by_snow_drift 9 11 | where_covered_in_blanket_of_snow 10 12 | exit_to_east 11 13 | effort 12 14 | prayer 13 15 | downwards 14 16 | east 15 17 | Your_Quarters 16 18 | path_east 17 19 | Bottom_of_Snowy_Slope 18 20 | anything 19 21 | back_slope 20 22 | exit_to_northeast 21 23 | where_covered_in_blanket 22 24 | northeast 23 25 | Hades 24 26 | window 25 27 | top_into_area_below 26 28 | cliff_face_to_west 27 29 | pine_trees 28 30 | sitting_squat_in_middle 29 31 | top_into_snowy_area_below 30 32 | clearing_ringed_by_trees 31 33 | various_shrubs 32 34 | small_cramped_storeroom_stocked_with_various_crates 33 35 | flour 34 36 | paper 35 37 | flame 36 38 | Storeroom 37 39 | prayer_book 38 40 | swirling_snow 39 41 | thin_journal 40 42 | wide_smooth_river_of_ice 41 43 | southwest 42 44 | top_of_short_downwards_slope_into_snowy_area 43 45 | top_of_downwards_slope 44 46 | large_boulder 45 47 | you 46 48 | Monastery_Chapel 47 49 | steeple 48 50 | long 49 51 | On_Frozen_River 50 52 | where_covered_in_light_blanket 51 53 | hallway_on_second_floor_of_monastery 52 54 | exit_to_west 53 55 | preparing_table 54 56 | all 55 57 | sleeping_pallet 56 58 | shelves_of_various_books 57 59 | empty_space 58 60 | your_way 59 61 | where_covered 60 62 | top_of_short_downwards_slope 61 63 | middle_of_clearing 62 64 | members_of_order 63 65 | copy 64 66 | barrel 65 67 | blocked_after_distance_by_huge_snow_drift 66 68 | Hallway_(east_end) 67 69 | small_trail 68 70 | end_of_west_hallway 69 71 | end 70 72 | top_of_downwards_slope_into_snowy_area 71 73 | blocked_after_short_distance_by_huge_snow_drift 72 74 | devoted_visitor 73 75 | top 74 76 | her 75 77 | cozy_cramped_room 76 78 | boulder 77 79 | Brother_Palemon's_Quarters 78 80 | clearing_ringed_by_pine_trees 79 81 | covered_in_light_blanket_of_snow 80 82 | torn_page 81 83 | Monastery_Kitchen 82 84 | west_end 83 85 | blocked 84 86 | copy_of_the_Holy_Scriptures 85 87 | rod 86 88 | west 87 89 | sitting_squat 88 90 | brother_toolbox_'s_quarters 89 91 | North_of_Frozen_River 90 92 | wall 91 93 | ceiling 92 94 | lone_tree 93 95 | quarters 94 96 | note 95 97 | air 96 98 | stone_marker 97 99 | monastery_library 98 100 | covered_in_blanket_of_snow 99 101 | top_of_downwards_slope_into_area 100 102 | slope 101 103 | dirty 102 104 | covered_in_light_blanket 103 105 | shrubs 104 106 | brother_pufpistery 105 107 | mountain_trail 106 108 | brother_toolbox 107 109 | Cloister_Walkway 108 110 | clearing_ringed 109 111 | pallet 110 112 | top_of_downwards_slope_into_snowy_area_below 111 113 | sitting_in_middle 112 114 | paths 113 115 | hallway_in_monastery_basement 114 116 | west_end_of_east_west_hallway 115 117 | rest 116 118 | top_of_peak_of_gray_mountains 117 119 | sand 118 120 | top_of_mountain 119 121 | Covered_Trail 120 122 | rhetorical 121 123 | unusual_effort 122 124 | center_of_intersection 123 125 | domain 124 126 | tree 125 127 | my 126 128 | east_end_of_west_hallway 127 129 | exit_to_southwest 128 130 | other 129 131 | rocky_mountain_trail 130 132 | exit_to_up 131 133 | your 132 134 | Cliff_Face 133 135 | huge_snow_drift 134 136 | filled_crossroads 135 137 | scriptures 136 138 | Entrance_Hall 137 139 | book 138 140 | stone 139 141 | his 140 142 | snow_drift 141 143 | Hallway_(near_quarters_of_Palemon_and_TuffBerry) 142 144 | Refectory 143 145 | chants 144 146 | east_end_of_east_west_hallway 145 147 | monastery_gardens 146 148 | frotz 147 149 | Steeple_Room 148 150 | covered 149 151 | Rocky_Mountain_Trail 150 152 | here 151 153 | chant 152 154 | covered_in_blanket 153 155 | gnusto 154 156 | stairs 155 157 | exit 156 158 | east_end 157 159 | Private_Meditation_Room 158 160 | Monastery_Gardens 159 161 | Top_of_Snowy_Slope 160 162 | joseph 161 163 | hallway 162 164 | south 163 165 | unused_nearby 164 166 | Monastery_Library 165 167 | greeted 166 168 | brother_joseph_'s_quarters 167 169 | west_end_of_west_hallway 168 170 | Hallway_(near_your_quarters) 169 171 | many_devoted_visitor 170 172 | trail 171 173 | distance 172 174 | journal 173 175 | Brother_TuffBerry's_Quarters 174 176 | Hallway_(west_end) 175 177 | cliff_face 176 178 | clearing 177 179 | shelves 178 180 | short_distance 179 181 | round_room_with_colored_glass_windows 180 182 | trees 181 183 | only_exit 182 184 | blocked_after_distance_by_snow_drift 183 185 | center 184 186 | Refectory_(on_the_sleeping_pallet) 185 187 | bank 186 188 | middle 187 189 | north 188 190 | page 189 191 | top_of_downwards_slope_into_area_below 190 192 | top_of_short_downwards_slope_into_area_below 191 193 | mountain_top 192 194 | Hallway_(second_floor,_west) 193 195 | small_bare_chamber 194 196 | that 195 197 | refectory 196 198 | snow 197 199 | brother_palemon_'s_quarters 198 200 | huge_soup_cauldron 199 201 | down_small_snow 200 202 | table 201 203 | brother_joseph 202 204 | sitting 203 205 | floor 204 206 | sitting_squat_in_middle_of_clearing 205 207 | Snowy_Outcropping 206 208 | rose 207 209 | scroll 208 210 | sack 209 211 | Hallway_(second_floor,_east) 210 212 | exit_to_south 211 213 | top_into_snowy_area 212 214 | Mountain_Peak 213 215 | exit_to_down 214 216 | where_covered_in_light_blanket_of_snow 215 217 | monastery_chapel 216 218 | place 217 219 | top_into_area 218 220 | top_of_snowy_mountain_peak 219 221 | brother_palemon 220 222 | down_snow 221 223 | Your_Quarters_(on_the_sleeping_pallet) 222 224 | sitting_in_middle_of_clearing 223 225 | unused 224 226 | top_of_short_downwards_slope_into_area 225 227 | Snowy_Intersection 226 228 | exit_to_north 227 229 | south_bank 228 230 | large_stone_marker 229 231 | Hallway_(near_your_quarters)_(on_the_sleeping_pallet) 230 232 | river 231 233 | soup_cauldron 232 234 | -------------------------------------------------------------------------------- /data/snacktime_entity2id.tsv: -------------------------------------------------------------------------------- 1 | things_inside_it 0 2 | you_smell_right_again 1 3 | long_soft_thing 2 4 | one_shiny_here 3 5 | minute 4 6 | moment 5 7 | part_of_cold_box_door 6 8 | rush 7 9 | empty 8 10 | high 9 11 | frame 10 12 | sound_of_places 11 13 | dinosaur 12 14 | hand 13 15 | his_arm_hanging_over_side 14 16 | exit_to_east 15 17 | various_leftovers 16 18 | much 17 19 | it 18 20 | round 19 21 | opened 20 22 | east 21 23 | saved_game 22 24 | rush_of_water_from_water_room 23 25 | tall 24 26 | sock_sandwich 25 27 | his_way_to_thing 26 28 | water_room 27 29 | quit 28 30 | help 29 31 | soft_things 30 32 | your_chance_to_snack 31 33 | room_your_bed 32 34 | his_arm_hanging_over_side_of_soft_thing 33 35 | fuzzy 34 36 | wait_until_dinner_eat 35 37 | small_bowl 36 38 | jars 37 39 | here_round 38 40 | hold 39 41 | just_minute 40 42 | box 41 43 | one_can 42 44 | times 43 45 | food_getting 44 46 | cool_drink 45 47 | wet_sock_here 46 48 | still 47 49 | you 48 50 | something 49 51 | Water_Room 50 52 | low_bed 51 53 | way 52 54 | side 53 55 | see 54 56 | long 55 57 | around_lot 56 58 | box_of_light_can 57 59 | your_dino 58 60 | arm 59 61 | sounds_of_water 60 62 | food 61 63 | here_held_carefully 62 64 | nice_drink 63 65 | happy_sound 64 66 | exit_to_west 65 67 | his_way 66 68 | side_of_long_thing 67 69 | all 68 70 | go_to_food_room 69 71 | his_arm_hanging_over_side_of_thing 70 72 | you_want 71 73 | your_way 72 74 | sound_of_box_closing 73 75 | secret_places 74 76 | nice_cool_drink 75 77 | familiar_rush_of_water_from_little_water_room 76 78 | box_of_food_room 77 79 | leave 78 80 | your_bowl 79 81 | box_of_light_food_room 80 82 | leftovers 81 83 | pet 82 84 | your_low_bed 83 85 | going_through_secret_places 84 86 | really_loud 85 87 | can 86 88 | door 87 89 | your_mouth 88 90 | touch 89 91 | your_pet_maneuvers 90 92 | pretty_comfy 91 93 | box_of_light_dino 92 94 | wet 93 95 | your_nose 94 96 | glugging_sound 95 97 | cold_box_door 96 98 | second 97 99 | your_pet 98 100 | west 99 101 | soft 100 102 | out_room 101 103 | open 102 104 | your_chance 103 105 | door_right 104 106 | small 105 107 | only_way 106 108 | his_way_to_long_soft_thing 107 109 | bottles 108 110 | lot 109 111 | east_much_better 110 112 | going 111 113 | box_of_light 112 114 | air 113 115 | munching_away 114 116 | legged 115 117 | he_must_be_thinking 116 118 | little_licks 117 119 | things_like_outside 118 120 | strange_glugging_sound 119 121 | wooden 120 122 | sandwich_sitting 121 123 | one_shiny 122 124 | have_finished 123 125 | familiar_rush_from_little_water_room 124 126 | you_foamy 125 127 | shiny 126 128 | he 127 129 | spots 128 130 | sleeping_room 129 131 | his_arm_hanging_over_side_of_long_thing 130 132 | lady_cooking 131 133 | hold_of_your_pet_'s_arm 132 134 | food_getting_cooked_in_box 133 135 | your_bed 134 136 | cloth 135 137 | go 136 138 | is_to_west 137 139 | here_held 138 140 | looking 139 141 | box_of_dino 140 142 | his_arm_hanging_over_side_of_long_soft_thing 141 143 | box_door 142 144 | held_carefully 143 145 | long_thing 144 146 | box_of_shiny_can 145 147 | while 146 148 | space 147 149 | you_happy 148 150 | this 149 151 | bigger 150 152 | game 151 153 | exit_to_up 152 154 | sound 153 155 | your 154 156 | loud 155 157 | out_sitting_room 156 158 | your_pet_twitches 157 159 | little 158 160 | part 159 161 | rush_from_little_water_room 160 162 | smaller 161 163 | water 162 164 | sandwich 163 165 | dinner_eat 164 166 | screen 165 167 | rush_of_water_from_little_water_room 166 168 | make 167 169 | sitting_room 168 170 | sound_of_secret_places 169 171 | room 170 172 | go_with_food 171 173 | then_again 172 174 | here 173 175 | roll 174 176 | then_still_again 175 177 | food_getting_cooked_in_box_of_light 176 178 | cold_air 177 179 | his_arm 178 180 | room_your_low_bed 179 181 | your_food_bowl 180 182 | something_about_sock 181 183 | munching 182 184 | other_room 183 185 | inside 184 186 | Sitting_Room 185 187 | wrapped 186 188 | part_of_his_dream 187 189 | held 188 190 | his_way_to_soft_thing 189 191 | sock 190 192 | little_water_room 191 193 | part_of_box_door 192 194 | room_you 193 195 | his_way_to_long_thing 194 196 | moment_staring_at_contents 195 197 | familiar_rush_of_water_from_water_room 196 198 | sock_here 197 199 | licks 198 200 | now_empty 199 201 | Food_Room 200 202 | familiar_rush_of_water 201 203 | food_getting_cooked_in_box_of 202 204 | your_teeth 203 205 | is 204 206 | rush_from_water_room 205 207 | restart 206 208 | there 207 209 | her_job 208 210 | familiar_rush 209 211 | everything 210 212 | they 211 213 | drink 212 214 | sandwich_fixings 213 215 | much_better 214 216 | your_dino_here 215 217 | light 216 218 | again 217 219 | smaller_things 218 220 | water_room_door 219 221 | bed 220 222 | your_pet_has_finished 221 223 | side_of_soft_thing 222 224 | east_much 223 225 | right_now_empty 224 226 | getting 225 227 | still_again 226 228 | two_sides 227 229 | hardy 228 230 | one_shiny_can 229 231 | shiny_can 230 232 | north 231 233 | you_smell 232 234 | fixings 233 235 | moment_staring 234 236 | lots 235 237 | your_ears 236 238 | thing 237 239 | that 238 240 | portable 239 241 | his_arm_hanging 240 242 | food_getting_cooked 241 243 | door_of_cold_box 242 244 | munching_away_on_sandwich 243 245 | 0 244 246 | east_to_room 245 247 | food_room 246 248 | things_like_outside_inside_it 247 249 | sitting 248 250 | box_of_can 249 251 | opening 250 252 | Sleeping_Room 251 253 | your_head 252 254 | wait 253 255 | good 254 256 | three_times 255 257 | secret 256 258 | going_through_places 257 259 | stuff 258 260 | sound_of_cold_box_closing 259 261 | places 260 262 | dino 261 263 | snack 262 264 | you_smell_again 263 265 | exit_to_south 264 266 | smaller_soft_things 265 267 | exit_to_down 266 268 | door_right_at_your_nose_level 267 269 | quit_water_room 268 270 | little_stuff 269 271 | cold_box 270 272 | wet_sock 271 273 | east_to_sitting_room 272 274 | soft_thing 273 275 | magic_touch 274 276 | bowl 275 277 | sounds 276 278 | hardly_portable 277 279 | things 278 280 | comfy 279 281 | your_pet_laughing 280 282 | sure 281 283 | munching_on_sandwich 282 284 | box_of_light_shiny_can 283 285 | familiar_rush_from_water_room 284 286 | exit_to_north 285 287 | rush_of_water 286 288 | high_bed 287 289 | side_of_thing 288 290 | low 289 291 | side_of_long_soft_thing 290 292 | working 291 293 | door_of_box 292 294 | box_of 293 295 | -------------------------------------------------------------------------------- /data/anchor_relation2id.tsv: -------------------------------------------------------------------------------- 1 | can_go_to 0 2 | meet 1 3 | pick 2 4 | usually_feel 3 5 | of_clearing_is 4 6 | lies_among 5 7 | throwing_shadows_across 6 8 | glance_over_in 7 9 | try 8 10 | grows 9 11 | were 10 12 | slip 11 13 | dropping_to 12 14 | push_aside 13 15 | can_go_northeast_to 14 16 | slip_gold_band_from 15 17 | go 16 18 | can_see 17 19 | just_talked_to 18 20 | slip_umbrella_into 19 21 | leads_up_hill_to 20 22 | keening_of 21 23 | take_off 22 24 | bounds_courtyard_to 23 25 | can_only_go_back_to 24 26 | tucked_in 25 27 | blocks_opening 26 28 | lies 27 29 | casting_little_ledge_into 28 30 | turning_into 29 31 | strewn_with 30 32 | wriggle_underneath 31 33 | are_impenetrably_thick_beyond 32 34 | can_leave_up_slope_to 33 35 | can_also_see_here 34 36 | rolling_across 35 37 | going_up_to 36 38 | putting_things_on 37 39 | has_diminished_to 38 40 | leads_back 39 41 | cross 40 42 | casting 41 43 | runs_to 42 44 | bought_coat_during 43 45 | leads_to 44 46 | can_exit 45 47 | pass_through 46 48 | can_go_west_back_northeast_to 47 49 | lap_at 48 50 | block_path_to 49 51 | feel_without 50 52 | leads_up 51 53 | stenciled_across 52 54 | can_take_road_to 53 55 | slip_in_through 54 56 | throwing 55 57 | opens_to 56 58 | grows_down 57 59 | is_wrapped_in 58 60 | forks_here_to 59 61 | cluster_in 60 62 | perhaps_pushed 61 63 | blocks 62 64 | casting_little_concrete_ledge_into 63 65 | of 64 66 | carries 65 67 | go_by 66 68 | are 67 69 | flicker_ominously_with 68 70 | gap_in 69 71 | meet_here 70 72 | leads_across 71 73 | slackens_off_to 72 74 | make 73 75 | can_only_go_west_back_to 74 76 | of_buildings_is 75 77 | making 76 78 | crawl_through 77 79 | bought 78 80 | rising_from 79 81 | feel 80 82 | also_leads_through 81 83 | eaten 82 84 | enjoy 83 85 | can_go_west_to 84 86 | poke_up_like 85 87 | leads_toward 86 88 | bounds 87 89 | soaking_up 88 90 | first_taking_off 89 91 | beaten_through 90 92 | is_with 91 93 | puddle_in 92 94 | grows_denser_down 93 95 | go_to 94 96 | has 95 97 | is_possibly_older_than 96 98 | staring_down_at 97 99 | can_leave_up 98 100 | with_buildings_is 99 101 | have 100 102 | becoming_once_again 101 103 | drip_of 102 104 | spans_river_to 103 105 | can_only_exit 104 106 | staring_at 105 107 | can_escape_in 106 108 | can_also_see 107 109 | pushed 108 110 | is 109 111 | hangs_thickly_in 110 112 | heading_out_over 111 113 | forks_to 112 114 | becoming 113 115 | can_enter 114 116 | whistle 115 117 | are_surrounded_on 116 118 | taking 117 119 | lead_south_and_southwest_into 118 120 | leaning 119 121 | tracks_toward 120 122 | in 121 123 | are_stuffed 122 124 | only_leads 123 125 | is_older_than 124 126 | bends_here 125 127 | grows_denser 126 128 | cluster_around 127 129 | slip_back_in_through 128 130 | across 129 131 | makes 130 132 | cuts_across 131 133 | bends_south 132 134 | peering_through 133 135 | appears 134 136 | trails_lead_northeast_through 135 137 | crowd 136 138 | can_only_go_west_to 137 139 | continues_south_into 138 140 | is_set_underneath 139 141 | stands 140 142 | lead_into 141 143 | can_go_back_to 142 144 | spans 143 145 | betray 144 146 | are_too_dense_in 145 147 | crawl_to 146 148 | perhaps_pushed_closer 147 149 | of_outline_is 148 150 | clamber_onto 149 151 | runs_length_to 150 152 | turns 151 153 | push 152 154 | is_set_into 153 155 | slow_drip_of 154 156 | get_off 155 157 | becoming_again 156 158 | sitting_on 157 159 | see 158 160 | goes_from 159 161 | tracks_in 160 162 | can_take 161 163 | 've 162 164 | are_picking 163 165 | can_only_go_west_northeast_to 164 166 | scramble_down 165 167 | can_only_go_to 166 168 | twitch_behind 167 169 | closing_first 168 170 | can_only_go_west_back_northeast_to 169 171 | put_on 170 172 | goes_west_from 171 173 | slides_onto 172 174 | narrow 173 175 | surrounds 174 176 | taking_off 175 177 | juts_out_near 176 178 | raining_bits_from 177 179 | bends_south_here 178 180 | staring_blankly_down_at 179 181 | pushed_closer 180 182 | can_only_exit_alley_to 181 183 | pass_down 182 184 | open_noisily_on 183 185 | going_up 184 186 | drifting_on 185 187 | winds_back 186 188 | totter_over 187 189 | can_only_go_northeast_to 188 190 | can_disrobe 189 191 | collects_in 190 192 | opens_onto 191 193 | lies_over 192 194 | can_go_west_northeast_to 193 195 | can_hear_in 194 196 | is_to 195 197 | continues_over 196 198 | pry 197 199 | rap_sharply 198 200 | putting 199 201 | are_surrounded_by 200 202 | can_return_to 201 203 | slip_wedding_ring_into 202 204 | vaulted_rooftops_of 203 205 | open_on 204 206 | continues_to 205 207 | make_out 206 208 | smelling 207 209 | can_take_road_out_of 208 210 | casting_concrete_ledge_into 209 211 | vigil_against 210 212 | just_make_out 211 213 | winds 212 214 | trails 213 215 | cracked 214 216 | is_blanket_in 215 217 | leads_back_west 216 218 | open 217 219 | raining 218 220 | peters_out_at 219 221 | can_go_through 220 222 | leads_down_to 221 223 | to 222 224 | puffing_grimly_at 223 225 | take 224 226 | drinking 225 227 | heads_out_over 226 228 | drip_of_are 227 229 | flicker_with 228 230 | can_escape_through 229 231 | look_to 230 232 | can_go_back_northeast_to 231 233 | continues_while 232 234 | can_enter_office_to 233 235 | leads_west 234 236 | can_see_here 235 237 | bordered_on 236 238 | runs_squarely_through 237 239 | of_monument_is 238 240 | goes 239 241 | trails_southeast_through 240 242 | juts_out_over 241 243 | can_go_west_back_to 242 244 | runs 243 245 | casting_ledge_into 244 246 | are_slick_from 245 247 | bends 246 248 | big_on 247 249 | hear_cry_from 248 250 | becomes 249 251 | lead_south_into 250 252 | bits_of 251 253 | can_only_go_back_northeast_to 252 254 | lap_against 253 255 | staring_blankly_down_like 254 256 | talked_to 255 257 | rooftops_of 256 258 | tucked_away_in 257 259 | look_in 258 260 | are_getting 259 261 | totter_oppressively_over 260 262 | peering_into 261 263 | first_taking 262 264 | runs_squarely_to 263 265 | juts_out_above 264 266 | tracks_out 265 267 | staring_like 266 268 | strikes 267 269 | going_up_stairs_to 268 270 | ends_here_at 269 271 | was 270 272 | look 271 273 | forming 272 274 | would_achieve 273 275 | slow_drip_of_are 274 276 | continues_into 275 277 | are_only_sounds 276 278 | also_leads_east_through 277 279 | runs_length 278 280 | rolling 279 281 | ends_at 280 282 | runs_through 281 283 | stands_at 282 284 | can_only_leave_up 283 285 | hangs_in 284 286 | slackens_off_momentarily_to 285 287 | worn_with 286 288 | sniffing_around 287 289 | at 288 290 | are_sounds 289 291 | divides 290 292 | leads_east_through 291 293 | is_closed_for 292 294 | is_unbroken_blanket_in 293 295 | can_exit_alley_to 294 296 | slides_with 295 297 | usually_feel_without 296 298 | block 297 299 | leads 298 300 | only_bits_of 299 301 | puffing_at 300 302 | occupy 301 303 | is_surrounded_by 302 304 | hear 303 305 | can_only_leave_up_slope_to 304 306 | pry_loose 305 307 | lie_to 306 308 | rap_on 307 309 | is_in 308 310 | are_dense_in 309 311 | stands_next_to 310 312 | seems 311 313 | closing 312 314 | are_thick_beyond 313 315 | leads_around 314 316 | only_few_bits_of 315 317 | leads_through 316 318 | staring_down_like 317 319 | few_bits_of 318 320 | tipped 319 321 | rap_sharply_on 320 322 | rap 321 323 | -------------------------------------------------------------------------------- /kga2c/env.py: -------------------------------------------------------------------------------- 1 | import collections 2 | import redis 3 | import numpy as np 4 | from representations import StateAction 5 | import random 6 | import jericho 7 | from jericho.template_action_generator import * 8 | from jericho.defines import TemplateAction 9 | 10 | 11 | GraphInfo = collections.namedtuple('GraphInfo', 'objs, ob_rep, act_rep, graph_state, graph_state_rep, admissible_actions, admissible_actions_rep') 12 | 13 | def load_vocab(env): 14 | vocab = {i+2: str(v) for i, v in enumerate(env.get_dictionary())} 15 | vocab[0] = ' ' 16 | vocab[1] = '' 17 | vocab_rev = {v: i for i, v in vocab.items()} 18 | return vocab, vocab_rev 19 | 20 | def clean_obs(s): 21 | garbage_chars = ['*', '-', '!', '[', ']'] 22 | for c in garbage_chars: 23 | s = s.replace(c, ' ') 24 | return s.strip() 25 | 26 | 27 | class KGA2CEnv: 28 | ''' 29 | 30 | KGA2C environment performs additional graph-based processing. 31 | 32 | ''' 33 | def __init__(self, rom_path, seed, spm_model, tsv_file, step_limit=None, stuck_steps=10, gat=True): 34 | random.seed(seed) 35 | np.random.seed(seed) 36 | self.rom_path = rom_path 37 | self.seed = seed 38 | self.episode_steps = 0 39 | self.stuck_steps = 0 40 | self.valid_steps = 0 41 | self.spm_model = spm_model 42 | self.tsv_file = tsv_file 43 | self.step_limit = step_limit 44 | self.max_stuck_steps = stuck_steps 45 | self.gat = gat 46 | self.env = None 47 | self.conn_valid = None 48 | self.conn_openie = None 49 | self.vocab = None 50 | self.vocab_rev = None 51 | self.state_rep = None 52 | 53 | 54 | def create(self): 55 | ''' Create the Jericho environment and connect to redis. ''' 56 | self.env = jericho.FrotzEnv(self.rom_path, self.seed) 57 | self.bindings = jericho.load_bindings(self.rom_path) 58 | self.act_gen = TemplateActionGenerator(self.bindings) 59 | self.max_word_len = self.bindings['max_word_length'] 60 | self.vocab, self.vocab_rev = load_vocab(self.env) 61 | self.conn_valid = redis.Redis(host='localhost', port=6379, db=0) 62 | self.conn_openie = redis.Redis(host='localhost', port=6379, db=1) 63 | 64 | 65 | def _get_admissible_actions(self, objs): 66 | ''' Queries Redis for a list of admissible actions from the current state. ''' 67 | obj_ids = [self.vocab_rev[o[:self.max_word_len]] for o in objs] 68 | world_state_hash = self.env.get_world_state_hash() 69 | admissible = self.conn_valid.get(world_state_hash) 70 | if admissible is None: 71 | possible_acts = self.act_gen.generate_template_actions(objs, obj_ids) 72 | admissible = self.env.find_valid_actions(possible_acts) 73 | redis_valid_value = '/'.join([str(a) for a in admissible]) 74 | self.conn_valid.set(world_state_hash, redis_valid_value) 75 | else: 76 | try: 77 | admissible = [eval(a.strip()) for a in admissible.decode('cp1252').split('/')] 78 | except Exception as e: 79 | print("Exception: {}. Admissible: {}".format(e, admissible)) 80 | return admissible 81 | 82 | 83 | def _build_graph_rep(self, action, ob_r): 84 | ''' Returns various graph-based representations of the current state. ''' 85 | objs = [o[0] for o in self.env.identify_interactive_objects(ob_r)] 86 | objs.append('all') 87 | admissible_actions = self._get_admissible_actions(objs) 88 | admissible_actions_rep = [self.state_rep.get_action_rep_drqa(a.action) \ 89 | for a in admissible_actions] \ 90 | if admissible_actions else [[0] * 20] 91 | try: # Gather additional information about the new state 92 | save_str = self.env.save_str() 93 | ob_l = self.env.step('look')[0] 94 | self.env.load_str(save_str) 95 | ob_i = self.env.step('inventory')[0] 96 | self.env.load_str(save_str) 97 | except RuntimeError: 98 | print('RuntimeError: {}, Done: {}, Info: {}'.format(clean_obs(ob_r), done, info)) 99 | ob_l = ob_i = '' 100 | ob_rep = self.state_rep.get_obs_rep(ob_l, ob_i, ob_r, action) 101 | cleaned_obs = clean_obs(ob_l + ' ' + ob_r) 102 | openie_cache = self.conn_openie.get(cleaned_obs) 103 | if openie_cache is None: 104 | rules, tocache = self.state_rep.step(cleaned_obs, ob_i, objs, action, cache=None, gat=self.gat) 105 | self.conn_openie.set(cleaned_obs, str(tocache)) 106 | else: 107 | openie_cache = eval(openie_cache.decode('cp1252')) 108 | rules, _ = self.state_rep.step(cleaned_obs, ob_i, objs, action, cache=openie_cache, gat=self.gat) 109 | graph_state = self.state_rep.graph_state 110 | graph_state_rep = self.state_rep.graph_state_rep 111 | action_rep = self.state_rep.get_action_rep_drqa(action) 112 | return GraphInfo(objs, ob_rep, action_rep, graph_state, graph_state_rep,\ 113 | admissible_actions, admissible_actions_rep) 114 | 115 | 116 | def step(self, action): 117 | self.episode_steps += 1 118 | obs, reward, done, info = self.env.step(action) 119 | info['valid'] = self.env.world_changed() or done 120 | info['steps'] = self.episode_steps 121 | if info['valid']: 122 | self.valid_steps += 1 123 | self.stuck_steps = 0 124 | else: 125 | self.stuck_steps += 1 126 | if (self.step_limit and self.valid_steps >= self.step_limit) \ 127 | or self.stuck_steps > self.max_stuck_steps: 128 | done = True 129 | if done: 130 | graph_info = GraphInfo(objs=['all'], 131 | ob_rep=self.state_rep.get_obs_rep(obs, obs, obs, action), 132 | act_rep=self.state_rep.get_action_rep_drqa(action), 133 | graph_state=self.state_rep.graph_state, 134 | graph_state_rep=self.state_rep.graph_state_rep, 135 | admissible_actions=[], 136 | admissible_actions_rep=[]) 137 | else: 138 | graph_info = self._build_graph_rep(action, obs) 139 | return obs, reward, done, info, graph_info 140 | 141 | 142 | def reset(self): 143 | self.state_rep = StateAction(self.spm_model, self.vocab, self.vocab_rev, 144 | self.tsv_file, self.max_word_len) 145 | self.stuck_steps = 0 146 | self.valid_steps = 0 147 | self.episode_steps = 0 148 | obs, info = self.env.reset() 149 | info['valid'] = False 150 | info['steps'] = 0 151 | graph_info = self._build_graph_rep('look', obs) 152 | return obs, info, graph_info 153 | 154 | 155 | def close(self): 156 | self.env.close() 157 | -------------------------------------------------------------------------------- /data/temple_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | random 1 3 | confused_young_man 2 4 | wrought_iron_key 3 5 | door 4 6 | shadow 5 7 | miriam 6 8 | looks_nervously_around. 7 9 | ancient 8 10 | chamber 9 11 | dark 10 12 | exit 11 13 | voice 12 14 | staircase 13 15 | abysses_of_inexplicably_coloured_twilight 14 16 | stairs 15 17 | they 16 18 | storage_chamber_connected_to_study_through_doorway_in_wall 17 19 | massive_oak_door 18 20 | shelves 19 21 | spacious_chamber_inside_tower 20 22 | says_'Oh_God,_I'm_so_tired_of_this._I_only_want_to_return_home.' 21 23 | roofs 22 24 | tower 23 25 | ai_throdog 24 26 | and_it_seems_like_his_is_suffering_from_a_memory_loss. 25 27 | sky 26 28 | cobwebs 27 29 | unfamiliar 28 30 | yellow 29 31 | creatures 30 32 | exit_to_south 31 33 | vials 32 34 | hideous_monster 33 35 | lost 34 36 | abysses_of_twilight 35 37 | while 36 38 | steps_of_staircase 37 39 | minor_storage_chamber_connected_through_doorway 38 40 | ground_level 39 41 | dust 40 42 | attempts 41 43 | railing 42 44 | southern_wall 43 45 | that 44 46 | five_points 45 47 | my_name 46 48 | minor_storage_chamber_connected_to_study_through_doorway_in_wall 47 49 | crowded_with_objects_much_like_shadows 48 50 | storage_chamber 49 51 | winding_staircase 50 52 | is_lost_in_thoughts. 51 53 | silhouette_against_clear_star 52 54 | stone_wall 53 55 | statue_here 54 56 | that_of_man 55 57 | hazy_objects 56 58 | whole_ground_level_of_tower 57 59 | his_eyes 58 60 | something_approaching 59 61 | Storage 60 62 | wall 61 63 | human_body 62 64 | monster 63 65 | flash_fades 64 66 | doorway_wall 65 67 | i 66 68 | his_sleep 67 69 | wall_above_table 68 70 | its_brightness 69 71 | yellow_paper_here 70 72 | minor_storage_chamber_connected_through_doorway_in_northern_wall 71 73 | exit_to_north 72 74 | tired 73 75 | black_paint 74 76 | place 75 77 | other_room 76 78 | northern_wall 77 79 | him 78 80 | sounds 79 81 | metal 80 82 | low_voice 81 83 | fragments.'_He_looks_around_the_chamber_and_says_with_despair_in_his_voice,_'My_God,_where_am_I?_Will_my_nightmares_never 82 84 | ng_ngah_h 83 85 | silhouette_against_star 84 86 | smaller_room 85 87 | new_element 86 88 | nothing 87 89 | hardly_portable 88 90 | you 89 91 | other 90 92 | very_long 91 93 | poem 92 94 | silent_silhouette 93 95 | oak 94 96 | Void 95 97 | steps 96 98 | exit_to_down 97 99 | walls 98 100 | glow 99 101 | tired_of_this 100 102 | your_dream 101 103 | before_dream 102 104 | covered_with_carvings_each 103 105 | room 104 106 | two_vials 105 107 | flash_fades_away 106 108 | your_idea_for_charles 107 109 | steep_roofs 108 110 | Bristow_and_I_studied_archeology_and_history_in_New_England._Something_terrible_happened_but_of_that_I_can_recall_only 109 111 | wrought 110 112 | history 111 113 | roof_of_tower_built_of_crumbling_masonry 112 114 | roof 113 115 | unconscious_body 114 116 | so_tired 115 117 | storage_this 116 118 | covered 117 119 | Hall 118 120 | minor_storage_chamber 119 121 | silent 120 122 | each 121 123 | something 122 124 | iron_key 123 125 | reason 124 126 | emitted 125 127 | outlines_of_furnishings 126 128 | despair_in_his_voice 127 129 | unbearable_level 128 130 | storage_chamber_connected_through_doorway 129 131 | Study 130 132 | massive 131 133 | different 132 134 | wedged 133 135 | last_steps_of_staircase 134 136 | mysterious 135 137 | artist 136 138 | minor_storage_chamber_connected_to_study_through_doorway 137 139 | shapes 138 140 | crude_oak_logs 139 141 | study 140 142 | exit_to_up 141 143 | man_falls_silent_for_a_while,_and_then_he_says 142 144 | colours 143 145 | black_stone 144 146 | green_powder 145 147 | writing 146 148 | minor_storage_chamber_connected_to_study_through_doorway_in_northern_wall 147 149 | god 148 150 | charles 149 151 | storage_chamber_connected 150 152 | confused 151 153 | several_attempts 152 154 | damp_hall 153 155 | perplexed 154 156 | long 155 157 | key 156 158 | his_voice 157 159 | domes 158 160 | yellow_paper 159 161 | yellow_paper_on_shelves 160 162 | oak_door 161 163 | crowded_with_objects_like_shadows 162 164 | so_tired_of_this 163 165 | abysses_of_coloured_twilight 164 166 | paint 165 167 | hideous 166 168 | desk 167 169 | this 168 170 | bristow 169 171 | lined 170 172 | strange_sounds 171 173 | mysterious_glow 172 174 | wrought_iron_key_here 173 175 | humans 174 176 | he 175 177 | minor 176 178 | three_points 177 179 | In_your_current_state_of_fear_your_mind_and_body_refuse_to_cooperate. 178 180 | object 179 181 | light 180 182 | hazy 181 183 | peculiar_green_powder 182 184 | human 183 185 | your 184 186 | statue 185 187 | cold_metal 186 188 | hideous_statue_here 187 189 | walking 188 190 | surfaces_in_room 189 191 | powder 190 192 | green_glow 191 193 | carvings 192 194 | minor_storage_chamber_connected 193 195 | tries_to_open_the_door_and_says_'It's_locked._Do_you_know_where_the_key_is?' 194 196 | shadows 195 197 | whole_ground_level 196 198 | vial 197 199 | your_idea 198 200 | concept 199 201 | unconscious_human_body 200 202 | black_stone_table 201 203 | archeology_in_new_england 202 204 | man_opens_his_eyes,_and_sits_up_on_the_table._In_response_to_your_many_questions_the_man_simply_states_that_he_can't 203 205 | storage_chamber_connected_to_study 204 206 | rhetorical 205 207 | abysses 206 208 | iron_key_here 207 209 | stone_table 208 210 | crowded 209 211 | storage_chamber_connected_through_doorway_in_wall 210 212 | peculiar_powder 211 213 | confused_man 212 214 | an 213 215 | here 214 216 | table 215 217 | in_his_voice,_'My_God,_where_am_I?_Will_my_nightmares_never_end?' 216 218 | limitless_abysses 217 219 | home 218 220 | oak_logs 219 221 | despair 220 222 | amnesia 221 223 | man_asks_who_you_are._You_tell_him_about_your_dream,_and_how_you_ended_up_here. 222 224 | spacious_chamber 223 225 | webs 224 226 | spider_webs 225 227 | silent_silhouette_against_star 226 228 | thoughts 227 229 | young_man_seems_to_be_waking_up. 228 230 | voice_on_table 229 231 | Roof 230 232 | hideous_statue_on_shelves 231 233 | voice_of_man 232 234 | young_man 233 235 | paper 234 236 | objects 235 237 | access_to_levels 236 238 | masonry 237 239 | room_to_south 238 240 | ink 239 241 | emitted_from_dust_on_stone_table 240 242 | last_steps 241 243 | of_my_memory_have_come_back_now._I_remember_that_my_name_is_Charles_Bristow_and_I_studied_archeology_and_history_in_New 242 244 | mysterious_green_glow 243 245 | limitless_abysses_of_inexplicably_coloured_twilight 244 246 | smaller_room_to_south 245 247 | south 246 248 | limitless_abysses_of_twilight 247 249 | charles_bristow 248 250 | man_gets_up_from_the_table_and_looks_around,_perplexed._'I_think_I've_been_here_before',_he_mutters. 249 251 | massive_table 250 252 | your_score 251 253 | outlines 252 254 | minor_storage_chamber_connected_to_study 253 255 | some 254 256 | shape 255 257 | hideous_statue 256 258 | syllables 257 259 | paper_on_shelves 258 260 | previously_empty_table 259 261 | body 260 262 | study_dust 261 263 | looks_at_the_city_and_shakes_his_head_in_disbelief. 262 264 | city 263 265 | doorway 264 266 | your_fingers 265 267 | twilight 266 268 | paper_here 267 269 | star 268 270 | void 269 271 | limitless_abysses_of_coloured_twilight 270 272 | dark_domes 271 273 | new_place 272 274 | ground_level_of_tower 273 275 | big 274 276 | abyss 275 277 | storage_chamber_connected_through_doorway_in_northern_wall 276 278 | your_effort 277 279 | storage_chamber_connected_to_study_through_doorway 278 280 | it 279 281 | crowded_with_hazy_objects_like_shadows 280 282 | silent_silhouette_against_clear_star 281 283 | my 282 284 | shelf 283 285 | base 284 286 | access 285 287 | empty_table 286 288 | archeology 287 289 | iron 288 290 | new_england 289 291 | crowded_with_hazy_objects_much_like_shadows 290 292 | picks_up_a_vial._'I_saw_this_before_in_a_dream',_he_says_and_puts_it_back. 291 293 | fruit 292 294 | some_writing 293 295 | hall 294 296 | language 295 297 | written 296 298 | man_stirs_in_his_sleep. 297 299 | black 298 300 | mysterious_vial 299 301 | minor_storage_chamber_connected_through_doorway_in_wall 300 302 | bookshelves 301 303 | cascade 302 304 | walking_behind_you 303 305 | level 304 306 | silhouette 305 307 | spider 306 308 | voice_of_man_on_table 307 309 | his 308 310 | chamber_inside_tower 309 311 | sighs_deeply_and_says_'Will_I_ever_see_Miriam_again?'_to_himself. 310 312 | storage_chamber_connected_to_study_through_doorway_in_northern_wall 311 313 | much_shadows 312 314 | doorway_northern_wall 313 315 | access_to_higher_levels 314 316 | man 315 317 | element 316 318 | dust_webs 317 319 | statue_on_shelves 318 320 | stone 319 321 | Something_terrible_happened_but_of_that_I_can_recall_only_small_fragments.'_He_looks_around_the_chamber_and_says_with 320 322 | -------------------------------------------------------------------------------- /data/spellbrkr_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | exit_to_west 1 3 | your 2 4 | white 3 5 | cobblestone_street 4 6 | or_it_doesn't_come_out_the_right_size,_or..."_He_stops,_apparently_overwhelmed_by_the_prospect_of_a_world_where_the 5 7 | orator 6 8 | great_monster 7 9 | group_clustered_around_mirror 8 10 | of_the_Guild_of_Brewers_stands,_gesturing_at_the_floury_baker._"You_don't_know_what_trouble_is!_Lately,_what_comes_out_of 9 11 | newts 10 12 | while 11 13 | group 12 14 | your_way 13 15 | revealed 14 16 | dark 15 17 | are_so_tired_you_can_barely_concentrate. 16 18 | also_revealed 17 19 | south_wall 18 20 | eyed_monster 19 21 | in_the_square,_there_is_a_crashing_noise_like_an_explosion,_and_then_a_wisp_of_orange_smoke_drifts_in_through_the_door. 20 22 | thick_cloud 21 23 | fish 22 24 | group_of_mages_clustered_around_mirror 23 25 | magic_burin 24 26 | floor 25 27 | mayors 26 28 | south 27 29 | your_funny_bone 28 30 | you_look_around_the_room_in_shock,_you_discover_that_Ardis_is_not_alone._Each_and_every_guildmaster_in_the_room_has_been 29 31 | look 30 32 | level 31 33 | dark_cloak 32 34 | are_beginning_to_tire. 33 35 | frog 34 36 | smoked 35 37 | tired 36 38 | group_of_mages 37 39 | your_mind._Time_passes_as_you_snore_blissfully. 38 40 | chunk 39 41 | exit 40 42 | mages 41 43 | you_snore 42 44 | well._Just_yesterday,_one_of_my_men_was_attacked_and_badly_wounded_by_a_troop_of_rat-ants._They'd_slipped_the_bounds_set_down 43 45 | blorple 44 46 | the_huntsman's_accusations_are_being_absorbed_and_discussed,_Ardis_of_the_Guild_of_Poets_takes_the_floor._He_begins_to_talk 45 47 | mystic_connections 46 48 | cloud 47 49 | west 48 50 | strangely_garbed_magicians_floating 49 51 | so_tired 50 52 | frotz 51 53 | square 52 54 | it_is_to_make_those_yummy_butter_pastries_by_hand?_When_a_simple_'gloth'_spell_would_fold_the_dough_83_times_it_was 53 55 | wrong 54 56 | object 55 57 | You_can't_see_anything,_what_with_the_smokey_orange_cloud_that_blankets_the_square. 56 58 | toads 57 59 | room 58 60 | dream_of_an_alchemist_bent_over_his_retorts,_alembics,_stinks_and_smokes._You_awaken. 59 61 | your_body 60 62 | magic._But_I_do_know_that_the_wild_beasts_are_kept_out_of_the_towns_and_villages_not_just_by_the_huntsmen,_but_by_spells 61 63 | group_of_mages_clustered 62 64 | objects 63 65 | knife_(providing_light) 64 66 | the_midst_of_his_splendid_peroration,_just_as_he_was_sketching_out_an_insulting_mythological_allusion_in_iambic_hexameter, 65 67 | door 66 68 | are_barely_able_to_keep_your_eyes_open. 67 69 | north 68 70 | chunk_of_rye_bread_(providing_light) 69 71 | There_is_one_other_survivor._At_the_rear_of_the_room,_a_shadowy_figure_in_a_dark_cloak_slips_quietly_out_the_door. 70 72 | shadowy 71 73 | left_behind 72 74 | are_practically_asleep. 73 75 | front_of_it._You_awaken. 74 76 | sneffle 75 77 | magicians 76 78 | glow 77 79 | burin 78 80 | knife 79 81 | uneventfully_refreshed 80 82 | guard 81 83 | casting 82 84 | more_tired 83 85 | featureless_cube 84 86 | sumptuous_buffet_lunch 85 87 | sleep_uneventfully_and_awake_refreshed. 86 88 | figure 87 89 | shadowy_figure 88 90 | its_arms 89 91 | garbed_magicians 90 92 | ancient_guild_hall 91 93 | alembics 92 94 | enchanters 93 95 | council_chamber_of_ancient_guild_hall_at_borphee 94 96 | "traitors"_rises_out_of_nowhere._Your_fellow_Enchanters_are_looking_at_one_another_nervously. 95 97 | rezrov 96 98 | noise 97 99 | in_square 98 100 | sorcerer 99 101 | tall,_gruff_fellow_begins_to_speak._This_is_Gzornenplatz_of_the_Guild_of_Huntsmen._"I'm_a_simple_man,_and_I_don't_know_much 100 102 | dream_of_a_great_hard-eyed_monster,_its_insectile_arms_dipping_and_turning_to_the_commands_of_a_sorcerer_who_stands_fearless 101 103 | great_hard_eyed_monster 102 104 | guildmasters 103 105 | statement_has_a_profound_effect_on_portions_of_the_crowd._You_can_hear_rumblings_from_the_back_concerning_Enchanters._The 104 106 | practically_asleep 105 107 | hall 106 108 | white_cube 107 109 | Guild_Hall 108 110 | barely_able 109 111 | chamber 110 112 | smoked_fish 111 113 | more 112 114 | alchemist_bent_over_his_retorts 113 115 | east 114 116 | rezrov_spell 115 117 | orange_smoke_dissipates_almost_as_suddenly_as_it_arrived._Left_behind_on_the_cobblestones_is_a_small_featureless_white_cube. 116 118 | Belwit_Square 117 119 | loaf 118 120 | spell_book 119 121 | spell_book_(providing_light) 120 122 | your_whole_body 121 123 | your_last_reserves_of_strength 122 124 | small_cube 123 125 | yomin 124 126 | are_dead_tired. 125 127 | magic_burin_(providing_light) 126 128 | of_the_Guild_of_Bakers_is_addressing_the_gathering._"Do_you_know_what_this_is_doing_to_our_business?_Do_you_know_how 127 129 | crashing_noise 128 130 | momentarily_blinded 129 131 | vats,_like_as_not,_is_cherry_flavored_or_worse._The_last_vat,_I_swear_it,_tasted_as_if_grues_had_been_bathing_in_it._It 130 132 | gnusto_spell 131 133 | chunk_of_rye_bread 132 134 | malyon 133 135 | strangely_garbed_magicians 134 136 | jindak_spell 135 137 | eye 136 138 | lesoch_spell 137 139 | efts 138 140 | smoked_fish_(providing_light) 139 141 | Council_Chamber 140 142 | exit_to_down 141 143 | gzornenplatz 142 144 | bread 143 145 | revealed_is_a_chunk_of_rye_bread.. 144 146 | your_bone 145 147 | gnusto 146 148 | small_featureless_cube 147 149 | its_insectile_arms 148 150 | hard_monster 149 151 | sleep!_It's_been_a_long_day,_and_rest_will_do_you_good._You_stretch_out_on_the_floor_and_drift_off,_renewing_your_powers_and 150 152 | orkan 151 153 | wisp 152 154 | lesoch 153 155 | left 154 156 | book 155 157 | my 156 158 | newt 157 159 | frotz_spell 158 160 | into_a_frog,_salamander,_or_other_amphibian!_All_but_one,_that_is 159 161 | sinister_figure 160 162 | ardis 161 163 | revealed_is_a_knife.. 162 164 | your_reserves 163 165 | are_feeling_tired. 164 166 | featureless_white_cube 165 167 | cloud_of_orange_smoke 166 168 | long 167 169 | yomin_spell 168 170 | dream_of_strangely_garbed_magicians_floating_in_midair._You_awaken. 169 171 | jindak 170 172 | frogs 171 173 | tire 172 174 | small_featureless_white_cube 173 175 | his 174 176 | magicians_floating 175 177 | council_chamber 176 178 | you 177 179 | garbed_magicians_floating 178 180 | great_hard_monster 179 181 | light 180 182 | belwit_square 181 183 | storied_manse 182 184 | the_now-angry_clump_of_mages_around_you. 183 185 | alchemist_bent 184 186 | that 185 187 | monster 186 188 | exit_to_south 187 189 | enchanted 188 190 | are_worn_out. 189 191 | are_getting_more_and_more_tired. 190 192 | malyon_spell 191 193 | small_white_cube 192 194 | your_reserves_of_strength 193 195 | rhetorical 194 196 | magicians_floating_in_midair 195 197 | exit_to_east 196 198 | refreshed 197 199 | magic_rhyming_and_spelling_aids,_and_their_lack. 198 200 | this 199 201 | exit_to_up 200 202 | manse 201 203 | dead_tired 202 204 | commands 203 205 | dream_of_a_group_of_mages_clustered_around_a_magic_mirror_in_which_scenes_of_terrible_violence_are_visible._You_awaken. 204 206 | blorple_spell 205 207 | rye 206 208 | buffet_lunch 207 209 | commands_of_sorcerer 208 210 | magical_glow 209 211 | group_clustered_around_magic_mirror 210 212 | cloud_of_smoke 211 213 | spell 212 214 | a_'fripple'_spell_somehow._Are_we_going_to_let_the_sorcerers_loose_rat-ants_on_us,_and_worse?"_He_sits,_glaring_significantly 213 215 | poet_turns_even_greener_than_usual._His_chin_elongates_and_his_skin_begins_to_look_sort_of_slimy._In_the_blink_of_an_eye 214 216 | little 215 217 | to_make_a_profit,_but_now_'gloth'_hardly_works,_and_when_it_does,_it_usually_folds_the_dough_too_often_and_the_butter 216 218 | hard_eyed_monster 217 219 | visible 218 220 | your_mind 219 221 | have_to_be_hand-made._"Can't_you_do_anything_about_this?_You're_supposed_to_know_all_about_magic!" 220 222 | time 221 223 | are_so_exhausted_you_can't_stay_awake_any_longer. 222 224 | are_moving_on_your_last_reserves_of_strength. 223 225 | you_snore_blissfully 224 226 | guild_hall 225 227 | borphee 226 228 | magic_to_turn_weird_vegetables_and_water_into_good_Borphee_beer._Well,_without_magic,_there_isn't_going_to_be_any_beer!" 227 229 | wide_cobblestone_street 228 230 | great_eyed_monster 229 231 | group_clustered 230 232 | wall 231 233 | out_square 232 234 | brewers 233 235 | baker 234 236 | salamanders 235 237 | cube 236 238 | your_powers 237 239 | spells 238 240 | eyes 239 241 | garbed_magicians_floating_in_midair 240 242 | your_last_reserves 241 243 | smoke 242 244 | buildings 243 245 | magic 244 246 | it 245 247 | strangely_garbed_magicians_floating_in_midair 246 248 | group_of_mages_clustered_around_magic_mirror 247 249 | stands_at_the_podium,_not_the_orator,_but_rather_a_large_orange_newt._"Breek!_Co-ax!_Co-ax!"_it_protests. 248 250 | surly_guard 249 251 | cobblestones 250 252 | generations 251 253 | number 252 254 | scenes 253 255 | exit_to_north 254 256 | sleep 255 257 | has_struck 256 258 | orange 257 259 | -------------------------------------------------------------------------------- /data/zork1_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | broken_closed 1 3 | white 2 4 | small_clearing_in_well_marked_forest_path 3 5 | broken_clockwork_broken_jewel 4 6 | sailor 5 7 | windows 6 8 | egg_pile 7 9 | lantern 8 10 | stiletto 9 11 | marvelous_view 10 12 | large_bag 11 13 | End_of_Rainbow 12 14 | exit_to_down 13 15 | this 14 16 | now_full 15 17 | feat_of_daring 16 18 | case 17 19 | feat 18 20 | bird's_nest_contains 19 21 | about_10_feet 20 22 | broken_clockwork_canary_bird 21 23 | passageway 22 24 | small 23 25 | trophy 24 26 | remains_of_intricate_machinery 25 27 | pile_of_leaves 26 28 | one 27 29 | Behind_House 28 30 | great_cavern 29 31 | egg_forest_path 30 32 | door 31 33 | fangs_of_lurking_grue 32 34 | view 33 35 | ground 34 36 | broken_broken_jewel 35 37 | golden_clockwork_nestled 36 38 | metal 37 39 | crystal_window 38 40 | closed 39 41 | crystal_window_below_its_wing 40 42 | troll_'s_axe 41 43 | your_handling 42 44 | It_is_pitch_black._You_are_likely_to_be_eaten_by_a_grue. 43 45 | mountains 44 46 | Clearing 45 47 | slavering_fangs_of_grue 46 48 | following_canyon_upstream_may_seen 47 49 | clockwork_canary_broken_jewel 48 50 | clockwork_nestled 49 51 | delicate_looking_clasp 50 52 | on 51 53 | thief 52 54 | remains 53 55 | lurking_grue 54 56 | floor 55 57 | lit_forest 56 58 | passages_to_east 57 59 | trees_around 58 60 | broken_clockwork_canary_closed 59 61 | ramparts 60 62 | below 61 63 | here 62 64 | broken_clockwork_canary_canary 63 65 | top 64 66 | cover 65 67 | broken_canary_broken_clockwork_canary 66 68 | broken_clockwork_broken_clockwork_canary 67 69 | clockwork_canary 68 70 | chimney 69 71 | one_large_tree 70 72 | canary_clockwork_canary 71 73 | canary_closed 72 74 | forest 73 75 | likely 74 76 | kitchen_of_white_house 75 77 | large_coil 76 78 | broken_forest_path 77 79 | canary_forest_path 78 80 | ledge_about_halfway_up_wall_of_river_canyon 79 81 | top_of_great_canyon_on_its_west_wall 80 82 | narrow 81 83 | remains_of_machinery 82 84 | leaflet 83 85 | clockwork_forest_path 84 86 | looking_clasp 85 87 | ramparts_of_flathead_mountains 86 88 | pile 87 89 | west_of_white_house_with_boarded_front_door 88 90 | chirping_of_song_bird 89 91 | brass_lantern_(providing_light) 90 92 | exit_to_up 91 93 | clockwork_clockwork_canary 92 94 | brown 93 95 | north_side_of_white_house 94 96 | Canyon_View 95 97 | forest_small_leaflet 96 98 | jewel-encrusted_egg 97 99 | broken_done 98 100 | egg_pile_of_leaves 99 101 | lunch 100 102 | trees 101 103 | bloody 102 104 | forest_path 103 105 | forest_path_small_leaflet 104 106 | fangs_of_grue 105 107 | lean_gentleman 106 108 | broken_clockwork_clockwork_canary 107 109 | light 108 110 | exit 109 111 | nest_closed 110 112 | Forest 111 113 | Cellar 112 114 | grue 113 115 | your_feet 114 116 | forest_surrounding_on_sides 115 117 | cracked_crystal_window_below_its_left_wing 116 118 | cracked_crystal_window 117 119 | attic 118 120 | he 119 121 | eggs 120 122 | may_seen 121 123 | The_Troll_Room 122 124 | broken_jewel-encrusted_egg 123 125 | canary_broken_canary 124 126 | dead 125 127 | slavering_fangs_of_lurking_grue 126 128 | large_trees_around 127 129 | mighty_ramparts_of_flathead_mountains 128 130 | swing 129 131 | your_gas_tank 130 132 | glass_bottle 131 133 | egg 132 134 | covered 133 135 | your_way 134 136 | broken_clockwork_forest_path 135 137 | walls 136 138 | corner 137 139 | bag 138 140 | its_silver_beak 139 141 | large 140 142 | brass 141 143 | clockwork_canary_broken_clockwork_canary 142 144 | canary_jewel 143 145 | Kitchen 144 146 | nasty 145 147 | broken_clockwork_canary_done 146 148 | lit 147 149 | dark_cavern 148 150 | nest_forest_path 149 151 | clockwork_broken_canary 150 152 | up_tree_about_10_feet_above_ground_nestled_among_large_branches 151 153 | food 152 154 | brown_sack 153 155 | clockwork_canary_clockwork_canary 154 156 | path 155 157 | troll_swings_his_axe,_but_it_misses. 156 158 | now_on 157 159 | walls_of_river_canyon 158 160 | rope 159 161 | broken_clockwork_closed 160 162 | directions 161 163 | clockwork_jewel 162 164 | empty 163 165 | branch 164 166 | you 165 167 | disgruntled 166 168 | cracked_crystal_window_below_its_wing 167 169 | broken_jewel-encrusted_egg_contains 168 170 | Living_Room 169 171 | room 170 172 | bird_'s_nest 171 173 | gentleman 172 174 | fine_gold_inlay 173 175 | top_on_its_west_wall 174 176 | bird's_nest 175 177 | exit_to_west 176 178 | Attic 177 179 | broken_clockwork_broken_canary 178 180 | broken_jewel 179 181 | 's 180 182 | clockwork_canary_jewel 181 183 | narrow_path 182 184 | lesser_part 183 185 | your_sword 184 186 | nothing_of_value 185 187 | jewel 186 188 | exit_to_south 187 189 | troll_stirs,_quickly_resuming_a_fighting_stance. 188 190 | antiquity 189 191 | small_leaflet 190 192 | south_side_of_white_house 191 193 | broken_broken_canary 192 194 | quantity 193 195 | clockwork_canary_done 194 196 | broken_clockwork_jewel 195 197 | broken_clockwork_canary_broken_canary 196 198 | house 197 199 | clockwork_canary_closed 198 200 | sprawled 199 201 | clearing 200 202 | canary_canary 201 203 | slavering_fangs 202 204 | land 203 205 | nasty_knife 204 206 | sword 205 207 | broken_canary_forest_path 206 208 | stairway 207 209 | broken_canary_broken_canary 208 210 | it_damage 209 211 | its_beak 210 212 | living_room 211 213 | large_trees 212 214 | contents 213 215 | north 214 216 | clockwork_broken_jewel 215 217 | lapis_lazuli 216 218 | crumpled 217 219 | broken_clockwork 218 220 | dark_cellar_with_narrow_passageway_leading_north 219 221 | Canyon_Bottom 220 222 | brass_lantern 221 223 | you_have_succeeded 222 224 | great_dark_cavern 223 225 | done 224 226 | small_room 225 227 | broken_broken_clockwork_canary 226 228 | your_indelicate_handling 227 229 | forest_leaflet 228 230 | broken_canary_jewel 229 231 | clasp 230 232 | canary_broken_jewel 231 233 | forest_this 232 234 | broken_canary_canary 233 235 | broken_canary_broken_jewel 234 236 | egg_closed 235 237 | canary 236 238 | mighty_frigid_river 237 239 | egg_broken_jewel 238 240 | canary_done 239 241 | North_of_House 240 242 | clockwork_done 241 243 | clockwork 242 244 | small_rocky_beach_on_continuation_of_frigid_river_past_falls 243 245 | looking_knife 244 246 | childless_songbird 245 247 | extremely_fragile 246 248 | glow 247 249 | tree 248 250 | frigid_river 249 251 | someone 250 252 | gold_inlay 251 253 | water 252 254 | nothing 253 255 | clockwork_closed 254 256 | low_branches 255 257 | clove 256 258 | dark_place 257 259 | passages 258 260 | broken_clockwork_canary_forest_path 259 261 | time 260 262 | feat_of_unaccustomed_daring 261 263 | most_eggs 262 264 | carpet 263 265 | nest_in_feat_of_unaccustomed_daring 264 266 | mighty_ramparts 265 267 | glass_bottle_contains 266 268 | broken_clockwork_canary 267 269 | branches 268 270 | egg_jewel 269 271 | garlic 270 272 | clearly_suicidal_maniac 271 273 | chirping 272 274 | quantity_of_water 273 275 | following_canyon_upstream_to_north_may_seen 274 276 | rug 275 277 | song_bird 276 278 | coil 277 279 | it 278 280 | impassable_mountains 279 281 | mountings 280 282 | nest 281 283 | sand 282 284 | table 283 285 | staircase 284 286 | following_canyon_may_seen 285 287 | fangs 286 288 | fragile 287 289 | clove_of_garlic 288 290 | let 289 291 | exit_to_north 290 292 | songbird 291 293 | distance 292 294 | clockwork_canary_nestled 293 295 | place 294 296 | clockwork_canary_forest_path 295 297 | broken_clockwork_canary_broken_clockwork_canary 296 298 | trap 297 299 | spinach 298 300 | white_house 299 301 | canary_broken_clockwork_canary 300 302 | troll_room 301 303 | river 302 304 | exit_to_southwest 303 305 | delicate_clasp 304 306 | dark 305 307 | window 306 308 | broken_lantern 307 309 | broken_clockwork_canary_broken_jewel 308 310 | exit_to_east 309 311 | clearing_with_forest 310 312 | east 311 313 | brown_sack_contains 312 314 | knife 313 315 | Forest_Path 314 316 | rainbow 315 317 | broken_clockwork_done 316 318 | all 317 319 | passage 318 320 | glow_brightly 319 321 | dimly_lit_forest 320 322 | troll_'s_swing 321 323 | broken_canary_done 322 324 | attic_this 323 325 | clockwork_canary_canary 324 326 | nest_on_ground 325 327 | top_of_great_canyon 326 328 | golden_clockwork_canary_nestled 327 329 | forest_path_leaflet 328 330 | broken_clockwork_canary_jewel 329 331 | broken_canary_closed 330 332 | broken_clockwork_canary_clockwork_canary 331 333 | full 332 334 | nasty_looking_knife 333 335 | exit_to_northwest 334 336 | your_head 335 337 | troll 336 338 | part 337 339 | broken_canary 338 340 | leaves 339 341 | hear_in_the_distance_the_chirping_of_a_song_bird. 340 342 | canyon 341 343 | clockwork_broken_clockwork_canary 342 344 | clockwork_canary_broken_canary 343 345 | glow_very_brightly 344 346 | bird 345 347 | bottle 346 348 | land_on_your_feet 347 349 | broken_canary_clockwork_canary 348 350 | crystal_window_below_its_left_wing 349 351 | lamp 350 352 | wall 351 353 | look 352 354 | aragain_falls 353 355 | axe 354 356 | cavern 355 357 | trees_in_directions 356 358 | wooden 357 359 | unconscious_troll 358 360 | open 359 361 | only_exit 360 362 | large_egg 361 363 | -------------------------------------------------------------------------------- /data/library_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | repairman_yelps 1 3 | catalog 2 4 | room_seemingly_cobbled_over_course 3 5 | cringing_from_harsh_light 4 6 | Ground_Floor_Stacks 5 7 | upwards_to_second_level 6 8 | two_points 7 9 | exit_to_east 8 10 | downwards 9 11 | key_to_rare_books_room 10 12 | side_of_room 11 13 | disgrace 12 14 | are_kicked_out_of_the_library_without_the_needed_biography,_and_so_you_flunk_the_course,_drop_out_of_college_in_disgrace, 13 15 | copy_of_debt_of_honor 14 16 | few_notations_on_her_paperwork 15 17 | young_woman 16 18 | open_into_room 17 19 | wiring 18 20 | lobby 19 21 | peon 20 22 | you 21 23 | doorway 22 24 | entrance 23 25 | Second_Floor_Stairwell 24 26 | stairwell 25 27 | rottweilers 26 28 | corner 27 29 | your_hand 28 30 | id_card_here 29 31 | pencil 30 32 | drawer 31 33 | card_catalog 32 34 | id 33 35 | word 34 36 | open 35 37 | private 36 38 | flickering_flourescent_lighting 37 39 | reference_librarian 38 40 | repairman_yelps_ear_splitting_pop 39 41 | word_of_power 40 42 | flickering_lighting 41 43 | big_smile 42 44 | that_game_you_scored_6_out_of_a_possible_30,_in_121_turns. 43 45 | that_game_you_scored_11_out_of_a_possible_30,_in_102_turns. 44 46 | game 45 47 | room_seemingly_cobbled 46 48 | cloud_of_smoke 47 49 | that_game_you_scored_11_out_of_a_possible_30,_in_93_turns. 48 50 | large_friendly_letters 49 51 | red 50 52 | red_herring 51 53 | picture 52 54 | exit 53 55 | novel_debt 54 56 | south 55 57 | acrid_smoke 56 58 | cringing_from_light 57 59 | labelled 58 60 | ancient_word 59 61 | security_gates 60 62 | duplicating_services 61 63 | circulation_desk_attendant_here 62 64 | flourescent 63 65 | Duplicating_Services 64 66 | filled 65 67 | circulation_attendant 66 68 | room_cobbled_over_course_of_several_generations 67 69 | novel_debt_of_honor 68 70 | floor 69 71 | circulation_desk_attendant 70 72 | prim_young_woman 71 73 | heavy_door_bars 72 74 | biography 73 75 | ground_floor_stairwell_grungy_stairs 74 76 | exit_to_north 75 77 | Game 76 78 | that_game_you_scored_11_out_of_a_possible_30,_in_122_turns. 77 79 | room_seemingly_cobbled_over_course_of_several_generations 78 80 | copy_of_debt 79 81 | room_seemingly_cobbled_together_over_course_of_generations 80 82 | hollow_voice_whispers 81 83 | shelves_as_far 82 84 | collection 83 85 | harsh_flourescent_light 84 86 | letters 85 87 | that_game_you_scored_13_out_of_a_possible_30,_in_126_turns. 86 88 | seemingly_cringing_away_from_light 87 89 | grungy_stairs 88 90 | archway 89 91 | novel 90 92 | books_room 91 93 | that_game_you_scored_2_out_of_a_possible_30,_in_84_turns. 92 94 | glass_doors_open 93 95 | private_in_friendly_letters 94 96 | services_this 95 97 | paper 96 98 | room_seemingly_cobbled_together 97 99 | printers 98 100 | open_into_room_of_shelves 99 101 | smoldering_pile 100 102 | circulation_desk 101 103 | voice_over_the_PA_system_announces_"It_is_now_4 102 104 | exit_to_west 103 105 | all 104 106 | seemingly_cringing 105 107 | piece_of_wire 106 108 | woman 107 109 | photocopier 108 110 | that_game_you_scored_7_out_of_a_possible_30,_in_121_turns. 109 111 | securely_fastened 110 112 | west 111 113 | ceiling 112 114 | his_breath 113 115 | like_there's_no_chance_of_getting_a_copy_made_now..... 114 116 | spend_the_rest_of_your_days_as_the_peon_who_sorts_the_hate_mail_in_Microsoft's_mail_room. 115 117 | seemingly_cringing_from_harsh_flourescent_light 116 118 | sign_marked_in_large_letters 117 119 | rhetorical 118 120 | that_game_you_scored_2_out_of_a_possible_30,_in_123_turns. 119 121 | services 120 122 | order 121 123 | your_ear 122 124 | your 123 125 | honor 124 126 | heavy_wooden_door_bars 125 127 | key_to_books_room 126 128 | its_belly 127 129 | output_of_dozen_computers 128 130 | people 129 131 | cloud 130 132 | stairs 131 133 | copier_technician 132 134 | your_score 133 135 | smoke 134 136 | center_of_room 135 137 | copy_of_"Debt_of_Honor" 136 138 | that_game_you_scored_6_out_of_a_possible_30,_in_99_turns. 137 139 | sign 138 140 | upwards_to_level 139 141 | friendly_letters 140 142 | lit 141 143 | cloud_smoke 142 144 | room_cobbled_together_over_course_of_generations 143 145 | shelves 144 146 | ash 145 147 | room_cobbled_over_course 146 148 | library 147 149 | signs 148 150 | room_cobbled_together_over_course 149 151 | painting 150 152 | upwards 151 153 | herring 152 154 | kind_lettering 153 155 | combined_output_of_dozen_computers 154 156 | magazines 155 157 | floor_stairwell_grungy_stairs 156 158 | exit_to_south 157 159 | exit_to_down 158 160 | seemingly_cringing_away_from_harsh_light 159 161 | immersed_in_novel 160 162 | maze_of_twisty_shelves_all_alike 161 163 | cloud_of_greasy_smoke 162 164 | room_seemingly_cobbled_together_over_course_of_several_generations 163 165 | gates 164 166 | stacks 165 167 | private_in_large_friendly_letters 166 168 | seemingly_cringing_away_from_harsh_flourescent_light 167 169 | rare 168 170 | one_side_of_room 169 171 | technician 170 172 | technician_kicks_the_copier,_muttering_under_his_breath. 171 173 | immersed 172 174 | it 173 175 | cringing_away 174 176 | east 175 177 | that_game_you_scored_15_out_of_a_possible_30,_in_125_turns. 176 178 | cringing_away_from_flourescent_light 177 179 | YOU_HAVE_LOST!_*** 178 180 | cloud_greasy_smoke 179 181 | then_silent_again 180 182 | few_notations 181 183 | Lobby 182 184 | seemingly_cringing_from_light 183 185 | copier_room 184 186 | key_here 185 187 | glass_doors 186 188 | level 187 189 | ID_card 188 190 | that_game_you_scored_14_out_of_a_possible_30,_in_124_turns. 189 191 | Ground_Floor_Stairwell 190 192 | door 191 193 | private_in_letters 192 194 | cringing_from_harsh_flourescent_light 193 195 | sign_marked_in_large_friendly_letters 194 196 | mess 195 197 | debt_of_honor 196 198 | notations_on_her_paperwork 197 199 | notations 198 200 | rest_of_your_days 199 201 | fastened 200 202 | room_of_shelves 201 203 | door_bars 202 204 | kicked 203 205 | he 204 206 | dark_corner_of_room 205 207 | flourescent_light 206 208 | that_game_you_scored_6_out_of_a_possible_30,_in_125_turns. 207 209 | exit_to_up 208 210 | that_game_you_scored_14_out_of_a_possible_30,_in_130_turns. 209 211 | that_game_you_scored_7_out_of_a_possible_30,_in_132_turns. 210 212 | seemingly_cringing_from_flourescent_light 211 213 | his 212 214 | second_level 213 215 | technician_curses_under_his_breath_as_he_reaches_into_the_copier_and_yanks_on_some_unseen_component. 214 216 | east_to_lobby 215 217 | lights 216 218 | you_like_to_RESTART,_RESTORE_a_saved_game,_give_the_FULL_score_for_that_game_or_QUIT 217 219 | large_letters 218 220 | second_floor_stacks 219 221 | paperwork 220 222 | southeast 221 223 | cringing_away_from_harsh_light 222 224 | that_game_you_scored_12_out_of_a_possible_30,_in_121_turns. 223 225 | room_cobbled_together_over_course_of_several_generations 224 226 | doors 225 227 | sign_marked 226 228 | room_cobbled_over_course_of_generations 227 229 | copier 228 230 | second_floor_stairwell_grungy_stairs 229 231 | indescribable_blackness_forms 230 232 | dim 231 233 | center 232 234 | desk 233 235 | that_game_you_scored_11_out_of_a_possible_30,_in_114_turns. 234 236 | cringing_from_flourescent_light 235 237 | that_game_you_scored_1_out_of_a_possible_30,_in_95_turns. 236 238 | that_game_you_scored_14_out_of_a_possible_30,_in_131_turns. 237 239 | seemingly_cringing_away 238 240 | pile 239 241 | computer_room 240 242 | room_cobbled 241 243 | repairman_yelps_as_he_touches_the_wrong_wire,_and_with_an_ear-splitting_*POP*,_vanishes_in_a_cloud_of_greasy_smoke... 242 244 | that_game_you_scored_14_out_of_a_possible_30,_in_128_turns. 243 245 | dark_corner 244 246 | damaged_picture 245 247 | that_game_you_scored_14_out_of_a_possible_30,_in_138_turns. 246 248 | prim_woman 247 249 | five_points 248 250 | cringing 249 251 | seemingly_cringing_from_harsh_light 250 252 | tangled_mess 251 253 | same_kind_lettering 252 254 | card 253 255 | cringing_away_from_harsh_flourescent_light 254 256 | obtained 255 257 | debt 256 258 | id_card 257 259 | attendant 258 260 | Computer_Lab 259 261 | his_face 260 262 | ash_continues_to_smoke,_leaving_an_acrid_odor_in_the_air. 261 263 | corner_of_room 262 264 | its_mechanical_belly 263 265 | shelves_far 264 266 | cavernous_room 265 267 | rare_books_room 266 268 | exit_to_southeast 267 269 | copy 268 270 | your_id_card 269 271 | one_point 270 272 | wall 271 273 | computers 272 274 | voice_over_the_PA_system_announces_"The_library_is_closing!" 273 275 | air 274 276 | northwest 275 277 | flourescent_lighting 276 278 | that_game_you_scored_11_out_of_a_possible_30,_in_127_turns. 277 279 | piece 278 280 | combined_output_of_several_dozen_computers 279 281 | that_game_you_scored_1_out_of_a_possible_30,_in_73_turns. 280 282 | sucks,_doesn't_it? 281 283 | harsh_light 282 284 | return 283 285 | lighting 284 286 | output_of_several_dozen_computers 285 287 | book 286 288 | output 287 289 | entire_room 288 290 | cringing_away_from_light 289 291 | that_game_you_scored_6_out_of_a_possible_30,_in_122_turns. 290 292 | room 291 293 | librarian 292 294 | burned_wiring 293 295 | reference 294 296 | circulation 295 297 | burned 296 298 | room_seemingly_cobbled_together_over_course 297 299 | that_game_you_scored_12_out_of_a_possible_30,_in_120_turns. 298 300 | key 299 301 | combined_output 300 302 | light 301 303 | smile 302 304 | private_in_large_letters 303 305 | room_cobbled_together 304 306 | acrid_odor 305 307 | remorse 306 308 | tom_clancy 307 309 | north 308 310 | sign_marked_in_letters 309 311 | wooden_door_bars 310 312 | that 311 313 | room_seemingly_cobbled_over_course_of_generations 312 314 | pathetic 313 315 | front_doors 314 316 | ancient_word_of_power 315 317 | sign_marked_in_friendly_letters 316 318 | seemingly_cringing_away_from_flourescent_light 317 319 | technician_pulls_out_a_piece_of_wire_and_adds_it_to_the_collection. 318 320 | one_corner 319 321 | Second_Floor_Stacks 320 322 | hardly_portable 321 323 | then_silent 322 324 | exit_to_northwest 323 325 | -------------------------------------------------------------------------------- /data/adventureland_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | RING*_-_chigger_bites_-_old_fashioned_lamp 1 3 | water_axe_sign 2 4 | your_whole_body 3 5 | large_misty_room_with_strange_letters_over_exits 4 6 | bites_-_rusty_axe_(magic_word-_BUNYON_-on_it) 5 7 | exit_to_west 6 8 | FRUIT*_-_evil_smelling_mud 7 9 | axe 8 10 | bites_-_old_fashioned_lamp_-_evil_smelling_mud_-_chiggers 9 11 | lamp_has_run_out_of_power. 10 12 | -_rusty_axe_(magic_word-_BUNYON_-on_it) 11 13 | misty_room_large_misty_room_with_strange_letters_over_exits 12 14 | of_skeleton_keys_-_evil_smelling_mud_-_old_fashioned_lamp_-_chiggers 13 15 | fashioned_lamp_-_evil_smelling_mud 14 16 | fashioned 15 17 | hidden_grove 16 18 | shore_of_lake 17 19 | mud_dried_up_and_fell_off. 18 20 | wall 19 21 | exits 20 22 | mud_water_golden_fish_rusty_axe_sign 21 23 | rhetorical 22 24 | RING* 23 25 | FRUIT*_-_evil_smelling_mud_-_rusty_axe_(magic_word-_BUNYON_-on_it) 24 26 | sign 25 27 | patch 26 28 | writing 27 29 | -_infected_chigger_bites_-_old_fashioned_lamp 28 30 | of_skeleton_keys_-_chiggers 29 31 | evil_smelling_mud_water_fish_rusty_axe_sign 30 32 | fashioned_lamp_-_rusty_axe_(magic_word-_BUNYON_-on_it) 31 33 | evil_smelling_mud_water_golden_fish_axe_sign 32 34 | cypress 33 35 | chigger_bites_-_old_fashioned_lamp_-_chiggers 34 36 | fish_-_infected_chigger_bites 35 37 | smelling_mud_water_golden_fish_axe_sign 36 38 | bites_-_chiggers_-_old_fashioned_lamp_-_evil_smelling_mud 37 39 | chigger_bites_-_chiggers_-_rusty_axe_(magic_word-_BUNYON_-on_it) 38 40 | bracelet 39 41 | -_dead_fish 40 42 | ring 41 43 | bites_-_old_fashioned_lamp_-_chiggers 42 44 | whole_body 43 45 | infected 44 46 | Branch 45 47 | shore 46 48 | golden_fish_water_axe 47 49 | ceiling 48 50 | bites_-_old_fashioned_lamp 49 51 | rusty_axe_golden_fish_water_sign 50 52 | -_ring_of_skeleton_keys 51 53 | axe_(magic_word-_BUNYON_-on_it)_-_infected_chigger_bites 52 54 | fashioned_lamp_-_infected_chigger_bites_-_*JEWELLED_FRUIT*_-_chiggers 53 55 | bites_-_chiggers_-_old_fashioned_lamp 54 56 | chigger_bites_-_rusty_axe_(magic_word-_BUNYON_-on_it)_-_chiggers 55 57 | bites_-_*JEWELLED_FRUIT*_-_chiggers_-_evil_smelling_mud 56 58 | -_*DIAMOND_RING*_-_chigger_bites_-_old_fashioned_lamp_-_evil_smelling_mud 57 59 | fish 58 60 | skeleton 59 61 | no_swimming_allowed_lakeside 60 62 | statue 61 63 | axe_golden_fish_water_sign 62 64 | chigger_bites_-_chiggers 63 65 | smelling_mud_-_old_fashioned_lamp_-_chiggers 64 66 | chigger_bites_-_old_fashioned_lamp_-_*JEWELLED_FRUIT*_-_chiggers 65 67 | east 66 68 | FRUIT* 67 69 | dismal_swamp 68 70 | top_of_tall_cypress_tree 69 71 | bites_-_chiggers_-_dead_fish 70 72 | that 71 73 | it 72 74 | tree 73 75 | spider 74 76 | axe_(magic_word-_BUNYON_-on_it)_-_chiggers 75 77 | bites_-_chiggers_-_evil_smelling_mud_-_old_fashioned_lamp 76 78 | smelling_mud_-_rusty_axe_(magic_word-_BUNYON_-on_it) 77 79 | -_evil_smelling_mud 78 80 | skeleton_keys_water_golden_fish_sign 79 81 | -_old_fashioned_lamp 80 82 | Forest 81 83 | water_fish_rusty_axe_sign 82 84 | mud_water_fish_axe_sign 83 85 | chigger_bites_-_rusty_axe_(magic_word-_BUNYON_-on_it)_-_*JEWELLED_FRUIT* 84 86 | no 85 87 | bites_-_evil_smelling_mud_-_old_fashioned_lamp 86 88 | bites_-_ring_of_skeleton_keys_-_old_fashioned_lamp_-_chiggers 87 89 | water_golden_fish_axe_sign 88 90 | no_swimming_allowed_water 89 91 | FRUIT*_-_chiggers_-_infected_chigger_bites_-_old_fashioned_lamp 90 92 | fashioned_lamp 91 93 | RING*_-_chigger_bites_-_old_fashioned_lamp_-_evil_smelling_mud 92 94 | golden_fish_water_sign 93 95 | bitten_by_chiggers. 94 96 | slime 95 97 | Room 96 98 | bites_-_chiggers_-_rusty_axe_(magic_word-_BUNYON_-on_it) 97 99 | strange_letters_over_exits 98 100 | FRUIT*_-_infected_chigger_bites_-_old_fashioned_lamp 99 101 | fashioned_lamp_-_infected_chigger_bites 100 102 | bites_-_*JEWELLED_FRUIT*_-_chiggers_-_old_fashioned_lamp 101 103 | chigger_bites_-_chiggers_-_old_fashioned_lamp 102 104 | evil_mud_water_golden_fish_rusty_axe_sign 103 105 | quick_sand_bog 104 106 | fashioned_lamp_-_chigger_bites_-_chiggers_-_evil_smelling_mud 105 107 | evil 106 108 | blue 107 109 | -_ring_of_skeleton_keys_-_infected_chigger_bites 108 110 | chigger_bites_-_old_fashioned_lamp 109 111 | water_rusty_axe_sign 110 112 | lamp_is_getting_dim. 111 113 | west 112 114 | axe_(magic_word-_BUNYON_-on_it)_-_chigger_bites_-_chiggers 113 115 | STATUE_OF_A_BLUE_OX*_-_rusty_axe_(magic_word-_BUNYON_-on_it) 114 116 | now_infected 115 117 | exit_to_south 116 118 | down 117 119 | your_chigger_bites 118 120 | evil_mud_water_golden_fish_axe_sign 119 121 | FRUIT*_-_chigger_bites_-_chiggers_-_old_fashioned_lamp 120 122 | Tree_Top 121 123 | forest 122 124 | axe_(magic_word-_BUNYON_-on_it) 123 125 | of_skeleton_keys_-_old_fashioned_lamp_-_chiggers 124 126 | FISH*_-_chigger_bites 125 127 | misty 126 128 | FRUIT*_-_chiggers_-_old_fashioned_lamp 127 129 | -_chigger_bites_-_old_fashioned_lamp_-_evil_smelling_mud 128 130 | golden_fish_water_rusty_axe 129 131 | RING*_-_old_fashioned_lamp 130 132 | smelling_mud_-_chiggers 131 133 | -_evil_smelling_mud_-_ring_of_skeleton_keys 132 134 | large_misty_room 133 135 | exit_to_up 134 136 | bites_-_ring_of_skeleton_keys 135 137 | web 136 138 | small 137 139 | fashioned_lamp_-_chigger_bites_-_chiggers 138 140 | chigger_bites 139 141 | bites_-_evil_smelling_mud 140 142 | FRUIT*_-_infected_chigger_bites 141 143 | no_swimming_allowed 142 144 | smelling_mud_-_old_fashioned_lamp 143 145 | evil_smelling_mud_water_golden_fish_rusty_axe_sign 144 146 | nothing_special 145 147 | bites_-_old_fashioned_lamp_-_evil_smelling_mud 146 148 | chigger_bites_-_*DIAMOND_RING*_-_old_fashioned_lamp 147 149 | axe_(magic_word-_BUNYON_-on_it)_-_*JEWELLED_FRUIT* 148 150 | evil_smelling_mud_water_fish_axe_sign 149 151 | north 150 152 | bites_-_*JEWELLED_FRUIT*_-_chiggers 151 153 | diamond 152 154 | -_infected_chigger_bites 153 155 | bites_-_old_fashioned_lamp_-_*JEWELLED_FRUIT*_-_chiggers 154 156 | chiggers 155 157 | water_fish_axe_sign 156 158 | of_skeleton_keys_-_chigger_bites_-_chiggers 157 159 | mud_water_golden_fish_axe_sign 158 160 | mud_water_fish_rusty_axe_sign 159 161 | no_swimming_allowed_the_bites 160 162 | of_skeleton_keys_-_infected_chigger_bites 161 163 | rusty_axe_fish_water_sign 162 164 | axe_fish_water_sign 163 165 | FRUIT*_-_chiggers 164 166 | chigger_bites_-_ring_of_skeleton_keys_-_chiggers 165 167 | fruit 166 168 | chigger_bites_-_chiggers_-_dead_fish 167 169 | no_swimming_allowed_golden_fish 168 170 | FRUIT*_-_chiggers_-_evil_smelling_mud 169 171 | you 170 172 | bites_-_ring_of_skeleton_keys_-_chiggers 171 173 | golden_fish 172 174 | gas 173 175 | Meadow 174 176 | STATUE_OF_A_BLUE_OX* 175 177 | swamp 176 178 | FRUIT*_-_old_fashioned_lamp 177 179 | bites_-_chiggers_-_ring_of_skeleton_keys 178 180 | -_chigger_bites 179 181 | mud 180 182 | -_old_fashioned_lamp_-_evil_smelling_mud 181 183 | smelling_mud 182 184 | bites_-_chiggers_-_evil_smelling_mud 183 185 | branch_on_top_of_old_oak_tree 184 186 | exit_to_east 185 187 | bites_-_chiggers_-_evil_smelling_mud_-_ring_of_skeleton_keys 186 188 | chigger_bites_-_old_fashioned_lamp_-_chiggers_-_rusty_axe_(magic_word-_BUNYON_-on_it) 187 189 | fashioned_lamp_-_chigger_bites 188 190 | dragon 189 191 | Dismal_Swamp 190 192 | bites_-_chiggers_-_old_fashioned_lamp_-_rusty_axe_(magic_word-_BUNYON_-on_it) 191 193 | fashioned_lamp_-_*JEWELLED_FRUIT*_-_chiggers 192 194 | lamp 193 195 | south 194 196 | water_golden_fish_rusty_axe_sign 195 197 | golden_fish_rusty_axe_water_sign 196 198 | bites_-_evil_smelling_mud_-_chiggers 197 199 | your 198 200 | evil_mud_water_fish_axe_sign 199 201 | of_skeleton_keys_-_infected_chigger_bites_-_chiggers 200 202 | Lakeside 201 203 | smelling 202 204 | Grove 203 205 | dead 204 206 | trees 205 207 | FRUIT*_-_chigger_bites_-_chiggers 206 208 | bites_-_chiggers 207 209 | skeleton_keys_water_fish_sign 208 210 | in_a_large_misty_room_with_strange_letters_over_the_exits. 209 211 | -_old_fashioned_lamp_-_rusty_axe_(magic_word-_BUNYON_-on_it) 210 212 | chigger_bites_-_ring_of_skeleton_keys 211 213 | golden 212 214 | FRUIT*_-_infected_chigger_bites_-_chiggers 213 215 | of_skeleton_keys_-_chigger_bites_-_evil_smelling_mud_-_old_fashioned_lamp_-_chiggers 214 216 | chigger_bites_-_*JEWELLED_FRUIT*_-_chiggers_-_old_fashioned_lamp 215 217 | water_golden_fish_sign 216 218 | your_body 217 219 | Misty_Room 218 220 | bites_-_rusty_axe_(magic_word-_BUNYON_-on_it)_-_*JEWELLED_FRUIT* 219 221 | nothing 220 222 | bites 221 223 | evil_mud_water_fish_rusty_axe_sign 222 224 | smelling_mud_water_golden_fish_rusty_axe_sign 223 225 | RING*_-_infected_chigger_bites_-_chiggers_-_old_fashioned_lamp 224 226 | -_chigger_bites_-_evil_smelling_mud 225 227 | no_swimming_allowed_bites 226 228 | fashioned_lamp_-_infected_chigger_bites_-_chiggers 227 229 | water_sign 228 230 | ox 229 231 | FISH*_-_infected_chigger_bites_-_chiggers_-_old_fashioned_lamp 230 232 | jewelled 231 233 | smelling_mud_water_fish_axe_sign 232 234 | fashioned_lamp_-_chiggers 233 235 | of_skeleton_keys_-_chiggers_-_infected_chigger_bites 234 236 | sunny_meadow 235 237 | chigger_bites_-_chiggers_-_old_fashioned_lamp_-_rusty_axe_(magic_word-_BUNYON_-on_it) 236 238 | oily 237 239 | smelling_mud_-_ring_of_skeleton_keys 238 240 | water_fish_sign 239 241 | water 240 242 | bites_-_evil_smelling_mud_-_old_fashioned_lamp_-_chiggers 241 243 | golden_fish_axe_water_sign 242 244 | smelling_mud_water_fish_rusty_axe_sign 243 245 | chigger_bites_are_now_infected. 244 246 | FRUIT*_-_chigger_bites_-_chiggers_-_evil_smelling_mud 245 247 | bites_have_rotted_your_whole_body. 246 248 | bites_-_evil_smelling_mud_-_chiggers_-_old_fashioned_lamp 247 249 | of_skeleton_keys_-_dead_fish 248 250 | nothing_special_about_golden_fish 249 251 | fashioned_lamp_-_evil_smelling_mud_-_chiggers 250 252 | of_skeleton_keys_-_chigger_bites_-_chiggers_-_evil_smelling_mud 251 253 | bites_-_chiggers_-_evil_smelling_mud_-_rusty_axe_(magic_word-_BUNYON_-on_it) 252 254 | smells_something_-_awakens_-_attacks_you! 253 255 | no_swimming_allowed_fish_escape 254 256 | rusty 255 257 | dry._Fish_die. 256 258 | bites_-_old_fashioned_lamp_-_chiggers_-_rusty_axe_(magic_word-_BUNYON_-on_it) 257 259 | rusty_axe 258 260 | of_skeleton_keys 259 261 | smelling_mud_-_chiggers_-_old_fashioned_lamp 260 262 | keys 261 263 | chigger 262 264 | chigger_bites_-_*JEWELLED_FRUIT*_-_chiggers 263 265 | -------------------------------------------------------------------------------- /kga2c/representations.py: -------------------------------------------------------------------------------- 1 | import networkx as nx 2 | import numpy as np 3 | import openie 4 | from fuzzywuzzy import fuzz 5 | from jericho.util import clean 6 | 7 | 8 | class StateAction(object): 9 | 10 | def __init__(self, spm, vocab, vocab_rev, tsv_file, max_word_len): 11 | self.graph_state = nx.DiGraph() 12 | self.max_word_len = max_word_len 13 | self.graph_state_rep = [] 14 | self.visible_state = "" 15 | self.drqa_input = "" 16 | self.vis_pruned_actions = [] 17 | self.pruned_actions_rep = [] 18 | self.sp = spm 19 | self.vocab_act = vocab 20 | self.vocab_act_rev = vocab_rev 21 | self.vocab_kge = self.load_vocab_kge(tsv_file) 22 | self.adj_matrix = np.zeros((len(self.vocab_kge['entity']), len(self.vocab_kge['entity']))) 23 | self.room = "" 24 | 25 | def visualize(self): 26 | # import matplotlib.pyplot as plt 27 | pos = nx.spring_layout(self.graph_state) 28 | edge_labels = {e: self.graph_state.edges[e]['rel'] for e in self.graph_state.edges} 29 | print(edge_labels) 30 | nx.draw_networkx_edge_labels(self.graph_state, pos, edge_labels) 31 | nx.draw(self.graph_state, pos=pos, with_labels=True, node_size=200, font_size=10) 32 | #plt.show() 33 | 34 | def load_vocab_kge(self, tsv_file): 35 | ent = {} 36 | with open(tsv_file, 'r') as f: 37 | for line in f: 38 | e, eid = line.split('\t') 39 | ent[e.strip()] = int(eid.strip()) 40 | rel = {} 41 | with open(tsv_file, 'r') as f: 42 | for line in f: 43 | r, rid = line.split('\t') 44 | rel[r.strip()] = int(rid.strip()) 45 | 46 | return {'entity': ent, 'relation': rel} 47 | 48 | def update_state(self, visible_state, inventory_state, objs, prev_action=None, cache=None): 49 | 50 | prev_room = self.room 51 | 52 | graph_copy = self.graph_state.copy() 53 | con_cs = [graph_copy.subgraph(c) for c in nx.weakly_connected_components(graph_copy)] 54 | 55 | prev_room_subgraph = None 56 | prev_you_subgraph = None 57 | 58 | for con_c in con_cs: 59 | for node in con_c.nodes: 60 | node = set(str(node).split()) 61 | if set(prev_room.split()).issubset(node): 62 | prev_room_subgraph = nx.induced_subgraph(graph_copy, con_c.nodes) 63 | 64 | for edge in self.graph_state.edges: 65 | if 'you' in edge[0]: 66 | graph_copy.remove_edge(*edge) 67 | 68 | self.graph_state = graph_copy 69 | 70 | visible_state = visible_state.split('\n') 71 | room = visible_state[0] 72 | visible_state = clean(' '.join(visible_state[1:])) 73 | 74 | dirs = ['north', 'south', 'east', 'west', 'southeast', 'southwest', 'northeast', 'northwest', 'up', 'down'] 75 | 76 | self.visible_state = str(visible_state) 77 | rules = [] 78 | 79 | if cache is None: 80 | sents = openie.call_stanford_openie(self.visible_state)['sentences'] 81 | else: 82 | sents = cache 83 | 84 | if sents == "": 85 | return [] 86 | 87 | in_aliases = ['are in', 'are facing', 'are standing', 'are behind', 'are above', 'are below', 'are in front'] 88 | 89 | in_rl = [] 90 | in_flag = False 91 | 92 | for i, ov in enumerate(sents): 93 | sent = ' '.join([a['word'] for a in ov['tokens']]) 94 | triple = ov['openie'] 95 | for d in dirs: 96 | if d in sent and i != 0: 97 | rules.append((room, 'has', 'exit to ' + d)) 98 | 99 | for tr in triple: 100 | h, r, t = tr['subject'].lower(), tr['relation'].lower(), tr['object'].lower() 101 | 102 | if h == 'you': 103 | for rp in in_aliases: 104 | if fuzz.token_set_ratio(r, rp) > 80: 105 | r = "in" 106 | in_rl.append((h, r, t)) 107 | in_flag = True 108 | break 109 | 110 | if h == 'it': 111 | break 112 | if not in_flag: 113 | rules.append((h, r, t)) 114 | 115 | if in_flag: 116 | cur_t = in_rl[0] 117 | for h, r, t in in_rl: 118 | if set(cur_t[2].split()).issubset(set(t.split())): 119 | cur_t = h, r, t 120 | rules.append(cur_t) 121 | room = cur_t[2] 122 | 123 | try: 124 | items = inventory_state.split(':')[1].split('\n')[1:] 125 | for item in items: 126 | rules.append(('you', 'have', str(' ' .join(item.split()[1:])))) 127 | except: 128 | pass 129 | 130 | if prev_action is not None: 131 | for d in dirs: 132 | if d in prev_action and self.room != "": 133 | rules.append((prev_room, d + ' of', room)) 134 | if prev_room_subgraph is not None: 135 | for ed in prev_room_subgraph.edges: 136 | rules.append((ed[0], prev_room_subgraph[ed]['rel'], ed[1])) 137 | break 138 | 139 | for o in objs: 140 | #if o != 'all': 141 | rules.append((str(o), 'in', room)) 142 | 143 | add_rules = rules 144 | 145 | for rule in add_rules: 146 | u = '_'.join(str(rule[0]).split()) 147 | v = '_'.join(str(rule[2]).split()) 148 | if u in self.vocab_kge['entity'].keys() and v in self.vocab_kge['entity'].keys(): 149 | if u != 'it' and v != 'it': 150 | self.graph_state.add_edge(rule[0], rule[2], rel=rule[1]) 151 | 152 | return add_rules, sents 153 | 154 | def get_state_rep_kge(self): 155 | ret = [] 156 | self.adj_matrix = np.zeros((len(self.vocab_kge['entity']), len(self.vocab_kge['entity']))) 157 | 158 | for u, v in self.graph_state.edges: 159 | u = '_'.join(str(u).split()) 160 | v = '_'.join(str(v).split()) 161 | 162 | if u not in self.vocab_kge['entity'].keys() or v not in self.vocab_kge['entity'].keys(): 163 | break 164 | 165 | u_idx = self.vocab_kge['entity'][u] 166 | v_idx = self.vocab_kge['entity'][v] 167 | self.adj_matrix[u_idx][v_idx] = 1 168 | 169 | ret.append(self.vocab_kge['entity'][u]) 170 | ret.append(self.vocab_kge['entity'][v]) 171 | 172 | return list(set(ret)) 173 | 174 | def get_state_kge(self): 175 | ret = [] 176 | self.adj_matrix = np.zeros((len(self.vocab_kge['entity']), len(self.vocab_kge['entity']))) 177 | 178 | for u, v in self.graph_state.edges: 179 | u = '_'.join(str(u).split()) 180 | v = '_'.join(str(v).split()) 181 | 182 | if u not in self.vocab_kge['entity'].keys() or v not in self.vocab_kge['entity'].keys(): 183 | break 184 | 185 | u_idx = self.vocab_kge['entity'][u] 186 | v_idx = self.vocab_kge['entity'][v] 187 | self.adj_matrix[u_idx][v_idx] = 1 188 | 189 | ret.append(u) 190 | ret.append(v) 191 | 192 | return list(set(ret)) 193 | 194 | def get_obs_rep(self, *args): 195 | ret = [self.get_visible_state_rep_drqa(ob) for ob in args] 196 | return pad_sequences(ret, maxlen=300) 197 | 198 | def get_visible_state_rep_drqa(self, state_description): 199 | remove = ['=', '-', '\'', ':', '[', ']', 'eos', 'EOS', 'SOS', 'UNK', 'unk', 'sos', '<', '>'] 200 | 201 | for rm in remove: 202 | state_description = state_description.replace(rm, '') 203 | 204 | return self.sp.encode_as_ids(state_description) 205 | 206 | def get_action_rep_drqa(self, action): 207 | 208 | action_desc_num = 20 * [0] 209 | action = str(action) 210 | 211 | for i, token in enumerate(action.split()[:20]): 212 | short_tok = token[:self.max_word_len] 213 | action_desc_num[i] = self.vocab_act_rev[short_tok] if short_tok in self.vocab_act_rev else 0 214 | 215 | return action_desc_num 216 | 217 | def step(self, visible_state, inventory_state, objs, prev_action=None, cache=None, gat=True): 218 | ret, ret_cache = self.update_state(visible_state, inventory_state, objs, prev_action, cache) 219 | 220 | self.pruned_actions_rep = [self.get_action_rep_drqa(a) for a in self.vis_pruned_actions] 221 | 222 | inter = self.visible_state #+ "The actions are:" + ",".join(self.vis_pruned_actions) + "." 223 | self.drqa_input = self.get_visible_state_rep_drqa(inter) 224 | 225 | self.graph_state_rep = self.get_state_rep_kge(), self.adj_matrix 226 | 227 | return ret, ret_cache 228 | 229 | 230 | def pad_sequences(sequences, maxlen=None, dtype='int32', value=0.): 231 | ''' 232 | Partially borrowed from Keras 233 | # Arguments 234 | sequences: list of lists where each element is a sequence 235 | maxlen: int, maximum length 236 | dtype: type to cast the resulting sequence. 237 | value: float, value to pad the sequences to the desired value. 238 | # Returns 239 | x: numpy array with dimensions (number_of_sequences, maxlen) 240 | ''' 241 | lengths = [len(s) for s in sequences] 242 | nb_samples = len(sequences) 243 | if maxlen is None: 244 | maxlen = np.max(lengths) 245 | # take the sample shape from the first non empty sequence 246 | # checking for consistency in the main loop below. 247 | sample_shape = tuple() 248 | for s in sequences: 249 | if len(s) > 0: 250 | sample_shape = np.asarray(s).shape[1:] 251 | break 252 | x = (np.ones((nb_samples, maxlen) + sample_shape) * value).astype(dtype) 253 | for idx, s in enumerate(sequences): 254 | if len(s) == 0: 255 | continue # empty list was found 256 | # pre truncating 257 | trunc = s[-maxlen:] 258 | # check `trunc` has expected shape 259 | trunc = np.asarray(trunc, dtype=dtype) 260 | if trunc.shape[1:] != sample_shape: 261 | raise ValueError('Shape of sample %s of sequence at position %s is different from expected shape %s' % 262 | (trunc.shape[1:], idx, sample_shape)) 263 | # post padding 264 | x[idx, :len(trunc)] = trunc 265 | return x 266 | 267 | 268 | -------------------------------------------------------------------------------- /data/ztuu_entity2id.tsv: -------------------------------------------------------------------------------- 1 | 0 2 | gelatinous_body_suit 1 3 | ghastly_style 2 4 | exit_to_northwest 3 5 | theater_'s_aisle 4 6 | inscription 5 7 | exit_to_west 6 8 | west_to_oversized_stage 7 9 | lizard 8 10 | entire_length_of_auditorium 9 11 | exit_to_northeast 10 12 | rather_austere 11 13 | spot_above 12 14 | cd 13 15 | this 14 16 | hallway 15 17 | that_game_you_scored_0_out_of_a_possible_100,_in_6_turns,_earning_you_the_rank_of_would-be_adventurer. 16 18 | long_row_along_edge_of_stage 17 19 | depicting 18 20 | You_have_died_*** 19 21 | must_your_lucky_day 20 22 | candle_covered_by_small_round_lens 21 23 | rhetorical 22 24 | dog 23 25 | gelatinous 24 26 | curtain 25 27 | performances 26 28 | tunnel 27 29 | sponge 28 30 | primitive_statuary 29 31 | his_best_impression_of_al_vezza 30 32 | candle_covered_by_small_lens 31 33 | grandeur_of_parts_of_cultural_center 32 34 | that_game_you_scored_5_out_of_a_possible_100,_in_13_turns,_earning_you_the_rank_of_would-be_adventurer. 33 35 | forest_of_stunted_trees 34 36 | your_attire 35 37 | in_other_directions_have_arranged_in_maze_of_passages 36 38 | rhapsodizes_about_the_virtues_of_ZIL,_but_offers_the_opinion_that_a_faster_compiler_would_have_been_nice. 37 39 | hewn_inscription 38 40 | glowing/fur 39 41 | little 40 42 | northeast 41 43 | suction 42 44 | looking_salesman 43 45 | clear 44 46 | entire_length 45 47 | pair_of_scaly_gloves_(being_worn) 46 48 | grandeur_of_parts 47 49 | forest 48 50 | implementers 49 51 | Changing_Room 50 52 | oracles_10_zorkmids 51 53 | made 52 54 | expansive_area_surrounded_by_large_throne_like_seats 53 55 | row_along_edge_of_stage 54 56 | that_game_you_scored_0_out_of_a_possible_100,_in_8_turns,_earning_you_the_rank_of_would-be_adventurer. 55 57 | his_impression 56 58 | blank 57 59 | entrance_of_gue_convention_center 58 60 | legend 59 61 | grandeur 60 62 | cavernous_auditorium 61 63 | frobnia 62 64 | turns_to_Mike_and_says,_"Have_I_ever_told_you_about_the_time_I_worked_on_CD-I?--"_and_is_immediately_cut_off_by_a_rather 63 65 | mike_comments 64 66 | most_elaborate 65 67 | bust_looks_wistful._"Sigh,"_he_sighs._"Oh_for_the_olden,_golden_days_of_yore." 66 68 | it. 67 69 | that_game_you_scored_5_out_of_a_possible_100,_in_49_turns,_earning_you_the_rank_of_would-be_adventurer. 68 70 | memory 69 71 | ponders_that_if_God_spelled_backward_is_Dog,_what's_that_do_for_Bob?_Or_Otto? 70 72 | friezes 71 73 | row_along_front_edge 72 74 | built 73 75 | gloves 74 76 | row_along_front_edge_of_stage 75 77 | they_had_gone_to_graphic_adventures_earlier 76 78 | blue_lens_directly_in_center_of_stage 77 79 | they_had_gone_few_years_earlier 78 80 | other 79 81 | berlyn 80 82 | odd_salesman 81 83 | inevitability 82 84 | long_row_along_front_edge_of_stage 83 85 | we 84 86 | decomposing 85 87 | blood 86 88 | that_game_you_scored_5_out_of_a_possible_100,_in_22_turns,_earning_you_the_rank_of_would-be_adventurer. 87 89 | candy 88 90 | rubble 89 91 | brass_lantern 90 92 | popcorn 91 93 | memory_of_great_implementers_figures 92 94 | bust_does_a_double-take._"Hmm,"_he_hmms._"Not_a_bad-looking_specimen,_though_back_in_the_old_days,_they_built_`em 93 95 | dimwit 94 96 | they_had_gone_to_adventures_few_years_earlier 95 97 | tourist_traffic 96 98 | exit_to_up 97 99 | have_designed_mainly_with_performances_in_mind 98 100 | bust 99 101 | reputed 100 102 | odd_looking_salesman 101 103 | ponders_the_inevitability_of_entropy,_describing_what_the_heat-death_of_the_Universe_means_to_him._Mike_snores_quietly 102 104 | length_of_auditorium 103 105 | ante_room 104 106 | elaborate_in_gue 105 107 | long_aisle 106 108 | theater 107 109 | have_designed_mainly_with_live_performances_in_mind 108 110 | infocom 109 111 | porcelain 110 112 | talk_among_themselves 111 113 | lizard_like_mask 112 114 | rather_forest_of_stunted_trees 113 115 | adventures 114 116 | lantern 115 117 | west 116 118 | offhandedly_comments_on_your_attire_in_an_altogether_unflattering_manner. 117 119 | spiked 118 120 | Museum_of_Illusion 119 121 | they_had_gone_to_adventures_earlier 120 122 | you_like_to_RESTART,_RESTORE_a_saved_game,_give_the_FULL_score_for_that_game_or_QUIT 121 123 | lantern_flickers_and_goes_out. 122 124 | long_row 123 125 | is_now_pitch_dark_in_here! 124 126 | they_had_gone_to_graphic_adventures_years_earlier 125 127 | humanoid 126 128 | adorned 127 129 | stranger 128 130 | great_implementers 129 131 | in_other_directions_have_arranged 130 132 | marc 131 133 | they_had_gone_to_graphic_adventures 132 134 | them 133 135 | long_row_along_edge 134 136 | bob 135 137 | style_of_gue_'s_grotesque_period 136 138 | imposing_ante_room 137 139 | grandeur_of_other_parts_of_cultural_center 138 140 | they_had_gone_to_adventures_years_earlier 139 141 | large_hallway 140 142 | exit_to_north 141 143 | adventure 142 144 | eyed 143 145 | that_game_you_scored_5_out_of_a_possible_100,_in_8_turns,_earning_you_the_rank_of_would-be_adventurer. 144 146 | each 145 147 | larger_area 146 148 | eye 147 149 | main_aisle 148 150 | mike 149 151 | lamp 150 152 | blistered 151 153 | still_glowing 152 154 | scaly 153 155 | correct,_you_might_easily_take_offense_at_that_sort_of_comment. 154 156 | east 155 157 | changing 156 158 | slot 157 159 | graphic_adventures 158 160 | have_designed_with_live_performances_in_mind 159 161 | like 160 162 | paint 161 163 | austere 162 164 | your_rough_treatment 163 165 | turns_a_baleful_eye_to_your_lantern._"You_could_get_a_better_one_of_those_in_a_box_of_cereal,"_he_says._If_he_weren't_so 164 166 | themselves 165 167 | spot_somewhere_above 166 168 | mike_'s_bust 167 169 | manner 168 170 | those 169 171 | personages 170 172 | they_had_gone_years_earlier 171 173 | armor 172 174 | ceiling 173 175 | area 174 176 | live_performances 175 177 | has_blocked_by_gigantic_translucent_boulders 176 178 | museum 177 179 | proscenium 178 180 | you 179 181 | south 180 182 | those_on_science_fiction_adventure_game_box 181 183 | bloody 182 184 | that 183 185 | seats 184 186 | roughly_hewn_inscription 185 187 | lifelike 186 188 | large_proscenium 187 189 | boulders 188 190 | floor 189 191 | wistful 190 192 | baby 191 193 | inevitability_of_entropy 192 194 | his_best_impression 193 195 | they_had_gone_to_adventures 194 196 | slimy 195 197 | mike_'s_eyes 196 198 | length 197 199 | style 198 200 | candle 199 201 | his 200 202 | that_game_you_scored_0_out_of_a_possible_100,_in_5_turns,_earning_you_the_rank_of_would-be_adventurer. 201 203 | comments_on_the_weather,_or_lack_thereof,_on_the_surface_of_Contra. 202 204 | aisle 203 205 | have_designed_mainly_with_performances 204 206 | candle_covered_by_round_lens 205 207 | baleful_eye 206 208 | gue_history 207 209 | in_other_directions_have_arranged_in_maze_of_twisty_passages 208 210 | New_Excavation 209 211 | ways_to_wings 210 212 | razor 211 213 | thrones 212 214 | salesman 213 215 | north 214 216 | thrones_with_backs 215 217 | him 216 218 | Seating_Area 217 219 | live_performances_in_mind 218 220 | forest_of_trees 219 221 | parser 220 222 | have_designed_with_performances_in_mind 221 223 | have_designed_with_live_performances 222 224 | long_row_along_front_edge 223 225 | thrones_with_wooden_backs 224 226 | row_along_edge 225 227 | they 226 228 | ways 227 229 | that_game_you_scored_5_out_of_a_possible_100,_in_21_turns,_earning_you_the_rank_of_would-be_adventurer. 228 230 | spot 229 231 | multi 230 232 | mask 231 233 | altogether_unflattering_manner 232 234 | in_other_directions_have_arranged_in_maze 233 235 | it 234 236 | exit_to_south 235 237 | rather_forest 236 238 | gores 237 239 | candle_covered 238 240 | made_sword 239 241 | those_on_famous_science_fiction_adventure_game_box 240 242 | elaborate 241 243 | day 242 244 | enough 243 245 | cartoonish_friezes 244 246 | statuary 245 247 | designed 246 248 | body_suit 247 249 | brass_lantern_(providing_light) 248 250 | his_hand 249 251 | attempt 250 252 | 's_do_for_bob 251 253 | presence 252 254 | brass 253 255 | entrance 254 256 | implementeers 255 257 | transparent 256 258 | throne 257 259 | his_eyes 258 260 | god_spelled 259 261 | directly_center_of_stage 260 262 | stumpy 261 263 | west_to_stage 262 264 | gue 263 265 | considered 264 266 | aisles 265 267 | its 266 268 | footlights 267 269 | stairs 268 270 | double_take 269 271 | postcards 270 272 | likely 271 273 | exit_to_down 272 274 | candle_covered_by_lens 273 275 | most_elaborate_in_gue 274 276 | postcard_from_frobnia 275 277 | Tunnel 276 278 | lantern_dims_a_little. 277 279 | cheaply-made_sword 278 280 | your_lantern 279 281 | narrow_aisles 280 282 | take 281 283 | "Yes." 282 284 | chicken 283 285 | Souvenir_Stand 284 286 | that_game_you_scored_5_out_of_a_possible_100,_in_7_turns,_earning_you_the_rank_of_would-be_adventurer. 285 287 | his_head 286 288 | grotesque_period 287 289 | postcard 288 290 | entrance_of_narrow_waist_high_tunnel 289 291 | dedicated 290 292 | marc_'s_bust 291 293 | hardly_portable 292 294 | looking_wistful,_asks_Mike_whether_they_would_still_be_considered_Great_Implementers_if_they_had_gone_to_graphic 293 295 | ghastly_style_of_gue_'s_grotesque_period 294 296 | anyone 295 297 | seating_area 296 298 | auditorium 297 299 | rather_forest_of_trees 298 300 | they_had_gone_to_graphic_adventures_few_years_earlier 299 301 | blue_lens 300 302 | still_considered 301 303 | theater_reputed 302 304 | they_had_gone_earlier 303 305 | red_lens 304 306 | fish 305 307 | mirror 306 308 | debris 307 309 | suits 308 310 | reading 309 311 | memory_of_implementers_figures 310 312 | comments_absently_on_the_recent_lack_of_tourist_traffic_in_the_GUE. 311 313 | have_designed_mainly 312 314 | sword 313 315 | cultural_center 314 316 | exit_to_east 315 317 | unflattering_manner 316 318 | cheaply_made_sword 317 319 | your_treatment 318 320 | personages_unknown 319 321 | history 320 322 | company 321 323 | no!_A_lurking_grue_slithered_into_the_room_and_devoured_you! 322 324 | thrones_with_high_backs 323 325 | have_designed_mainly_with_live_performances 324 326 | Convention_Center_Lobby 325 327 | mind 326 328 | yellow 327 329 | rainbow 328 330 | al_vezza 329 331 | talk 330 332 | row 331 333 | pock 332 334 | your 333 335 | fungus 334 336 | starts_to_nod_off,_but_Marc_clears_his_throat_loudly,_snapping_him_back_to_attention. 335 337 | thrones_with_high_wooden_backs 336 338 | a_few_years_earlier. 337 339 | gargoyles 338 340 | performances_in_mind 339 341 | theater_'s_main_aisle 340 342 | openings 341 343 | hairy 342 344 | 's_do 343 345 | eyes 344 346 | boards 345 347 | hall 346 348 | year 347 349 | i 348 350 | set 349 351 | have_designed 350 352 | his_impression_of_al_vezza 351 353 | they_had_gone 352 354 | Cultural_Complex 353 355 | entrance_to_three_rooms 354 356 | Stage 355 357 | have_designed_with_performances 356 358 | Darkness 357 359 | counter 358 360 | scaly_gloves 359 361 | glowing 360 362 | door 361 363 | designed_mainly 362 364 | sign 363 365 | high_wooden_backs 364 366 | Theater 365 367 | busts 366 368 | grandeur_of_other_parts 367 369 | narrow_tunnel 368 370 | lens 369 371 | entrance_to_three_smallish_rooms 370 372 | Hall_of_Science_Lobby 371 373 | notice 372 374 | --------------------------------------------------------------------------------