示例#1
0
 def setElementType(self,
                    element,
                    prediction,
                    classSet=None,
                    classIds=None,
                    unmergeEPINeg=False):
     eText = element.get("text")
     if classSet == None:  # binary classification
         if prediction[0] > 0:
             element.attrib["type"] = str(True)
         else:
             element.attrib["type"] = str(False)
     else:
         if unmergeEPINeg:
             element.set(
                 "type",
                 ResolveEPITriggerTypes.determineNewType(
                     classSet.getName(prediction[0]), eText))
         else:
             element.attrib["type"] = classSet.getName(prediction[0])
         classWeights = prediction[1:]
         predictionString = ""
         for i in range(len(classWeights)):
             if predictionString != "":
                 predictionString += ","
             className = classSet.getName(classIds[i])
             if unmergeEPINeg:
                 className = InteractionXML.ResolveEPITriggerTypes.determineNewType(
                     className, eText)
             predictionString += className + ":" + str(classWeights[i])
         element.attrib["predictions"] = predictionString
示例#2
0
 def getElementTypes(self,
                     prediction,
                     classSet=None,
                     classIds=None,
                     unmergeEPINegText=None):
     if classSet == None:  # binary classification
         if prediction[0] > 0:
             return [str(True)]
         else:
             return [str(False)]
     else:
         if isinstance(prediction, dict):
             encoded = prediction["prediction"]
             eTypes = [
                 classSet.getName(i) for i in range(len(encoded))
                 if encoded[i] == 1
             ]
             if len(eTypes) == 0:
                 eTypes = ["neg"]
         else:
             eTypes = classSet.getName(prediction[0]).split(
                 "---")  # split merged types
         if unmergeEPINegText != None:  # an element text was provided
             for i in range(len(eTypes)):
                 eTypes[i] = ResolveEPITriggerTypes.determineNewType(
                     eTypes[i], unmergeEPINegText)
     return eTypes
示例#3
0
 def getElementTypes(self, prediction, classSet=None, classIds=None, unmergeEPINegText=None):
     if classSet == None: # binary classification
         if prediction[0] > 0:
             return [str(True)]
         else:
             return [str(False)]
     else:
         eTypes = classSet.getName(prediction[0]).split("---") # split merged types
         if unmergeEPINegText != None: # an element text was provided
             for i in range(len(eTypes)):
                 eTypes[i] = ResolveEPITriggerTypes.determineNewType(eTypes[i], unmergeEPINegText)
     return eTypes
示例#4
0
 def setElementType(self, element, prediction, classSet=None, classIds=None, unmergeEPINeg=False):
     eText = element.get("text")
     if classSet == None: # binary classification
         if prediction[0] > 0:
             element.attrib["type"] = str(True)
         else:
             element.attrib["type"] = str(False)
     else:
         if unmergeEPINeg:
             element.set("type", ResolveEPITriggerTypes.determineNewType(classSet.getName(prediction[0]), eText))
         else:
             element.attrib["type"] = classSet.getName(prediction[0])
         classWeights = prediction[1:]
         predictionString = ""
         for i in range(len(classWeights)):
             if predictionString != "":
                 predictionString += ","
             className = classSet.getName(classIds[i])
             if unmergeEPINeg:
                 className = InteractionXML.ResolveEPITriggerTypes.determineNewType(className, eText)
             predictionString += className + ":" + str(classWeights[i])
         element.attrib["predictions"] = predictionString