def Orth_con(self, wordsEn, pos1En, pos2En, wordsZh, pos1Zh, pos2Zh):
    (share_en, share_zh) = self.share_encoder(wordsEn, pos1En, pos2En, wordsZh, pos1Zh, pos2Zh)
    (mono_en, mono_zh) = self.monoRE.encoder(wordsEn, pos1En, pos2En, wordsZh, pos1Zh, pos2Zh)
    share = torch.cat((share_en, share_zh), 0)
    mono = torch.cat((mono_en, mono_zh), 0)
    share -= torch.mean(share, 0)
    mono -= torch.mean(mono, 0)
    share = F.normalize(share, 2, 1)
    mono = F.normalize(mono, 2, 1)
    correlation_mat = torch.matmul(share.transpose(0, 1), mono)
    cost = torch.mean((correlation_mat * correlation_mat))
    return cost
def Orth_con(self, wordsEn, pos1En, pos2En, wordsZh, pos1Zh, pos2Zh):
    (share_en, share_zh) = self.share_encoder(wordsEn, pos1En, pos2En, wordsZh, pos1Zh, pos2Zh)
    (mono_en, mono_zh) = self.monoRE.encoder(wordsEn, pos1En, pos2En, wordsZh, pos1Zh, pos2Zh)
    share = torch.cat((share_en, share_zh), 0)
    mono = torch.cat((mono_en, mono_zh), 0)
    share -= torch.mean(share, 0)
    mono -= torch.mean(mono, 0)
    share = F.normalize(share, 2, 1)
    mono = F.normalize(mono, 2, 1)
    correlation_mat = torch.matmul(share.transpose(0, 1), mono)
    cost = torch.mean((correlation_mat * correlation_mat))
    return cost