Permet de dire que j'ai 100 000 organismes de messagerie et 2000 d'entre eux contient une chaîne commune abritrienne comme "Le renard brun rapide saute sur le chien paresseux" ou "Lorem Ipsum Dolor Sit Amet". Quelles techniques pourraient / devrais-je utiliser pour "mien" ces phrases? Je ne suis pas intéressé par les mots simples miniers ou les phrases courtes. Aussi, j'ai besoin de filtrer les phrases que je connais déjà sur des surps dans tous les mails.
Exemple: p> dans cet exemple, je veux que la fonction DiscoverPhrases se retourne "Lorem Ipsum Dolor Sit amète "et" bonne journée ". Ce n'est pas si important si la fonction renvoie également des phrases "bruit" plus courtes, mais si elle serait possible, il serait agréable d'éliminer ceux-ci dans le processus. P> Edit: j'ai oublié d'inclure mailbody3 dans l'exemple. p> p>
3 Réponses :
Je ne suis pas sûr que ce que vous voulez, mais consultez Problème de sous-chaîne commun le plus long et ALGORITHMES UTILITY DIFF. P>
Quelque chose comme ça pourrait fonctionner, selon que vous vous souciez de la frontière des mots. En pseudo-code (où LCS code> est une fonction pour calculer le La plus longue de la recherche courante < / a>):
regarder n em> -grams . Les phrases les plus courantes contribueront nécessairement aux em>-grammes les plus courants. Je commencerais avec Word Trigrams et voir où cela conduit. (L'espace requis est n em> la longueur du texte, vous ne pouvez donc pas laisser n em> devenir trop gros.) Si vous enregistrez les positions et pas seulement un compte, vous peut alors voir si les trigrammes peuvent être étendus pour former des phrases courantes. P>