J'ai deux gros fichiers contenant des paragraphes de texte anglais:
- Le premier texte fait environ 200 pages et compte environ 10 paragraphes par page (chaque paragraphe fait 5 phrases).
- Le deuxième texte contient presque exactement les mêmes paragraphes et texte que le premier. Il comprend également 200 pages et 10 paragraphes par page. Cependant, les paragraphes sont randomisés et dans un ordre différent par rapport au premier texte. En outre, un grand pourcentage des paragraphes ont de petits changements de formulation par rapport à des paragraphes similaires. Par exemple, un paragraphe dans le premier texte pourrait avoir une phrase similaire
Like Jimmy, I wanted to go to the palace
tandis que la phrase correspondante dans le paragraphe du deuxième texte se liraitLike Jimmy, I really wanted to go to the castle
.
Je veux pouvoir capturer les changements ici comme l'ajout really
et la suppression de palace
avec le remplacement de castle
. Si les paragraphes étaient à peu près alignés, cela serait assez trivial car il existe de nombreuses façons de différencier le texte. Cependant, comme les paragraphes ne sont pas alignés, ce n'est pas le cas.
Si les fichiers étaient petits (quelques paragraphes), Levenshtein Distance fonctionnerait probablement bien, mais comme les fichiers sont énormes, il serait inefficace de comparer chaque paragraphe du texte 1 à chaque paragraphe du texte 2 pour savoir quels paragraphes correspondent.
Quelles seraient d'autres approches à ce problème pour le gérer efficacement?