ctakes-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chen, Pei" <Pei.C...@childrens.harvard.edu>
Subject RE: getSeverity etc. for relation extractor
Date Thu, 20 Mar 2014 14:27:40 GMT
Thanks for confirm James.  It seem like a bug...
Chase,
if you confirm if adding ddm.setSeverity(degreeOfTextRelation);  works for you, I can commit
the changes in trunk. 

Which also brings up some interesting points:
1) Should we populate IdentifiedAnnotation.severity() and bodylocationof() Directly in RelationExtractorAnnotator
instead of the template filler?  
It would seem more intuitive and faster than iterating through the relations afterwards again.
2)Chase brought up a good point, should we add some of the commonly used components to the
defaultpipeline?  (DrugNER, RelationExtractor, TemplateFiller)?  Seems easier to get onboard
I think.

--Pei


> -----Original Message-----
> From: Chen, Pei
> Sent: Wednesday, March 19, 2014 5:58 PM
> To: dev@ctakes.apache.org
> Subject: RE: getSeverity etc. for relation extractor
> 
> Chase,
> I am not sure why or the reasoning behind this, but it might explain why
> Severity is null for your DiseaseDisorderMention example:
> Line 319 in TemplateFillerAnnotator.java:
> 
> If I'm reading this logic correctly, it will only populate severity for
> SignSymptomMention....   Can't think of why not to populate it if it exists in
> the BinaryTextRelations-
> have you tried adding: ddm.setSeverity(degreeOfTextRelation); instead of
> logging the error ???
> 
> 	    			if (eventMention instanceof
> DiseaseDisorderMention) {
> 	    				DiseaseDisorderMention ddm =
> (DiseaseDisorderMention) eventMention;
> 	    				logger.error("Need to implement attr
> for " + relation + " for DiseaseDisorderMention");
> 	    			} else if (eventMention instanceof
> SignSymptomMention) {
> 	    				SignSymptomMention ssm =
> (SignSymptomMention) eventMention;
> 
> 	ssm.setSeverity(degreeOfTextRelation);
> 
> Would you mind opening a Jira attach a patch/test if it works for you?
> -Pei
> 
> > -----Original Message-----
> > From: Chase Master [mailto:chasemaster9@gmail.com]
> > Sent: Wednesday, March 19, 2014 4:09 PM
> > To: dev@ctakes.apache.org
> > Subject: Re: getSeverity etc. for relation extractor
> >
> > Thanks,
> > I tried using the AggregateTemplateFiller.xml from the template-filler
> > module, and I specified the relation extractor pipeline that I was
> > using before from the relation-extractor project (there is also a
> > different one in the template-filler project called
> > "RelationExtractorAggregateWithoutOrangeBook").  However, I don't see
> > a difference, the severity is still null.
> >
> > Just wondering - is there some reason that the TemplateFiller is not
> > included by default?  It seems confusing that there are getters for
> > properties that aren't set in general ...even when one runs the
> > default clinical pipeline instead of the RelationExtractorAggregate,
> > these getters are there, but there are no relations.
> >
> >
> > Thanks
> > Chase
> >
> >
> > On Wed, Mar 19, 2014 at 1:04 PM, Chen, Pei
> > <Pei.Chen@childrens.harvard.edu>wrote:
> >
> > > If I remember correctly, I think those attributes were set in
> > > IdentifiedAnnotation via:
> > > ctakes-template-filler/desc/analysis_engine/TemplateFillerAnnotator.
> > > xm
> > > l
> > > One can look at the logic in:
> > > org.apache.ctakes.template.filler.ae.TemplateFillerAnnotator [1]
> > >
> > > Have you tried added that to the pipeline?
> > >
> > > [1]
> > > http://svn.apache.org/repos/asf/ctakes/trunk/ctakes-template-filler/
> > > sr
> > > c/main/java/org/apache/ctakes/template/filler/ae/TemplateFillerAnnot
> > > at
> > > or.java
> > >
> > > --Pei
> > >
> > > > -----Original Message-----
> > > > From: Chase Master [mailto:chasemaster9@gmail.com]
> > > > Sent: Wednesday, March 19, 2014 1:56 PM
> > > > To: dev@ctakes.apache.org
> > > > Subject: getSeverity etc. for relation extractor
> > > >
> > > > Hi,
> > > >
> > > > I am trying to output the relations associated with
> > > DiseaseDisorderMentions
> > > > and other types.  But I want to start by iterating over
> > > > DiseaseDisorderMention, not BinaryTextRelations since I want to be
> > > > sure
> > > to
> > > > find them all, even if they have no associated relation.
> > > >
> > > > I always get null when using any of the getters like
> > > > "getSeverity()".  I
> > > am
> > > > using the example text "He had a slight fracture in the proximal
> > > > right
> > > fibula".
> > > > When I iterate over BinaryTextRelations, I see the following valid
> > > values:
> > > > BinaryTextRelation slightFracture = iterator.next();
> > > > slightFracture.getArg1().getArgument().getCoveredText() is "fracture"
> > > > slightFracture.getArg2().getArgument().getCoveredText() is "slight".
> > > > However, for the "fracture" DiseaseDisorderMention, getSeverity()
> > > > is
> > > null.
> > > >  If it wasn't, I would then grab
> > > > disease.getSeverity().getArg1().getArgument().getCoveredText(), or
> > > > for Arg2.
> > > >
> > > > Thanks,
> > > > Chase
> > >

Mime
View raw message