I would try making a ranking system for potential matches, including context of the proposed action. For example, "get bot" would prefer the bottle over the garden because the bottle has the "gettable" flag and it's notably hard to pick up a botanical garden. Likewise, it's hard to dig in a bottle and it makes no sense to walk to the garden when you're already standing in it.
As for the parser, try making a sliding window of 3 or 4 words to extract small noun clauses. Of course, I assume you're already using articles as a signal for nouns, and prepositions as a signal for noun or pronoun clauses. Words in between a preposition and a noun are likely adjectives too.