Example #1
0
 def train(self,training_raw,training_result,iteration=5):
     """
     训练
     """
     for it in range(iteration):#迭代整个语料库
         eval=self.Eval()#测试用的对象
         sn=0
         for line,std in zip(open(training_raw),open(training_result)):#迭代每个句子
             sn+=1
             #if sn%10==0:
             #    print('('+str(sn)+')',end='')
             #    sys.stdout.flush()
             line=line.strip()
             std=std.split()
             y=std
             std=pre.gen_std(std)
             std=[t for _,t in sorted(list(std))]
             raw,s=self.pre(line)
             self.schema.candidates=s
             self.schema.features.candidates=s
             
             assert(len(s)==len(std))
             
             _,hat_y=self._learn_sentence(raw,y)
             eval(y,hat_y)
         eval.print_result()#打印评测结果
     self.actions.average(self.step)
Example #2
0
 def test(self,test_raw,test_result):
     """
     测试
     """
     eval=self.Eval([DiffToHTML(test_result+'.html')])
     for line,std in zip(open(test_raw),open(test_result)):#迭代每个句子
         line=line.strip()
         std=std.split()
         y=std
         std=pre.gen_std(std)
         std=[t for _,t in sorted(list(std))]
         raw,s=self.pre(line)
         self.schema.candidates=s
         self.schema.features.candidates=s
         assert(len(s)==len(std))
         hat_y=self(raw)
         eval(y,hat_y)
     eval.print_result()#打印评测结果
     return eval