Open victorbarres opened 8 years ago
The problem is in the handling of match and link in GrammaticalWM. I had taken a shortcut before I was handling the lexical competition. Now this needs to be fixed. Overlapping on a node does not mean either competition, cooperation, it can also be neutral in the case when no link can be found but the SemRep node map onto SemFrame nodes that both link to slots.
This was generated through a quick fix that wouldn't work with lexical competition. But note that in this case the model generated: The man hit the boy.... kick This is probably because "the boy" assemblage was disassembled after the first assemblage in which it belongs to was read out. So here we have a pb! Either need to introduce conjonction cxn to have "SVO SVO" possible (and recursively). Or maybe there is an issue with reading assemblage assuming a single head.... This needs to be ironed out...
Here is a case, with similar quick fix as above (i.e. no competition if no links are found even if there are overlapping nodes -- fix that would not work for competition between lexical items). In this case there are 2 transitives actions sharing an agent. System produces: t:1, sem: MAN_105, BOY_106, GIRL_107, KICK_108, HIT_109, AGENT_110, AGENT_111, PATIENT_112, PATIENT_113 (prop: MAN(m1) , BOY(b1) , GIRL(g1) , KICK(a1) , HIT(a2) , AGENT(r1) , AGENT(r2) , PATIENT(r3) , PATIENT(r4) , r1(a1,m1) , r2(a2,m1) , r3(a1,b1) , r4(a2,g1)) t:494, 'a' t:495, 'man' t:496, 'hit' t:497, 'a' t:498, 'girl' t:499, 'a' t:500, 'man' t:501, 'kick' t:502, 'a' t:503, 'boy'
So in this case, the system is able to read_out the two SVO constructions.
There are cases in which the model does not generate the same output. Generates something link "a man kick a boy" "hit" And does not express the relation between hit girl and man...
An issue with the two transitive with one common agent (see picture above) is that it will be interpreted in terms of assemblages as two assemblages since there are 2 top instnaces (The two SVO cxn) which for now are not linked into any larger construction (e.g. [S1] "and" [S2] conjonction). Note that in the case of such a conjunction, the question of how 1 cxn (MAN) would end up being unified twice would be a problem! This is why I would make a difference between two sentences (ie two sequential SemRep -> production cycles and something like "a man hit a girl and kick a boy")
Here is an example in which the system does not behave as expected. Above: the system has not yet produced any utterance. Above: the system has already produced an utterance that only expresses part of the semantic content "A man kick a boy" We can see which constructions have been deactivated MAN, KICK< BOY + 1 SVO and 2 Det But GIRL, and HIT are still active as well as one of the two SVO cxn that has not been read out. QUESTION: Why is SVO115 activation so low? Similar question for A_DET_NOUN_116? those have not been read out. Need to make sure I handle properly the percolation of activation in the network. Above: is the system after the utterance "hit" has been produced. Note that most of the other construction have been pruned and that GIRL has never been expressed.
Note that in the second example, the values of the construction's activations are slightly lower than in the first example (the one that works fine). This might be the reason why one of the assemblage is not read out.
Note how the two SVO construction compete. This should not be the case. They do not cover the same edges and the nodes they overlap on are linked to slots. I should have two arg struct competition going on: Pas vs active in for both actions. And this is it.