You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by dl...@apache.org on 2015/10/03 20:02:47 UTC
svn commit: r1706614 -
/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/DeepPheAnaforaXMLReader.java
Author: dligach
Date: Sat Oct 3 18:02:47 2015
New Revision: 1706614
URL: http://svn.apache.org/viewvc?rev=1706614&view=rev
Log:
how handling the fact that a disease disorder (or metastasis) can be linked to multiple anatomical sites
Modified:
ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/DeepPheAnaforaXMLReader.java
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/DeepPheAnaforaXMLReader.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/DeepPheAnaforaXMLReader.java?rev=1706614&r1=1706613&r2=1706614&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/DeepPheAnaforaXMLReader.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/DeepPheAnaforaXMLReader.java Sat Oct 3 18:02:47 2015
@@ -96,7 +96,7 @@ public class DeepPheAnaforaXMLReader ext
for (Element annotationsElem : dataElem.getChildren("annotations")) {
Map<String, IdentifiedAnnotation> idToAnnotation = Maps.newHashMap();
- Map<String, String> diseaseDisorderToBodyLocation = Maps.newHashMap();
+ Map<String, List<String>> diseaseDisorderToAnatomicalSites = Maps.newHashMap();
for (Element entityElem : annotationsElem.getChildren("entity")) {
@@ -127,8 +127,12 @@ public class DeepPheAnaforaXMLReader ext
DiseaseDisorderMention diseaseDisorderMention = new DiseaseDisorderMention(jCas, begin, end);
diseaseDisorderMention.addToIndexes();
idToAnnotation.put(id, diseaseDisorderMention);
- String bodyLocationId = removeSingleChildText(propertiesElem, "body_location", id);
- diseaseDisorderToBodyLocation.put(id, bodyLocationId);
+ List<String> anatomicalSiteIds = Lists.newArrayList();
+ for(Element child : propertiesElem.getChildren("body_location")) {
+ String bodyLocationId = child.getText();
+ anatomicalSiteIds.add(bodyLocationId);
+ }
+ diseaseDisorderToAnatomicalSites.put(id, anatomicalSiteIds);
} else if(type.equals("Anatomical_site")) {
AnatomicalSiteMention anatomicalSiteMention = new AnatomicalSiteMention(jCas, begin, end);
anatomicalSiteMention.addToIndexes();
@@ -138,11 +142,12 @@ public class DeepPheAnaforaXMLReader ext
}
}
- for(String diseaseDisorderId : diseaseDisorderToBodyLocation.keySet()) {
+ for(String diseaseDisorderId : diseaseDisorderToAnatomicalSites.keySet()) {
IdentifiedAnnotation diseaseDisorderMention = idToAnnotation.get(diseaseDisorderId);
- String anatomicalSiteId = diseaseDisorderToBodyLocation.get(diseaseDisorderId);
- IdentifiedAnnotation anatomicalSiteMention = idToAnnotation.get(anatomicalSiteId);
- createLocationOfRelation(jCas, diseaseDisorderMention, anatomicalSiteMention);
+ for(String anatomicalSiteId : diseaseDisorderToAnatomicalSites.get(diseaseDisorderId)) {
+ IdentifiedAnnotation anatomicalSiteMention = idToAnnotation.get(anatomicalSiteId);
+ createLocationOfRelation(jCas, diseaseDisorderMention, anatomicalSiteMention);
+ }
}
}
}