def initialization_feature(instance, use_gold=False):
	instance['relation'] = Relation.from_json(instance['relation_json'])
	relation = instance['relation']
	instance['arg1_parse'] = json.loads(instance['arg1_parse_json'])
	instance['arg2_parse'] = json.loads(instance['arg2_parse_json'])
	if instance['arg1_parse']['dependency_tree'] is not None:
		instance['arg1_dependency_tree'] = DependencyGraph.from_dict(instance['arg1_parse']['dependency_tree'])
	else:
		instance['arg1_dependency_tree'] = None
	if instance['arg2_parse']['dependency_tree'] is not None:
		instance['arg2_dependency_tree'] = DependencyGraph.from_dict(instance['arg2_parse']['dependency_tree'])
	else:
		instance['arg2_dependency_tree'] = None

	instance['parse_tree1'] = Tree(instance['arg1_parse']['parsetree'])
	instance['parse_tree2'] = Tree(instance['arg2_parse']['parsetree'])
	instance['arg1_token_indices'] = \
		get_indices_from_span_ranges(relation.arg1.text_span_ranges, instance['arg1_parse'])
	instance['arg2_token_indices'] = \
		get_indices_from_span_ranges(relation.arg2.text_span_ranges, instance['arg2_parse'])

	instance['sentence1_tokens'] = [x[0] for x in instance['arg1_parse']['words']]
	instance['sentence2_tokens'] = [x[0] for x in instance['arg2_parse']['words']]
	
	instance['arg1_majority_head_verb_index'] = \
		_get_majority_head_verb_index(instance['arg1_parse'], instance['arg1_token_indices'])
	instance['arg2_majority_head_verb_index'] = \
		_get_majority_head_verb_index(instance['arg2_parse'], instance['arg2_token_indices'])

	return []
示例#2
0
 def _init_data_list(self):
     self.data_list = []
     with copen(self.jsons_file, mode='r', encoding='latin1') as f:
         for line in f:
             new_relation = Relation.from_json(
                 json.loads(line, object_pairs_hook=OrderedDict))
             self.data_list.append(new_relation)
示例#3
0
	def data(self):
		if self.data_list is None:
			self.data_list = []
			with copen(self.jsons_file, mode='r', encoding='latin1') as f:
				for line in f:
					new_relation = Relation.from_json(json.loads(line, object_pairs_hook=OrderedDict))
					self.data_list.append(new_relation)
					yield new_relation	
		else:
			for i in xrange(len(self.data_list)):
				yield self.data_list[i]
示例#4
0
 def data(self):
     if self.data_list is None:
         self.data_list = []
         with copen(self.jsons_file, mode='r', encoding='latin1') as f:
             for line in f:
                 new_relation = Relation.from_json(
                     json.loads(line, object_pairs_hook=OrderedDict))
                 self.data_list.append(new_relation)
                 yield new_relation
     else:
         for i in xrange(len(self.data_list)):
             yield self.data_list[i]
示例#5
0
	def _init_data_list(self):
		self.data_list = []
		with copen(self.jsons_file, mode='r', encoding='latin1') as f:
			for line in f:
				new_relation = Relation.from_json(json.loads(line, object_pairs_hook=OrderedDict))
				self.data_list.append(new_relation)