Exemplo n.º 1
0
	def get_lowest_threshold(self, relationship):
		wt = self.get_weighted_tokens(relationship)
		lt = 1000.0

		if wt:		
			lt = wt[0].weight
			for w in wt:
				if str.lower(NLPUtility.get_case(w)) != self.sysname and w.weight < lt: # Exclude system name object from filter
					lt = w.weight

		return lt
Exemplo n.º 2
0
    def create(self, relationships, stories, threshold, roles):
        used = []

        for r in relationships:
            pre = NLPUtility.get_case(r[1])
            post = NLPUtility.get_case(r[3])

            if r[2] == Pattern.parent:
                self.onto.get_class_by_name(r[0], pre, post)
                self.prolog.new_relationship(r[0], pre, 'isa', post)

            if r[2] != Pattern.parent:
                rel = NLPUtility.get_case(r[4])

            if r[2] == Pattern.subj_dobj or r[2] == Pattern.compound_has:
                self.onto.get_class_by_name(r[0], pre)
                self.onto.get_class_by_name(r[0], post)
                self.prolog.new_relationship(r[0], pre, rel, post)

                if r[2] == Pattern.subj_dobj:
                    self.make_can_relationship(r[0], pre, rel, post)
                else:
                    self.make_has_relationship(r[0], pre, rel, post)

            self.prolog.get_class_by_name(r[0], pre)
            self.prolog.get_class_by_name(r[0], post)

            used.append(pre)
            used.append(post)

        for wo in self.weighted_tokens:
            if wo.weight >= threshold:
                in_stories = self.find_story(wo, stories)
                for in_story in in_stories:
                    self.onto.get_class_by_name(in_story, wo.case)

        for r in roles:
            self.onto.get_class_by_name(r[0], NLPUtility.get_case(r[1]), '',
                                        True)
Exemplo n.º 3
0
    def get_lowest_threshold(self, relationship):
        wt = self.get_weighted_tokens(relationship)
        lt = 1000.0

        if wt:
            lt = wt[0].weight
            for w in wt:
                if str.lower(
                        NLPUtility.get_case(w)
                ) != self.sysname and w.weight < lt:  # Exclude system name object from filter
                    lt = w.weight

        return lt
Exemplo n.º 4
0
	def create(self, relationships, stories, threshold, roles):
		used = []

		for r in relationships:
			pre = NLPUtility.get_case(r[1])
			post = NLPUtility.get_case(r[3])

			if r[2] == Pattern.parent:
				self.onto.get_class_by_name(r[0], pre, post)
				self.prolog.new_relationship(r[0], pre, 'isa', post)

			if r[2] != Pattern.parent:
				rel = NLPUtility.get_case(r[4])

			if r[2] == Pattern.subj_dobj or r[2] == Pattern.compound_has:
				self.onto.get_class_by_name(r[0], pre)
				self.onto.get_class_by_name(r[0], post)
				self.prolog.new_relationship(r[0], pre, rel, post)

				if r[2] == Pattern.subj_dobj:
					self.make_can_relationship(r[0], pre, rel, post)
				else:
					self.make_has_relationship(r[0], pre, rel, post)

			self.prolog.get_class_by_name(r[0], pre)
			self.prolog.get_class_by_name(r[0], post)

			used.append(pre)
			used.append(post)

		for wo in self.weighted_tokens:
			if wo.weight >= threshold:
				in_stories = self.find_story(wo, stories)
				for in_story in in_stories:
					self.onto.get_class_by_name(in_story, wo.case)

		for r in roles:
			self.onto.get_class_by_name(r[0], NLPUtility.get_case(r[1]), '', True)