def get_new_nodel(nl,flg): # tag model, node list, tag model(if any)
    # get new nodel list by the crf tag
    # return: [(nodel, diff_node)]
    # todo find kbest one by one changed and record the diff,done
    nodel_l=[]
    i=0
    while i<len(flg):
        if flg[i]!=3:
            new_nl=nl[:i]
            if flg[i]==0:#####BBBBB######
                a=node()
                a.son=[nl[i],nl[i+1]]
                a.head=nl[i].head
                a.head_pos=nl[i].head_pos
                #new_nl=nl[:i]
                new_nl.append(a)
                new_nl+=nl[i+2:]
                #nodel_l.append(a)
                i+=1
            elif flg[i]==1:####EEEEE###
                a=node()
                a.son=[nl[i],nl[i+1]]
                a.head=nl[i+1].head
                a.head_pos=nl[i+1].head_pos
                #new_nl=nl[:i]
                new_nl.append(a)
                new_nl+=nl[i+2:]
                #nodel_l.append(a)
                i+=1
            elif flg[i]==2:############SSSS######
                a=node()
                a.son=[nl[i]]
                a.head=nl[i].head
                a.head_pos=nl[i].head_pos
                #new_nl=nl[:i]
                new_nl.append(a)
                new_nl+=nl[i+1:]
                #nodel_l.append(a)
            else:
                print '?'
            if flg[i]==2:
                # fts=get_tag_feature_final(ts,ind,type_tag)
                fts=get_tag_feature_final(nl,i,1)
                nodel_l.append((new_nl,i,fts))# new node list, diff son
            else:
                # todo,attention!!!!!!<<i-1>>
                fts=get_tag_feature_final(nl,i-1,2)
                nodel_l.append((new_nl,i-1,fts))# new node list, diff son
            #nodel_l[-1].tag=ntag
        else:
            pass
            #nodel_l.append(nl[i])
        i+=1 ################todo,notify
    return nodel_l
def get_new_tag_main(ts,ind,type_tag):
    tmp_file=pwd_path+'files/tmp_crf.tag'
    fts=get_tag_feature_final(ts,ind,type_tag)
    write_file(tmp_file,'\t'.join(fts).encode('utf8'))
    res=get_tag_main(tmp_file)
    #print res[0][0][0]
    return res[0][0][0]