print >> sys.stderr, '\n# Translating sentence: {}'.format(Bs) # for As in bicorpus: for As in bicorpus.iter(string=Bs, strategy='by distance', method='direct'): a_s, b_s = single_substitution(As, Bs) try: a_t, b_t = bicorpus[a_s], bicorpus[b_s] except KeyError: continue else: if __verbose__: print >> sys.stderr, '#\t{} : {} :: {} : {}\n'.format( a_s, a_t, b_s, b_t) print '{}\t{}'.format(Bs, bicorpus[As].replace(a_t, b_t)) if __name__ == '__main__': options = read_argv() __verbose__ = options.verbose t1 = time.time() bidata = Bicorpus() for filename in options.training_data: bidata += Bicorpus.fromFile(open(filename), source=options.source - 1, target=options.target - 1) translate(bidata) if __verbose__: print >> sys.stderr, '# Processing time: ' + ('%.2f' % (time.time() - t1)) + 's'
Bs = Bs.rstrip('\n') if __verbose__: print >> sys.stderr, '\n# Translating sentence: {}'.format(Bs) for As in bicorpus: a_s, b_s = single_substitution(As, Bs) try: a_t, b_t = bidictionary[a_s], bidictionary[b_s] except KeyError: continue else: if __verbose__: print >> sys.stderr, '\t{} <--> {}\t{} <--> {}'.format( a_s, b_s, a_t, b_t) print '{}\t{}'.format(Bs, bicorpus[As].replace(a_t, b_t)) if __name__ == '__main__': options = read_argv() __verbose__ = options.verbose t1 = time.time() translate( Bicorpus.fromFile(open(options.corpus), source=options.source, target=options.target), Bidictionary.fromFile(open(options.dictionary), source=options.source, target=options.target)) if __verbose__: print >> sys.stderr, '# Processing time: ' + ('%.2f' % (time.time() - t1)) + 's'
dist_src = memo_fast_distance(result[1]) Dt = solvenlg(result[0], result[1], Bs) print '{}\t{}'.format(Bs, Bt) if dist_cible != 0 and Dt != None and verifnlg(result[0], result[1], Bs, Dt):# and dist_cible == dist_src: print '{}\t{}'.format(Bs, Dt) print '{}\t{}'.format(Bs, Bt) """ if __name__ == '__main__': bidata = Bicorpus() if len(sys.argv) == 1: phrase = raw_input('Rentrez la phrase à corriger : ') choix = raw_input('Voulez vous entrer une correction ? O/n : ') if choix == 'O': src = raw_input('Rentrez la phrase source fausse : ') src_corr = raw_input('Rentrez la phrase source corrigée : ') bidata += Bicorpus.fromInput(src,src_corr) elif choix == 'n': base_de_cas = raw_input('Rentrez le nom de la base de cas à utiliser : ') sys.stdin = base_de_cas bidata += Bicorpus.fromFile(open(base_de_cas), 0, 1) correct(bidata, phrase) else: options = read_argv()
indexation[indice, 0] = phrase couple[indice, 0] = As[0] couple[indice, 1] = As[1] #start to 1, 0 is the substring to replace for i in range(1, k): phrase = rememoration_index(As[0], phrase, pos_em) indexation[indice, i] = phrase indice += 1 if indice > 0: result = choice_rememoration_index(Bs, indice, couple, indexation, k) a_s, b_s, c_s, e_s, pos, pos_em = single_correction( result[0], Bs, result[1]) Bt = a_s + b_s + c_s print '{}'.format(Bt) if __name__ == '__main__': bidata = Bicorpus() options = read_argv() __verbose__ = options.verbose t1 = time.time() for filename in options.training_data: # name of table in database bidata += Bicorpus.fromDb('CASES') correct(bidata, options.sentence) if __verbose__: print >> sys.stderr, '# Processing time: ' + ('%.2f' % (time.time() - t1)) + 's'