KoichiYasuoka commited on
Commit
70336f3
1 Parent(s): 0ff8f8f
Files changed (1) hide show
  1. ud.py +5 -5
ud.py CHANGED
@@ -27,18 +27,18 @@ class UniversalDependenciesPipeline(TokenClassificationPipeline):
27
  m[:,z]+=[[0 if j in z and (i!=j or i==k) else numpy.nan for i in z] for j in range(m.shape[0])]
28
  h=self.chu_liu_edmonds(m)
29
  v=[(s,e) for s,e in model_output["offset_mapping"][0].tolist() if s<e]
30
- q=[self.model.config.id2label[p[i,j]].split("|") for i,j in enumerate(h)]
31
  g="aggregation_strategy" in kwargs and kwargs["aggregation_strategy"]!="none"
32
  if g:
33
- for i,j in reversed(list(enumerate(q[2:],2))):
34
  if j[-1]=="goeswith":
35
  h=[b if i>b else b-1 for a,b in enumerate(h) if i!=a]
36
- v[i-2]=(v[i-2][0],v.pop(i-1)[1])
37
  q.pop(i)
38
  t=model_output["sentence"].replace("\n"," ")
39
  u="# text = "+t+"\n"
40
- for i,(s,e) in enumerate(v,1):
41
- u+="\t".join([str(i),t[s:e],t[s:e] if g else "_",q[i][0],"_","|".join(q[i][1:-1]),str(h[i]),q[i][-1],"_","_" if i<len(v) and e<v[i][0] else "SpaceAfter=No"])+"\n"
42
  return u+"\n"
43
  def chu_liu_edmonds(self,matrix):
44
  import numpy
 
27
  m[:,z]+=[[0 if j in z and (i!=j or i==k) else numpy.nan for i in z] for j in range(m.shape[0])]
28
  h=self.chu_liu_edmonds(m)
29
  v=[(s,e) for s,e in model_output["offset_mapping"][0].tolist() if s<e]
30
+ q=[self.model.config.id2label[p[j,i]].split("|") for i,j in enumerate(h)]
31
  g="aggregation_strategy" in kwargs and kwargs["aggregation_strategy"]!="none"
32
  if g:
33
+ for i,j in reversed(list(enumerate(q[1:],1))):
34
  if j[-1]=="goeswith":
35
  h=[b if i>b else b-1 for a,b in enumerate(h) if i!=a]
36
+ v[i-1]=(v[i-1][0],v.pop(i)[1])
37
  q.pop(i)
38
  t=model_output["sentence"].replace("\n"," ")
39
  u="# text = "+t+"\n"
40
+ for i,(s,e) in enumerate(v):
41
+ u+="\t".join([str(i+1),t[s:e],t[s:e] if g else "_",q[i][0],"_","|".join(q[i][1:-1]),str(0 if h[i]==i else h[i]+1),q[i][-1],"_","_" if i+1<len(v) and e<v[i+1][0] else "SpaceAfter=No"])+"\n"
42
  return u+"\n"
43
  def chu_liu_edmonds(self,matrix):
44
  import numpy