IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Couper les phrases des paragraphes


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut Couper les phrases des paragraphes
    Bonjour

    Je vais faire un résumer du texte je sais que ça appartient au algorithme d'apprentissage automatique et de l'agrégation de l'information c'est mon but à arrivé après une année ou plus!

    mais pour le moment je vais juste faire des couper des phrases à partir des paragraphes données comment ça?

    d'abord j'ai un texte saisi dans un textarea comme suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
        <form action="" method="post">
          <br>
            <textarea name="resumer" rows="15" cols="110"><?php if (isset($_POST['resumer'])) echo $_POST['resumer'] ; ?>
            </textarea>
            <br>
    <select name="compress">
    			<option value="30">30%</option>                <option value="10">10%</option>
                    <option value="20">20%</option>
                    <option value="30">30%</option>
                    <option value="40">40%</option>
                    <option value="50">50%</option>
                    <option value="60">60%</option>
                    <option value="70">70%</option>
                  </select>
    <br/>
            <input name="ok" type="submit" value="Valider">
    </form>
    j'ai récupérer ce texte dans un variable $chaine comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
             $chaine="";
             if (isset($_POST['resumer'])){
             $chaine=$_POST['resumer'];
    }
    Après ça j'ai essayé de couper des parties de chaque paragraphe avec la méthode substr et partager sur plusieurs variable var1 var2 var3 et afficher ces variable comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
    $chaine="";
    if (isset($_POST['resumer'])){
    $chaine=$_POST['resumer'];
    $sujet= substr($chaine, 0, 20);
    $res1= substr($chaine,0, 150);
    $res2= substr($chaine,151, 400);
    $res3= substr($chaine,401, 500);
    echo "<b>$sujet</b>";
    echo "<br/><div class=\"stl_chaine\"> $res1 <br/><br/> $res2 <br/><br/> $res3</div>";
    }
    ?>
    le problème ce que ces couper ne respect aucun structure je veux faire une structure de ce code pour me donnée un résumer par exemple si j'ai sélectionnée 30% dans la liste de sélection il me donnée pour un texte de 10 paragraphes et chaque paragraphe contient 10 phrases le résultat attendu c'est 3 phrases pour chaque paragraphe et afficher ces résultats comme résumer !!

    si possible j'attente toujours des orientations ou des aidée pour amélioré mon code.

    Cordialement

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 217
    Points : 4 699
    Points
    4 699
    Par défaut
    Il faudrait avant toute chose découper $chaine en

    phrases et paragraphes : donc découper ce texte en retrouvant les .(fin de phrase) et les lignes blanches(fin de paragraphe).

    générer une liste de liste de mots :
    texte -> paragraphes -> phrases -> mots

    puis dans chaque paragraphes, afficher 30% ? sauf premier qui est le titre

  3. #3
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut
    c'est bon de découper la chaine en sous liste texte -> paragraphes -> phrases-> mots.
    c'est bien mais comment je peux faire mes testes de découpage plus les boucles d'affichage donne moi un simple exemple si vous permettez bien sur.

  4. #4
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut
    Bon j'essai d'utilisé la fonction explode() et il me donne des phrases, es ce que je peut l'utilisé plusieurs fois sur la même chaîne de caractère?

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Essaye et tu sauras...

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 217
    Points : 4 699
    Points
    4 699
    Par défaut
    exemple tres tres basique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $delimitParagraphe = "\n\n"; // et \r si windows
    $paragraphes= explode ( $delimitParagraphe , $chaine );
    foreach ($paragraphes as $paragraphe) {
       $phrases= explode ( "." , $paragraphe );
       foreach (phrases as $phrase) {
          $mots= explode ( " " , $phrase );
       }
    }
    une version avec des regex serait bien meilleure ! en cherchant sur internet çà doit être facile a trouver.

  7. #7
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut
    Merci à vous tous bavino et papajoker

    j'ai bien compris comment faire à l'aide de l'exemple que tu ma offrir papajoker merci en cour une fois.

    je vais voir avec regex.
    cordialement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    c'est justement dans un cas comme celui-ci que mes Fonctions de troncature de texte peuvent servir.

    Notamment la Fonction : "Résumé html"
    Car les paragraphes à résumer peuvent aussi contenir des balises html.

    La Fonction : "Résumé brut" quant à elle peut résumer un texte sans balise (un titre aussi), avec comme avantage de ne pas couper les mots.

  9. #9
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 217
    Points : 4 699
    Points
    4 699
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    c'est justement dans un cas comme celui-ci que mes Fonctions de troncature de texte peuvent servir.
    Oui, j'ai bien noté que ce sujet est la suite de PHP - Fonctions de troncature de texte

    tes fonctions de "découpage"

    Mais je proposai de parser entièrement le texte et de le sauver entièrement dans un format particulier le + générique possible du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <paragraphe>
       <phrase><mot>je</mot><mot>suis</mot><mot>cool</mot></phrase>
       <phrase><mot>Et</mot></phrase>
    <paragraphe>
    <paragraphe>
       <phrase><mot>je</mot></phrase>
       <phrase><mot>Tu</mot></phrase>
    <paragraphe>
    pour pouvoir ensuite :
    afficher la 1ere phrase de tous les paragraphes
    les 5 premiers mots de chaque phrase
    des stats sur un mot particulier ...

    Oui, dans tes fonctions tout le code est la

  10. #10
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    c'est justement dans un cas comme celui-ci que mes Fonctions de troncature de texte peuvent servir.

    Notamment la Fonction : "Résumé html"
    Car les paragraphes à résumer peuvent aussi contenir des balises html.

    La Fonction : "Résumé brut" quant à elle peut résumer un texte sans balise (un titre aussi), avec comme avantage de ne pas couper les mots.
    dans ce cas jreaux y a pas un exemple de teste pour voir comment ces fonctions de résumer marche?

    j'ai essaie de tester la Fonction : "Résumé brut"

    mais il ma donnée comme retour, tout la chaine comme résumer !!!

  11. #11
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut
    papajoker, c'est ça le but mais comment utilisé les fonctions de découpage pour arrivé à l'exploiter?

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Fais une recherche sur :"parser code html".

    une discussion intéressante : Quelles fonctions pour parser du HTML ET modifier le contenu ?

    N.B. Mais si tu ne sais déjà pas utiliser/tester une fonction simple, ça ne va pas être facile...

    J'ai aussi mis à jour mes Fonctions de troncature de texte :
    • - nombre de caractères
    • - pourcentage de caractères

Discussions similaires

  1. Couper les connections des utilisateurs
    Par ghosty04 dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/03/2011, 10h33
  2. Réponses: 1
    Dernier message: 15/09/2008, 09h40
  3. Réponses: 2
    Dernier message: 19/03/2008, 17h38
  4. Réponses: 4
    Dernier message: 12/02/2007, 17h48
  5. [XSLT] Encadrer des paragraphes ayant les mêmes balises
    Par billou13 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 21/10/2005, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo