equivalent_words={'sucy':'sussis','bus':'ligne','rer a':'rer','rer b':'rer','rer c':'rer','cdg':'charles-de-gaulle','rer':'train','rer':'ligne','bus':'autobus','square':'place','ligne':'bus','cles':'clefs','anthony':'antony','station-la':'sation','roissy':'aeroport','cour de vincennes':'cours de vincennes','une':'un'}
# multi-words from the corpus in order to retokenize synopses
numbers='(zero|une|un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|((vingt|vingts|trente|quarante|cinquante|soixante)( et un)?)|cent|cents|mille|mille)'
numbers='(zero|une|un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|((vingt|vingts|trente|quarante|cinquante|soixante)( et un| et une)?)|cent|cents|mille|mille)'
# common words for which we want to reduce the mismatch cost
stopwords=set('je tu il elle ils elles nous vous avec sans pour or et ni car mais ou donc a le les la l\' un une des ce cette ces mon ma mes vos votre ton ta tes dans de par'.split())
stopwords=set('je tu il elle ils elles nous vous avec sans pour or et ni car mais ou donc a le les la l\' un une des ce cette ces mon ma mes vos votre ton ta tes dans de par vers part de'.split())
# the cost of a substitution looks at approximations, stopwords and numbers, it gets very expensive for content words