clulab / reach

Reach Biomedical Information Extraction
Other
97 stars 39 forks source link

problem with request to change semantics of Activations #248

Closed myedibleenso closed 8 years ago

myedibleenso commented 8 years ago

@MihaiSurdeanu requested we change the semantics of Activations to allow Events to serve as the controlled, but it is unclear how we should distinguish Activations from Regulations:

https://github.com/clulab/reach/blob/c33eb9f4f772ff246c4883b7c3230d9154305402/src/main/resources/org/clulab/reach/biogrammar/events_master.yml#L234-276

hickst commented 8 years ago

Doesn't this clash with what we said in issue #199; that any ComplexEvent can serve as a controller but not as a controlled. Should we amend that restriction to Regulations only?

MihaiSurdeanu commented 8 years ago

Reassigned to Gus, mainly because I won't have to work on this this week. Note that Activations and Regulations are indistinguishable from the point of view of Controllers. Both should accept PossibleController as controllerType, where PossibleController must include entities, simple events, and nested events. Remember the discussion at last week's meeting on how to flatten all these to entities.

BUT, controlledType is different between the two. Regulations take Event as Controller. Activations take Entity.

myedibleenso commented 8 years ago

BUT, controlledType is different between the two. Regulations take Event as Controller. Activations take Entity. Controller-> Controlled, right?

@MihaiSurdeanu, if you check the link I included you'll see that the distinction you described already exists (activations take Entities as their controlled, while regulations take Events as their controlled).

Remember the discussion at last week's meeting on how to flatten all these to entities.

Can others help remind me? @hickst? @marcovzla? @danebell?

MihaiSurdeanu commented 8 years ago
  1. Yes: the ontology is correct. Controllers are the same. But I suspect the actions are different, since that unit test fails on activations.
  2. Flattening of controlleds:
  3. If entity => return entity
  4. If SimpleEvent(theme:Entity) => return Entity with Modification(SimpleEvent).
  5. If PosRegulation(SimpleEvent(theme:Entity)) => return Entity with Modification(SimpleEvent).
  6. If NegRegulation(SimpleEvent(theme:Entity)) => return Entity with Modification(NOT(SimpleEvent)).
myedibleenso commented 8 years ago

That helps. Thanks...

marcovzla commented 8 years ago

@MihaiSurdeanu so the flattening of controlleds should only be done for activations?

myedibleenso commented 8 years ago

I still don't understand how Regulations will differ from Activations with this change...I guess you're saying that the controlled of an Activation can now be an Event OR and Entity, while a Regulation can only have an Event as its controlled. Is that right?

myedibleenso commented 8 years ago

I guess that sort of works if the triggers for regulations and activations are unambiguous.

myedibleenso commented 8 years ago

I wish the exporter were smarter. Then we wouldn't need to do all of this silly flattening in the Mentions.

myedibleenso commented 8 years ago

Anyway, I think I get it now (if I'm right that the controlled of Activation can be either an Event or Entity).

MihaiSurdeanu commented 8 years ago

Sorry: controllers should be flattened!! Controlleds stay as they are for both.

Sorry about the confusion. On Jul 11, 2016 11:24 PM, "Gus Hahn-Powell" notifications@github.com wrote:

I wish the exporter were smarter. Then we wouldn't need to do all of this silly flattening in the Mentions.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clulab/reach/issues/248#issuecomment-231853313, or mute the thread https://github.com/notifications/unsubscribe/ABH-zgSjORGPkrhCE-cSk-A-D6ldF-ifks5qUqZxgaJpZM4JIuwX .

myedibleenso commented 8 years ago

Ok, @marcovzla seems to get it. I'll discuss it with him before proceeding.

hickst commented 8 years ago

There is an exporter branch 'regCreg' in which I disallowed ComplexEvents from controlling ComplexEvents BUT this has not been verified, integrated with major master changes or tested. I was awaiting decisions on what issue #248 should/would do. You can take a look at it though.

marcovzla commented 8 years ago

Controllers are already being flattened for both Regulation and Activation.

When the controller is an entity, it remains unchanged. When the controller is a simple event, it is converted to an Entity with PTM. When the controller is a nested event, it gets discarded. See https://github.com/clulab/reach/blob/f22e2cb72561c58aa2d9388f2ce130e07301ec84/src/main/scala/org/clulab/reach/DarpaActions.scala#L550-L552

The new behavior should flatten nested events too, correct? Should this be done for Activations only, or also for Regulations?