コード例 #1
0
	def gen_context_features(self, eobj):
		sentid = eobj.sentid
		tokenid = eobj.head
		N = 2
		wveclist = np.array([])	
		poslst = []
		maxtokens = self.numtokens[sentid - 1]
		for i in range(tokenid - N, tokenid)+range(tokenid + 1, tokenid + 1 + N):
			if i < 1 or i > maxtokens:
				posi = get_pos_feat('')
				wveclist = np.concatenate((wveclist,get_word2vec_feat(self.w2vmodel,'')),axis=0)
			else:
				posi = get_pos_feat(self.wordfeatures[(sentid, i)][2])
				wveclist = np.concatenate((wveclist,get_word2vec_feat(self.w2vmodel,self.wordfeatures[(sentid, i)][1])),axis=0)
			poslst += posi
		return np.concatenate((np.array(poslst),wveclist),axis=0)
コード例 #2
0
 def gen_context_features(self, eobj):
     sentid = eobj.sentid
     tokenid = eobj.head
     N = 2
     wveclist = np.array([])
     poslst = []
     maxtokens = self.numtokens[sentid - 1]
     for i in range(tokenid - N, tokenid) + range(tokenid + 1,
                                                  tokenid + 1 + N):
         if i < 1 or i > maxtokens:
             posi = get_pos_feat('')
             wveclist = np.concatenate(
                 (wveclist, get_word2vec_feat(self.w2vmodel, '')), axis=0)
         else:
             posi = get_pos_feat(self.wordfeatures[(sentid, i)][2])
             wveclist = np.concatenate(
                 (wveclist,
                  get_word2vec_feat(self.w2vmodel,
                                    self.wordfeatures[(sentid, i)][1])),
                 axis=0)
         poslst += posi
     return np.concatenate((np.array(poslst), wveclist), axis=0)
コード例 #3
0
	def gen_dependency_features(self,eobj):
		depgraph = self.dependgraphs[eobj.sentid][0]
		deplabels = self.dependgraphs[eobj.sentid][1]
		hwid = eobj.head
		deprellabel = ''
		dephw = ''
		deppos = ''
		for x in depgraph.GetNI(hwid).GetInEdges():
			deprellabel = deplabels[(x,hwid)]
			if x != 0:	#In case x depends on root, then word features are not defined
				dephw = self.wordfeatures[(eobj.sentid,x)][1]
				deppos = self.wordfeatures[(eobj.sentid,x)][2]
			break
		#return(deprellabel,dephw,deppos)
		f1_deplabel = np.array(get_dependency_rellabel(deprellabel))
		f2_dephw = 	get_word2vec_feat(self.w2vmodel,dephw)
		f3_deppos = np.array(get_pos_feat(deppos))
		return np.concatenate((f1_deplabel, f2_dephw, f3_deppos), axis = 0)
コード例 #4
0
 def gen_dependency_features(self, eobj):
     depgraph = self.dependgraphs[eobj.sentid][0]
     deplabels = self.dependgraphs[eobj.sentid][1]
     hwid = eobj.head
     deprellabel = ''
     dephw = ''
     deppos = ''
     for x in depgraph.GetNI(hwid).GetInEdges():
         deprellabel = deplabels[(x, hwid)]
         if x != 0:  #In case x depends on root, then word features are not defined
             dephw = self.wordfeatures[(eobj.sentid, x)][1]
             deppos = self.wordfeatures[(eobj.sentid, x)][2]
         break
     #return(deprellabel,dephw,deppos)
     f1_deplabel = np.array(get_dependency_rellabel(deprellabel))
     f2_dephw = get_word2vec_feat(self.w2vmodel, dephw)
     f3_deppos = np.array(get_pos_feat(deppos))
     return np.concatenate((f1_deplabel, f2_dephw, f3_deppos), axis=0)
コード例 #5
0
	def gen_class_features(self, eobj):
		postag = self.wordfeatures[(eobj.sentid, eobj.head)][2]
		pos_feat = get_pos_feat(postag)
		class_feat = get_class_feat(postag)
		return np.concatenate((pos_feat, class_feat), axis = 0)
コード例 #6
0
 def gen_class_features(self, eobj):
     postag = self.wordfeatures[(eobj.sentid, eobj.head)][2]
     pos_feat = get_pos_feat(postag)
     class_feat = get_class_feat(postag)
     return np.concatenate((pos_feat, class_feat), axis=0)