diff --git a/Makefile b/Makefile index 72f08df..9bb3394 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ dot_compile: dot -Tpng -o fsa_sheep.png fsa_sheep.dot dot -Tpng -o hmm.png hmm.dot -build: examen_partiel.md dot_compile +build: examen_partiel.md examen_final.md dot_compile pandoc examen_partiel.md -o examen_partiel.pdf + pandoc examen_final.md -o examen_final.pdf diff --git a/examen_final.md b/examen_final.md index 9a15617..a360c4e 100644 --- a/examen_final.md +++ b/examen_final.md @@ -312,10 +312,11 @@ Exclure: - Reformulation: - Forme affirmative, avec règles de réécriture (phrase ou le mot manquant est la réponse) - Ex: - ``` - wh-word did A verb B -> A verb +ed B - Where is A -> A is located in - ``` + ``` + wh-word did A verb B -> A verb +ed B + Where is A -> A is located in + ``` + ### Détection du type d'entité de la réponse - Permet de limiter les passages pertinents et se concentrer sur les bonnes phrases. @@ -381,5 +382,85 @@ $$ # Modèles statistiques de traduction automatique +Traduction statistique: difficile de trouver les ressources autrement +- Corpus bitextes (même textes dans deux langues) +- Trouver les mots ou les groupes de mots qui vont ensemble +- Parfois difficile d'avoir une bonne traduction, le sens des mots est différent entre les langues. +- **modèle IBM**: Compromis entre **fidélité** et **fluidité** +| Fidélité | Fluidité | +|-----------------------|-------------------------| +| sens de la traduction | lisibilité | +| même information | respect de la grammaire | +| | qualité du texte | + +Mathématiquement: + +$$ +\hat{T} = \argmax_T fidelite(T,S) fluidite(T) +$$ + +En probabilités, on obtient: + +$$ +\hat{T} = \argmax_T P(T|S)\\ += \argmax_T \frac{P(S|T)P(T)}{P(S)}\\ += \argmax_T P(S|T)P(T) +$$ + +où $P(S|T)$ est un modèle de traduction et $P(T)$ un modèle de langue. + +## Canal bruité + +![Traduction avec l'analogie du canal bruité](traduction-canal-bruite.png) + +## Modèle de langue + +- Modèles N-grammes (jusqu'à 5-grammes en anglais) +- Modèles syntaxiques (dépendance plus longues entre les mots) + +## Modèle de traduction + +Permet de quantifier les meilleures traductions pour un segment de phrase ou une phrase complète. + +### Mots individuels + +![Traduction de mots individuels](traduction-mots-invid.png) + +- Les mots d'une phrase sont des traductions plausibles des mots de l'autre phrase + +### Par séquence de mots (phrase-based) + +![Traduction par séquence de mots](traduction-phrase-based.png) + +- Inclus aussi des mots individuels +- Donne de meilleurs résultats que des mots individuels +- 3 étapes: + - Regroupes les mots en groupes $E=\bar{e}_1, \bar{e}_2, \ldots$ (segmentation) + - Traduire chaque groupe $\bar{e}$ en $f_i$: $\phi(f_i|\bar{e}_i)$ + - Déplacer les groupes +$$ +P(F|E) = \prod_{i=1}^I \phi(\bar{f}_i,\bar{e}_i)d(i)\\ +$$ + +- **Distorsion**: Distance à laquelle le groupe est déplacé +- **Probabilité de distortion** $d(i)$ du ieme groupe. Distance entre $a_i$, la position de $f$ généré par $\bar{e}_i$ et $b_{i-1}$, la position de $f$ généré par le groupe précédent $\bar{e}_{i-1}$ + +$$ +d(i)=\alpha^{|a_i-b_{i-1}-1|},\,0<\alpha<1 +$$ + +- **Probabilités de traduction**: $\phi(f_i|\bar{e}_i)$ + - Corpus parallèle, avec correspondance entre les groupes de $E$ et $F$ + - Maximum de vraisemblance des probabilités + - Compte des fréquences: + + $$ + \bar\phi(f_i|\bar{e}_i) = \frac{count(\bar{f}_i|\bar{e}_i)}{\sum_{\bar{f}}count(\bar{f}_i|\bar{e}_i)} + $$ + + - Corpus d'alignements de groupes de mots: difficile à construire. + - On utilise les alignements de mots + + ![](traduction-alignement-mots.png) \ No newline at end of file diff --git a/traduction-alignement-mots.drawio b/traduction-alignement-mots.drawio new file mode 100644 index 0000000..89c0985 --- /dev/null +++ b/traduction-alignement-mots.drawio @@ -0,0 +1 @@ +5Z1db5swFIZ/TS4rBQyEXK5d9yV1UlVp03bnYCewEZxRp0n362cWSILdVmlEet4WqRdwDDg8xzIP1mkyYBfz9ceSL9IrJWQ+8IdiPWDvB77vBb4/qP6G4n4TGTeBWZmJ+qBd4Cb7K+vgsI4uMyFvWwdqpXKdLdrBRBWFTHQrxstSrdqHTVXe7nXBZ9IJ3CQ8d6PfM6HTTTT2R7v4J5nN0qZnLxpvWua8Obi+k9uUC7XaC7HLAbsoldKbrfn6QuYVvIbL5rwPj7RuP1gpC33ICcHPL5OvPy6v7/8sxPDb/PqzutZnbHOVO54v6xuuP6y+bwiUalkIWV1kOGDnqzTT8mbBk6p1ZXJuYqme52bPM5vTLM8vVK7K/+cywWU8TUz8Vpfqt9xriZJYTqampf4AstRy/eideVteZqBJNZe6vDeHNCc0iOsxFte7q13CgjqU7uWqifF6iMy2F95RNBs1yGdADTqGegJE230qRuErYBQRM4rwGflDYkajV8AoIGYUvwJG1HP2GJ8Ro56zPQ8QUoT17Pf8jhnRGFUEpgve2xBVGyu1YXiIqhqBKYaH6Ko2JGrH8BBl1YZE/nBAtNUIzTIAdXU7B6FYBqCu2ozInaHpHxoStQH4XTs9iVjZWMmdoaGIPPbIncHvWupPAYl6qvcBFd2GRO4MPqCib+8WxBl8QEO3GdE7A6ChO5DInaFrQ6dxhgDNGRCl3oZE7QwMUeptSNRTPQNcqLchkTsDQ1T0GMsZGKKhx2DOwBAN3YZE7Qysa0OncYYYzBkYotTbkMidAVHqbUjkUz3isnuM5gyAis7Qqh8BDd1mRO4MAaChO5ConSEANHQbErkBBG+iMsbBSu0MAaDUO5DIp3rAZXcbErkzBICKzsCqJgNAQ7cZ0TsDoKE7kMidAdHQ0Soaw64VncYZ0GogQ0SpR6uBDBGlHq0GMgRcdw/AaiBDQEO3GZE7Qwho6A4kamcIAQ3dhkTvDICK7kAiNwBARXcgkU/cXSs6iX3aWMmdoZlFocYeWA1kBGjoNiNyZ4gADd2BRO0MEaKho1U0RoiKjlbRGL2JyhgHK/lUjyj1aDWQ0UNSH+Wm23OR3ZnNWbV5xauuNmHTzV6LQ9Sw0W1s7VFXqEJaQ7QO8TybFWY3MSyliZ9XpLOE5+/qhnkmRNXNg3lqZ7KDVFmVJ+PDEuWfLFHui4UwJ/QFv8eo+bvvLIXS/eE/Iubf9L/H/zY3t96XBGy/D5EsAe6bk05lf/iH1Pzdl7JZKWXRnwxQP4JH7hvfKtNJ2psMMOqHcHzA6+TMUNjA0FxnqoJ2Nn6SR/3NsXzSXGL4XE42qDPvwNmanUzsRy4qY/EZBx2se9k6eOw+MUQezdTZsd/AdbpZxX37L1Tvs3RkJfLpsuQuJois92k68n/MTpcldzVjWfR+yjty5fx0WXKXMiZqKjUXvU0VTGrcVY7e5mTd5o+SombO3UtR3vccoT2HYnetZFIuf/U9TXBWF7trKua2Beqq1ovl6eXekczu7gdQ/rft/YwMu/wH \ No newline at end of file diff --git a/traduction-alignement-mots.png b/traduction-alignement-mots.png new file mode 100644 index 0000000..5714925 Binary files /dev/null and b/traduction-alignement-mots.png differ diff --git a/traduction-canal-bruite.drawio b/traduction-canal-bruite.drawio new file mode 100644 index 0000000..bad4834 --- /dev/null +++ b/traduction-canal-bruite.drawio @@ -0,0 +1 @@ +3VlLc6M4EP41VM0enALE82g7zu5hs5Wq1NZm5iaDwMzIiBUitvfXrwCJh4DY8dh5jA9GalAjdX/9dUtoYLnd/05htrknIcKaqYd7DdxqJv9ZPr+UkkMt8cteKYhpEtYioxU8Jv8hIdSFtEhClPceZIRglmR9YUDSFAWsJ4OUkl3/sYjg/lszGKOB4DGAeCj9JwnZppZ6ptvK/0BJvJFvNhyx4C2UD4uV5BsYkl1HBFYaWFJCWN3a7pcIl8aTdqnH3U3cbSZGUcpOGfA3zv6K90/f19k9i9C3mWHf+zOh5RniQix4CVNYDstJQQPEGysxfXaQNuF6ufl5Z7HbJAw9ZjAo7+w4Arhsw7aY9wzejBKMlwQTWo0DIUReFHB5zij5gTp3nMBD64jfEdNBlKH95DqNxnocdohsEaMH/ogY4Ap7C8AZlujvWvcZ0iebjus8IYMCMXGjuTUqbwi7vsLG5sDGmulgVtqH8CV1Tev8WxB5Y5ZXwTDnDxhOtm9v8lZcXqWn1rRImLYE2pxDT3/4cqe5y9Vv8h18yvVr6kEDZ3JYZmWTVZdXejTyAhSMenTt2ZatX8ajhq+41LEHLm3c3nUpuJZLwWTYhKj6y1mSQpaQlPfuPlkAWc5HiyBnJIJUk6bhvKR73gswzPMk6FsS7RP21Gl/5W1dtG/33c5BdlI+9adu52u30w6qenJUPTEUDrKKYv2GYI9yM4M0RuwYGIfe7HjLHnGWlFGEOVCf+9Md86B4wwNJKtKSGV7vg6WJQ6miXqYY1U1PqiJbUWQqimo7DBRVgGqWfT7G3AHGbhPKK4o6hquwxrAsSGqmTesLFUGuoJEHH+vjD+IkTktwchggHrSLMkQTXmfMxY1tEobl8AVFnPjhulJVIiorV1zZwF5o9m2JMbDAcI3wAgY/YkqKNOxScvV7iQlEqSRe0RYoXYxOh+Ekbcz0G1MH5kVQBfQbu4eGmSEFUgmJohxdBQnecbaRSTPCaC9oZ3GUgcb5hK/rZUZRU24UmeMpN3TWju1cloP8EzloIqO8DQd5Sr4yzqQgQzdudNMBwNKB53u+a/b12uaNbpuO4+mu67u+Bd6UoPwRWNYlXpg8n19FPnzp1YqVrolScchqfQymJEUKYIXodPYbK4gqikNhL8P+VIUzMxXEuMMKxxrBq5qSLlbgGNZ1OOdduQOcyh32e5KHrWBhUMWeyh6WogioldCV+cFwB5Ap3fgouoSyDYkJ36WsWqkSWu0zfxKSCQx9R4wdxMEMLBiZyGrG67LaBXFm2KcCbaKAORlBPxfj9iDG70lYlZEeRrLGZBSGhaw627284ti+2z7iJhI4Xj8aTt1EOlfj2OEucsT+GKZxgSrbf0q7NwenH8fu16qnxY5ebtw7vDO5p3/XfCgBeJyn/PdMiGpxBM5NiEDRo5bl186Hw4J5TuMt3H/CqDaUqDb9YVSPQeJqB6ByCVcL6iaQjx/UvW9Qf4odshrT1rmndEpMW298SGeYA9htEXc/KmiZs7MNhXmVymGaa+LArsnoQbLG4x+0fpmNrdM/NWvc1U3+4E03tsMvJQ8vOqn57Dj8avLLeMlSj7rH3HSh8wfebT8x12HYfqgHq/8B \ No newline at end of file diff --git a/traduction-canal-bruite.png b/traduction-canal-bruite.png new file mode 100644 index 0000000..75ddc91 Binary files /dev/null and b/traduction-canal-bruite.png differ diff --git a/traduction-mots-invid.drawio b/traduction-mots-invid.drawio new file mode 100644 index 0000000..83dc006 --- /dev/null +++ b/traduction-mots-invid.drawio @@ -0,0 +1 @@ +7VrbbuIwEP2aPO4qsZMAjwvt7krbSpV4KH10sZu4CnFkHC779esQ54ZbmrIFGwkJCc/E48s5xyNnwIGTxeYXR1l8zzBJHODijQNvHAA8HwCn+Lh4W3pGlSPiFKtOjWNK/xLldJU3p5gsOx0FY4mgWdc5Z2lK5qLjQ5yzdbfbC0u6s2YoIppjOkeJ7n2kWMSldwgGjf83oVFczeyFo/LJAlWd1U6WMcJs3XLBWwdOOGOibC02E5IU4FW4lHE/33laL4yTVPQJ+PM4Wj3Msh9EiMUTzMK7OR9/89Q+lmJb7ZizPMWkCHIdOGZcxCxiKUruGMuk05POVznGVnGFcsGkKxaLRD0lGypmrfZTMdT3QFk3GzXyzthWRir4dtY2WlGF2YTtrCquXD3BGokNKsq1ZDmfk0NQKHUhHhFxoN+w5k6KnrAFkeuRcZwkSNBVdx1IqS+q+zUEyYbi6DN8leOuUJKrmRwQJnK5Y0xXshkVzXtUzFS65SytJx+QvY6pINMM7XBaywPdJVbNTbggm8Nw6/CogOowVNlAmevmaHlVl7h1rEL3VHgOT6D/I7V8zLn5Qv2DnvofmdQ/6KN/LIe4CPl7A+P6H131r6CAl6B/qOk/lfcHy2QNAtOyru9c12uN31PWnvs2xWfK696VsM8S9s6ZPBNh4OsJMwEiMAmir2XzZSLTs2XpHELj6TzQMClUMlVmylL5NbZJf0Ff/UGjhzg8C64XeiHszaFvksNAyyEiJralEN8znkL0QtdV6jU6YV+phyalHmpSjzghqXViN17VAnpVyyax9xfux4IM/lOQKvSBUTl1zajndykNXb87RHmiVNQeW/UyjidwoCl9TcU8tk3pgfH61VAD6u16OEW2VgSHe7UT04iONERTZh1KngsNw1RdaFo4YWohUEPjQOk/WeUpsg4oEBoHCmhAPbMXIhC2Dy3oG0dLr4TbB5MPjMOkl5gS+3AKzKdz/TX6meevFkJlPqHrr2Fyh9iCmsMeVOEJU7o0m3/ulLf+5v9P8PYf \ No newline at end of file diff --git a/traduction-mots-invid.png b/traduction-mots-invid.png new file mode 100644 index 0000000..95be5cf Binary files /dev/null and b/traduction-mots-invid.png differ diff --git a/traduction-phrase-based.drawio b/traduction-phrase-based.drawio new file mode 100644 index 0000000..2481d0a --- /dev/null +++ b/traduction-phrase-based.drawio @@ -0,0 +1 @@ +7VhNj5swEP01HFuByddek2y7h+aUStmeKgtmsVvAqRkC5NfXDnYAeTdNpa7gUCkSnucZj/3m2Th44SarP0t6ZDsRQ+oRP669cOsREswI8fTPj5sWebBAInlsnDpgz89gQN+gJY+hGDiiECny4xCMRJ5DhAOMSimqoduLSIdZjzQBB9hHNHXRA4+RteiKLDv8CXjCbOZg8dD2ZNQ6m5UUjMai6kHhoxdupBDYtrJ6A6kmz/LSxn16o/c6MQk53hPg786zXTWv6kNITnz5wsT3Xx/MZAts7IKlKPMYdIzvhWshkYlE5DT9IsRRgYECfwBiY0pFSxQKYpilpldNRzbPJv5ifNPGx7k1t3W/c9tYq+b4bMdQ7V6UsrogbdiYdvYQOzXsSDFQIUoZwQ0mrLioTABv+C2vpVOaB5GBWoOKk5BS5KfhPKgRX3L16+qjGqZEf1EuM+6JpqXJ9JXBZe8A5OpZcYzYH0paMY6wP9ILG5XatcPymQwgEerbpLokmACr+GZoVt3+CSzGentn4b8Xa75DiZbM3pi5yNVjPZrw/6GIyZ0iXowpYuKImBdT02zgjy7awOFkSqId+bQO7xT6akyhh47QKWr5qOEnp/fV6Hon//X+NjuzO/U+H1PvM0fvyPTR7lcAP6em+KuSR1P83KFry6HQ17mDiNgEjoip3eMWr1wccHI0jX91WDo8eWSRqqzrmJ9UM2mb7R8HbxN6602ujSeowXqqxD3n6ZE8+vtq5ZB8LjWHtCwmuHXf8bBTZvcR49LX+xQUPv4G \ No newline at end of file diff --git a/traduction-phrase-based.png b/traduction-phrase-based.png new file mode 100644 index 0000000..5064f37 Binary files /dev/null and b/traduction-phrase-based.png differ