Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Learn imprecise size identical hypotheses #920

Closed
paynesa opened this issue Jul 17, 2020 · 3 comments
Closed

Learn imprecise size identical hypotheses #920

paynesa opened this issue Jul 17, 2020 · 3 comments

Comments

@paynesa
Copy link
Collaborator

paynesa commented Jul 17, 2020

Currently, our learner does not identify the correct node of two nodes of the same type for the imprecise size slot. For an example, see the attached, where slot1 is in the wrong place. This means that when we switch from learning small to big or vice versa, we encounter an error in our alignments.

Proposed solution from @LichMaster98: we can use gaze to determine which of the two matched objects of the same type is "eligible" to be matched to a slot. This will allow us to differentiate between big and small.

big_slot1.0.pdf

@gabbard
Copy link

gabbard commented Jul 20, 2020

@paynesa : Can you elaborate on:

Currently, our learner does not identify the correct node of two nodes of the same type for the imprecise size slot. For an example, see the attached, where slot1 is in the wrong place.

How can I tell it is in the wrong place? What would the right place be?

I can see we are going to have problems here due to #751 , since we presumably want both a same-type-as relation between the two objects of the same type and also a size relation. :-(

@paynesa
Copy link
Collaborator Author

paynesa commented Jul 20, 2020

@gabbard we want the biggerThan edge to be going out of slot_1 while it's currently going into it which would mean that slot_1 is the smaller of the two identical objects, which is the opposite of the meaning we're trying to learn. If this were just a matter of switching the meaning of the edges, it would be a simpler problem, but the graph for smaller_than is identical (i.e. correct in this case) which means there is no distinguishing between the two since which one of the two identical objects is counted as slot_1 is always the same relative to the relations.

@LichMaster98 and I discussed this issue with the edges. I think there's a couple ways we can proceed:

  1. Just assume that the PerceptionGenerator is always given two objects of the same type, in which case we don't need the sameType relation
  2. Convert one (or both) of the relations to node attributes instead

@paynesa
Copy link
Collaborator Author

paynesa commented Jul 20, 2020

Per our discussion, in order to implement the big/small distinction in an unambiguous way, we'll need to learn it in phrases such as "mum takes the big ball" so that we can learn that the ball that mom takes must be the one occupying the slot area, which will allow us to learn big_slot1 as an attribute. This is contingent on being able to learn static information from a dynamic situation. (#792)

We will also need to implement MultiDiGraphs so that we can have the biggerThan/smallerThan relations as well as the sameType relations represented in our perception (#751)

For writeup:
Currently, we aren't able to learn "big" or "small" as a distinction between two objects of the same type, although we can learn size relative to the learner (e.g. "a big ball" meaning a ball bigger than the learner). In order to implement size relative to another object of the same type, we will need to be able to learn static information from dynamic situations. Generally, when one refers to "a big X" in some context, it's to differentiate from some other X in that context that they are not referring to: for example, "I throw the big ball" implies that there are two or more balls in the situation, but only the big one is the theme of the throwing action. In order to learn what "big" means in such a context, we will need to learn which of the balls is the one being referred to, and the big ball being the theme will allow us to do so. By contrast, without such a VP to specify which ball is undergoing the throw action, we will have biggerThan and smallerThan relationships between the balls but no way to determine which of the balls is the one being referred to. As such, our learner must be able to learn static information from a dynamic situation in order to learn imprecise size descriptions, which is something we plan to implement at a later date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants