(train, similar_data, dissimilar_data)
return new_data
与train数据去重，生成平衡数据集
    similar_data: dict,{(q1,q2): d(q1,q2)}
    dissimilar_data: set, {(q1,q2)}
与train数据去重，生成平衡数据集
    similar_data: dict,{(q1,q2): d(q1,q2)}
    dissimilar_data: set, {(q1,q2)}
与train数据去重，生成平衡数据集 similar_data : dict { ( q1 q2 ) : d ( q1 q2 ) } dissimilar_data : set { ( q1 q2 ) }
def data_augmentation(train, similar_data, dissimilar_data):
    '''
    与train数据去重，生成平衡数据集
    similar_data: dict,{(q1,q2): d(q1,q2)}
    dissimilar_data: set, {(q1,q2)}
    '''
   
    #问题对转化为set格式
    similar_pairs = set(similar_data.keys())
    train_data1 = set([(train.loc[i,'q1'], train.loc[i,'q2']) for i in train.index])
    train_data2 = set([(train.loc[i,'q2'], train.loc[i,'q1']) for i in train.index])
    
    # 查看（q1,q2）组合是否与train数据重复,如重复，则去掉
    similar_pairs = similar_pairs - train_data1
    similar_pairs = list(similar_pairs - train_data2)
    dissimilar_pairs = dissimilar_data - train_data1
    dissimilar_pairs = list(dissimilar_pairs - train_data2)
    
    
    # 生成新的训练数据并导出
    new_data = []
    new_data.extend(similar_pairs)
    new_data.extend(dissimilar_pairs)
    new_data = pd.DataFrame(np.array(new_data))
    new_data.columns = ['q1','q2']
    new_data['label'] = 0
    new_data.loc[0:len(similar_pairs)-1, 'label'] = 1
    
    return new_data
def data_augmentation ( train , similar_data , dissimilar_data ) : #问题对转化为set格式 similar_pairs = set ( similar_data . keys ( ) ) train_data1 = set ( [ ( train . loc [ i , 'q1' ] , train . loc [ i , 'q2' ] ) for i in train . index ] ) train_data2 = set ( [ ( train . loc [ i , 'q2' ] , train . loc [ i , 'q1' ] ) for i in train . index ] ) # 查看（q1,q2）组合是否与train数据重复,如重复，则去掉 similar_pairs = similar_pairs - train_data1 similar_pairs = list ( similar_pairs - train_data2 ) dissimilar_pairs = dissimilar_data - train_data1 dissimilar_pairs = list ( dissimilar_pairs - train_data2 ) # 生成新的训练数据并导出 new_data = [ ] new_data . extend ( similar_pairs ) new_data . extend ( dissimilar_pairs ) new_data = pd . DataFrame ( np . array ( new_data ) ) new_data . columns = [ 'q1' , 'q2' ] new_data [ 'label' ] = 0 new_data . loc [ 0 : len ( similar_pairs ) - 1 , 'label' ] = 1 return new_data