Obtenir les terminaisons des verbes français - retour accueil
git clone git://bebou.netlib.re/conjugaison-light
Log | Files | Refs | README |
README (3163B)
1 # Outils pour trouver rapidement la terminaison d'un verbe 2 3 ## verbe 4 5 verbe prend un verbe en argument et va chercher les données sur 6 conjugaisonfrançaise.com 7 Le script est assez velu, devrait y avoir moyen de le simplifier 8 Peut-être tout faire en awk ? 9 10 ## tabulate 11 12 tabulate est un script awk qui met toutes les données au format 13 mode temps conjugaison 14 Cela fait beaucoup de données redondantes mais c'est utile pour... 15 16 ## filter 17 18 filter qui est un script qui prend jusqu'à trois arguments L'idée est de 19 pouvoir par exemple renseigner "conditionnel passé tu" et avoir la seconde 20 personne du singulier au conditionnel passé du verbe obtenu avec le script 21 verbe 22 23 ## colorate 24 25 Pour rendre les terminaisons rouges dans la console 26 27 ## Usage 28 29 Un usage complet pourrait être 30 31 ./verbe courir | ./colorate | ./tabulate | ./filter indicatif "futur antérieur" ils 32 33 ## Questions 34 35 Est-ce qu'il existe une base hors ligne ? 36 37 Je sais pas mais on peut en construire une. En se basant sur ce pdf des fréquences : 38 https://eduscol.education.fr/document/15661/download 39 40 On peut constuire une liste des 421 verbes les lus fréquents (pdftotext a été utile) 41 42 Par exemple pour construire les fichiers pour les trois verbes les plus 43 fréquentes dans un dossier data : 44 45 head -n 3 freq.txt | xargs -I {} -n1 sh -c './verbe > data/.txt' -- {} 46 47 Chaque fichier pèse environ 2Ko donc les 100 premiers verbes tiennent dans 200Ko 48 49 On peut ensuite écrire une fonction du type 50 51 conj() { 52 if [ -f ~/git/conjugaison-light/data/"$1".txt ] 53 then 54 data=$(cat ~/git/conjugaison-light/data/"$1".txt) 55 else 56 data=$(~/git/conjugaison-light/verbe $1) 57 fi 58 echo $data | ~/git/conjugaison-light/tabulate | ~/git/conjugaison-light/colorate | ~/git/conjugaison-light/filter $2 $3 $4 | column -nts ' ' 59 } 60 61 Qui permet d'aller taper dans les verbes déjà téléchargés si le fichier existe 62 et de demander au site s'il n'existe pas. 63 On peut faire autrement en créant un nouveau fichier dans la "base" s'il 64 n'existait pas encore. Ainsi on s'économise le téléchargement de n pages au 65 préalable. On aurait donc aucun fichier à l'origine mais tout verbe requêté une 66 seconde fois ne passerait plus par conjugaisonfrancaise.com. Ca evite de 67 télécharger pleins de verbes en amont, même les plus fréquents, sans savoir 68 s'ils seront utilisés. 69 70 Avec un petit CGI monter un service ? 71 72 ./cgi est un exemple de script faisant l'affaire. 73 74 TODO le modifier pour que si on lui passe n'imp en premier argument il fasse quelque chose de plus intelligent que de créer un fichier vide au nom de l'argument 75 76 Les pages de conjugaisonfrancaise.com font environ 670Ko, 200Ko transférés 77 La version TSV avec la coloration des terminaisons fait environ 5,5Ko 78 Avec les filtres on peut s'arranger pour ne transférer que quelques octets. 79 80 Pour vérifier une terminaison on passerait donc de 200Ko transférés à 200Ko+~100o 81 la première fois et 100o les suivantes. Je ne sais pas à quel point un site 82 comme celui-ci est fréquenté mais sachant que le facteur par lequel on divise 83 les données transférées peut être est de 2000 on est gagants même sur un nombre très 84 faible de requêtes.