KoichiYasuoka commited on
Commit
f796df0
1 Parent(s): fceb6cc
Files changed (1) hide show
  1. ud.py +7 -10
ud.py CHANGED
@@ -51,14 +51,11 @@ class UniversalDependenciesPipeline(TokenClassificationPipeline):
51
  x[i]=b(x,i,j)
52
  if max(x)<0:
53
  return h
54
- y=[i for i,j in enumerate(x) if j==max(x)]
55
- m=numpy.full((matrix.shape[0]+1,matrix.shape[1]+1),numpy.nan)
56
- m[0:-1,0:-1]=z=matrix-numpy.nanmax(matrix,axis=0)
57
- m[0:-1,-1],m[-1,0:-1],m[-1,-1]=numpy.nanmax(z[:,y],axis=1),numpy.nanmax(z[y,:],axis=0),numpy.nanmax(z[y,y])
58
- m[y,:]=m[:,y]=numpy.nan
59
- m[y,y]=0
60
  k=self.chu_liu_edmonds(m)
61
- j=y[numpy.nanargmax(z[k[-1],y] if k[-1]<z.shape[0] else z[y,y])]
62
- i=k[-1] if k[-1]<z.shape[0] else j
63
- z[0:i,j]=z[i+1:,j]=numpy.nan
64
- return self.chu_liu_edmonds(z)
 
51
  x[i]=b(x,i,j)
52
  if max(x)<0:
53
  return h
54
+ y,x=[i for i,j in enumerate(x) if j==max(x)],[i for i,j in enumerate(x) if j<max(x)]
55
+ z=matrix-numpy.nanmax(matrix,axis=0)
56
+ m=numpy.block([[z[x,:][:,x],numpy.max(z[x,:][:,y],axis=1).reshape(len(x),1)],[numpy.max(z[y,:][:,x],axis=0),numpy.max(z[y,y])]])
 
 
 
57
  k=self.chu_liu_edmonds(m)
58
+ h=[j if i in y else k[x.index(i)] if k[x.index(i)]<len(x) else y[numpy.argmax(z[y,i])] for i,j in enumerate(h)]
59
+ i=y[numpy.argmax(z[k[-1],y] if k[-1]<len(x) else z[y,y])]
60
+ h[i]=k[-1] if k[-1]<len(x) else i
61
+ return h