Messages: 2501

Enregistré le: 24 Fév 2005

Message le Mer Jan 13, 2016 19:16

Bonne Année 2016 a tous et a toutes ^^

Me voilà depuis quelques mois penché sur la sémantique, pour le moteur Premsgo que je développe .

J'avoue avoir eut beaucoup de mal a constituer les données de base, car il existe très peu ou pas de données complete a télécharger sur les mots de la langue Française. On trouve des fichiers avec tous les mots, mais quasiment aucun avec la totalité de ceux-ci et les attributs grammaticaux (singulier, pluriel, verbe conjugué avec toutes les personnes, masculin, féminin, adjectifs, adverbe, etc etc).

Je ne parles pas dutout de "définition dictionnaire" qui est propre a chacun (larousse, petit robert etc), mais uniquement des attributs grammaticaux. C'est un pieds de nez a l'une des langues les plus complexe de la planète, obligatoire. Même l'académie Française ou le ministère de l'éducation ne donnent pas la possibilité de télécharger de tels fichiers.

A elle seule, la conjugaison des quelques 8 000 verbes Français génère 2 191 312 conjugaisons possibles, en comptant les doublons en fonction des temps et personnes (le même mot est identique a la 3eme personne du singulier si c'est au masculin et féminin parfois etc.).
Une fois dédoublonnés, on arrive quand même au chiffre de 217 632 mots différents pour seulement les verbes conjugués...
Au total, avec quelques noms communs et noms propres courant, on arrive vite a 3 millions de mots.

Ayant terminé cette classification, je mettrais en ligne les fichiers librement dans quelques temps si cela intéresse du monde.

Aussi, je me pose la question de savoir , en raison d'une certaine limite de capacité cérébrale que la nature nous impose, si la complexité de la langue Française n'est pas un frein a l'exploitation de la capacité intellectuelle de chaque individu, ou au contraire, la finesse des mots et expression par rapport a d'autres langues telle que l'Anglais l'éveille-t-elle?

Voszavisminteresses ^^
Haut
26 Réponses
Messages: 8611

Enregistré le: 14 Mai 2003

Message le Mer Jan 13, 2016 20:01

longo600 a écrit:Ayant terminé cette classification, je mettrais en ligne les fichiers librement dans quelques temps si cela intéresse du monde.

Sur GitHub ?

Compléments / pistes pour ta recherche :
http://blog.fouadhamdi.com/introduction-a-nltk/
http://snowball.tartarus.org/algorithms/french/stemmer.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/analys ... h-analyzer
Haut
Messages: 3256

Enregistré le: 7 Sep 2003

Message le Mer Jan 13, 2016 20:13

Pourquoi avoir à connaitre chaque mot conjugué à toutes les personnes et tous les temps sachant qu'il suffit de connaitre la règle. Par exemple tous les verbes du premier groupe à la première personne du pluriel se terminent en ons (nous marchons).
On peut appliquer cette règle à n'importer quel nouveau verbe à venir :
- Le verbe twitter : nous twittons
- Le verbe trucmucher : nous trucmuchons
Haut
Messages: 18369

Enregistré le: 5 Juin 2006

Message le Mer Jan 13, 2016 20:30

longo600 a écrit:A elle seule, la conjugaison des quelques 8 000 verbes Français génère 2 191 312 conjugaisons possibles, en comptant les doublons en fonction des temps et personnes (le même mot est identique a la 3eme personne du singulier si c'est au masculin et féminin parfois etc.).

Il est, amha, contreproductif d'insérer ces mots dans un dictionnaire. Il faut les définir par des règles, et gérer les exceptions.
Si on parle de sémantique, autant utiliser les outils de la sémantique, c'est à dire partir sur les lexèmes et sèmes, et essayer de bâtir les associations de sens du type sémème. Les déclinaisons et conjugaisons peuvent être utiles quand on spinne ou, à l'inverse, quand on tente d'identifier des textes "copiés / adaptés" mais cela vient après. Amha

longo600 a écrit:la complexité de la langue Française n'est pas un frein a l'exploitation de la capacité intellectuelle de chaque individu, ou au contraire, la finesse des mots et expression par rapport a d'autres langues telle que l'Anglais l'éveille-t-elle

La complexité de la langue française par rapport à l'anglais est un mythe, combattu par tous les linguistes et les professeurs d'anglais. En réalité, l'anglais est "aussi sinon plus complexe" que le français avec :
- un vocabulaire beaucoup plus étendu, lié à son histoire et aux nombreux doublons saxon-latin qui ont, néanmoins, de subtiles différences de sens, et qui vont même se transformer en triplons
- une structure de phrase beaucoup plus souple et beaucoup moins figée qu'en français, ce qui implique un travail d'interprétation des groupes de mots et du sens généré par les prépositions nettement plus complexe qu'en français
- une créativité dans la création de mots, avec la possibilité, par exemple, d'utiliser un verbe comme nom
- et, sur le web, les innombrables différences entre l'anglais "en-GB" et "en-US", qui sont explorées régulièrement par des blogs de linguistes...

En fait, il est plus facile de "commencer à parler" l'anglais que le français. La maîtrise de la langue, à l'écrit, est aussi complexe.
Haut
Messages: 3256

Enregistré le: 7 Sep 2003

Message le Mer Jan 13, 2016 20:42

Pour le dernier de tes points j'ai bien compris qu'il s'agissait de l'anglais, mais les trois premiers, rassures-moi, tu parlais du français ?
Haut
Messages: 18369

Enregistré le: 5 Juin 2006

Message le Mer Jan 13, 2016 21:08

Ah, je vois que tu ne maîtrises pas l'anglais non plus :) :) :)

http://www.languefrancaise.net/forum/viewtopic.php?id=266 rien que pour le premier. Pour le reste je te laisse faire tes recherches, c'est en soi hors-charte sur le forum.
Haut
Messages: 3256

Enregistré le: 7 Sep 2003

Message le Mer Jan 13, 2016 21:35

Tu as sans doute appris le français dans les banlieues autour de Paris

- un vocabulaire beaucoup plus étendu
- une structure de phrase beaucoup plus souple et beaucoup moins figée
- une créativité dans la création de mots

Pour moi c'est la définition même du français

Selon l'Organisation Internationale de la Francophonie, le nombre de gens qui parlent le français connait une explosion depuis les 5 dernières années, passant de 220 millions en 2010 à 274 millions en 2014. La langue française est ainsi la 5ème langue mondiale, sachant que si on enlève l'Hindi et Chinois qui sont dans le classement à cause de l'étendue de leur population, il ne reste sur le podium que l'anglais et l'espagnol. L'espagnol étant parlé essentiellement en Amérique du sud et Amérique Centrale, donc une zone très localisée.

Le français est la 2ème langue la plus apprise dans le monde, enseignée par 900.000 professeurs.
Le français est la 3° langue des affaires et la première langue du sport.
Le français est aussi la 4ème langue utilisée sur internet et si on s'en tient uniquement aux médias d'information c'est la seconde langue internationale.

L'anglais est parlé en tant que langue principale essentiellement par les anciennes colonies du Commonwealth alors que le français est parlé de partout dans le monde (Amérique du nord avec le Québec, Amérique du Sud avec la Guyane, Antilles, Afrique sub-saharienne, Suisse, Belgique, Luxembourg, Océanie, Asie du sud-est, Moyen-Orient avec le Liban notamment). Le français est très prisé des pays d'Europe de l'est (Russie, Pologne, Roumanie, Moldavie, etc...) alors que l'Anglais reste cantonné aux pays d'Europe du Nord (Norvège, Suède, Finlande, Islande)
Haut
Messages: 18369

Enregistré le: 5 Juin 2006

Message le Mer Jan 13, 2016 21:45

indigene a écrit:- un vocabulaire beaucoup plus étendu
- une structure de phrase beaucoup plus souple et beaucoup moins figée
- une créativité dans la création de mots

Pour moi c'est la définition même du français


Un comparatif ne peut pas être une définition. Pour le reste, renseigne toi... tes assomptions sont fausses.

Quant au nombre de locuteurs, il n'a aucun rapport avec la complexité d'une langue, qui est le sujet ici, pas un cocorico sur le nombre de gens qui parlent une langue.
Haut
Messages: 3256

Enregistré le: 7 Sep 2003

Message le Mer Jan 13, 2016 21:57

Marie Aude, dis-toi que des gens peuvent avec des façons de penser et des idées différentes des tiennes et qu'ils n'en sont pas moins en droit d'exister et de penser
Haut
Messages: 1701

Enregistré le: 9 Jan 2010

Message le Mer Jan 13, 2016 22:22

indigene a écrit:le nombre de gens qui parlent le français connait une explosion depuis les 5 dernières années, passant de 220 millions en 2010 à 274 millions en 2014

Il faudrait ramener ces éléments à leur juste valeur, cad la population de l'Indonésie, ou à peine plus que la population du Brésil. MDR.
Haut
Messages: 18369

Enregistré le: 5 Juin 2006

Message le Mer Jan 13, 2016 22:43

@indigene, il est bien de faire la différence entre une opinion et un fait.

Que tu trouves le français une langue plus intéressante que l'anglais est une opinion, parfaitement défendable :) que tu dises que le français a un vocabulaire plus étendu que l'anglais est une affirmation contredite par les faits.

http://www.houstonpress.com/arts/no-it-s-not-your-opinion-you-re-just- ... ed-7611752 (en anglais, en plus ^^)

Beaucoup de tes affirmations ne sont jamais justifiées par des faits concrets, ni argumentées de façon technique. Tu as parfaitement le droit d'avoir des opinions différentes des miennes ou de n'importe qui d'autre, néanmoins, cela me gêne beaucoup de voir le nombre de fois où ces opinions sont basées sur des présupposés factuellement faux. Et comme on est dans un forum technique, et pas philosophique, je me permets de donner des faits qui contredisent tes opinions.

Si tu argumentes avec des faits, comme je te le demande souvent, tu verras qu'on s'entendra beaucoup mieux.
Haut
Messages: 3256

Enregistré le: 7 Sep 2003

Message le Mer Jan 13, 2016 22:52

Je n'ai aucune envie de m'entendre avec toi.

Les lecteurs de ce forum sont supposés intelligents et peuvent vérifier par eux-même étant donné que j'ai cité mes sources.
Si à toi il te faut en plus en lien cliquable je vais pas gaspiller mon temps à te l'envoyer en mp, tu te débrouilles ! Ici c'est pas wikipedia
Haut
Messages: 18175

Enregistré le: 23 Fév 2004

Message le Jeu Jan 14, 2016 8:36

indigene a écrit:Le français est la 2ème langue la plus apprise dans le monde, enseignée par 900.000 professeurs.
Le français est la 3° langue des affaires et la première langue du sport.
Le français est aussi la 4ème langue utilisée sur internet et si on s'en tient uniquement aux médias d'information c'est la seconde langue internationale.

L'anglais est parlé en tant que langue principale essentiellement par les anciennes colonies du Commonwealth alors que le français est parlé de partout dans le monde


C'est marrant ça... travaillant avec des contacts de partout dans le monde, je n'utilise le français qu'avec:

- 40% des belges
- 100% des français

...pour tout le reste, c'est systématiquement en Anglais.

#jdcjdr
Haut
Messages: 3256

Enregistré le: 7 Sep 2003

Message le Jeu Jan 14, 2016 9:16

oui mais tu n'es pas le seul au monde

Quand je reçois des courriers de L'inde c'est en Anglais
Quand ils arrivent de la Tunisie ou du Maroc c'est systématiquement en français
Quand dans mon travail on échange avec le centre de services qui se trouve en Roumanie c'est toujours in French
Mais c'est vrai que lors des échanges avec les banques Belges il y a beaucoup d'expressions anglaises ou des abréviations anglaises qui se glissent au travers. On a parfois fyi au lieu de PI, ou RTB, etc...
Haut
Messages: 18175

Enregistré le: 23 Fév 2004

Message le Jeu Jan 14, 2016 9:56

Mille excuses, j'oubliais l'Afrique du Nord et de l'Ouest, fortement francophone également.

Pour ce qui est d'un call-center roumain, ça ne me semble pas représentatif de la population locale.
Haut
Messages: 482

Enregistré le: 9 Avr 2011

Message le Jeu Jan 14, 2016 10:59

Aussi, je me pose la question de savoir , en raison d'une certaine limite de capacité cérébrale que la nature nous impose, si la complexité de la langue Française n'est pas un frein a l'exploitation de la capacité intellectuelle de chaque individu, ou au contraire, la finesse des mots et expression par rapport a d'autres langues telle que l'Anglais l'éveille-t-elle?

En théorie, plus une langue est complexe, plus elle permet de s'exprimer d'une façon précise.
CF le "Novlangue", si tu n'as pas lu 1984 :) Orwell part du principe qu'une bonne maîtrise de la langue permet d'être libre et indépendant.
[...] plus on diminue le nombre de mots d'une langue, plus on diminue le nombre de concepts avec lesquels les gens peuvent réfléchir, plus on réduit les finesses du langage, moins les gens sont capables de réfléchir, et plus ils raisonnent à l'affect. La mauvaise maîtrise de la langue rend ainsi les gens stupides et dépendants. Ils deviennent des sujets aisément manipulables par les médias de masse tels que la télévision. Wikipedia+

Pour la multiplication des mots en fonction des conjugaisons, je pense aussi qu'il faut fonctionner avec des règles et des exceptions. Tout dépend de ce que tu cherches à faire.
Pour extraire le sens d'un verbe, on a pas besoin des terminaisons, c'est au contraire ce que j’essaierais de supprimer. Je m'orienterais donc plus vers des bases de données de "lemmes" et de "synsets." Essayer de répertorier la brique la plus petite possible porteuse de sens pour chaque mot, puis tisser des liens entre ces briques.

Le grande difficulté est l'étape suivante, donner du sens à un texte. C'est très complexe, j'ai déjà essayé plusieurs méthodes en codant un ChatBot.
Haut
Messages: 179

Enregistré le: 16 Mar 2007

Message le Jeu Jan 14, 2016 12:47

Tu dis t'intéresser à la sémantique. Je lis plus de lexical dans ton post. Mais bon... google a bien voulu faire confondre lexical et sémantique pendant longtemps... je ne vais pas te le reprocher à toi.
longo600 a écrit:il existe très peu ou pas de données complete a télécharger sur les mots de la langue Française. On trouve des fichiers avec tous les mots, mais quasiment aucun avec la totalité de ceux-ci et les attributs grammaticaux (singulier, pluriel, verbe conjugué avec toutes les personnes, masculin, féminin, adjectifs, adverbe, etc etc).... C'est un pieds de nez a l'une des langues les plus complexe de la planète, obligatoire. Même l'académie Française ou le ministère de l'éducation ne donnent pas la possibilité de télécharger de tels fichiers.

Hmmm... Le pied de nez... ici, c'est toi qui l'invente.
Ce n'est ni le rôle de l'AF ni de l'EN de proposer ce genre de truc.
En revanche des bases de données autorisées de ce type existent et depuis longtemps. Bon... OK si l'usage qu'on souhaite en faire est commercial, ce n'est pas gratuit. En revanche elles sont d'accès libre et gratuit pour tout autre usage.
longo600 a écrit:A elle seule, la conjugaison des quelques 8 000 verbes Français génère 2 191 312 conjugaisons possibles, en comptant les doublons en fonction des temps et personnes (le même mot est identique a la 3eme personne du singulier si c'est au masculin et féminin parfois etc.).

C'est quoi ce calcul phantasmagorique ? Si tu parts de 8.000 verbes en comptant 6 personnes pour 16 temps/modes, j'obtiens 8.000*16*6 = 768.000 formes fléchies pas 2 millions!!

Quant à ta question finale... on n'est plus ni dans la sémantique ni même dans la linguistique... c'est carrément dans la métaphysique que la réponse se situe... :

Eh OUI! L'homme a la faculté de créer plus de res cogitens que de res extensa... on le sait depuis Aristote et... c'est bien au contraire... ce qui contribue a l'extension des ses facultés intellectuelles!

Cela dit... Bonne année à toi quand même.
Haut
Messages: 2501

Enregistré le: 24 Fév 2005

Message le Jeu Jan 14, 2016 14:17

Merci de vos réponses,
@Spout ; merci des liens proposés, c'est intéressant, bien que incomplet, du moins, il n'y a pas les fichiers complets de tous les mots Français avec TOUTES leurs caractéristiques.

@indigene; oui, il est possible d'utiliser une règle de conjugaison, mais cela peut être aussi intéressant de tout avoir.

@Marie-Aude ; évidement qu'il faut arriver a définir une règle et liste de radicaux afin de rassembler les mêmes mots en groupe. Il y a le choix dans les méthodes, parfois qui sont multiples (phonétique et radical grammatical). L'objectif est d'utiliser la même méthode pour traiter la requête et le classement, pour un moteur. Il ne s'agit pas de remplir un dictionnaire, mais justement de constituer une base d'unités lexicale, entre-autres... ^^

@Doubrovski ; "CF le "Novlangue", si tu n'as pas lu 1984" , je vais lire. Ton résumé répond a ma question, c'est intéressant ^^. J'ai céssé l'école en 3eme, avec comme matière la plus mauvaise pour moi, le Français (je crois 4/20 de moy. annuelle)... C'est pour ça que je suis a moitié imbécile ^^. Je me contente de l'autre moitié, un peu mise a rude épreuve sur ce coup là ^^.
Ce que je cherche a faire, c'est justement rationaliser la requete de l'internaute sur le moteur, la comprendre, et faire de même de l'autre côté, c'est a dire classer les pages web crawlées avec le même algorithme, pour faire correspondre les deux, autant que possible. Je ne bénéficie pas comme Google d'un grand volume de requête existant et donc d'expérience . Je me base donc sur seulement les requetes dont je dispose pour le moment, mais je n'ai pas vraiment de bonne données de "la suite", c'est a dire le choix que l'internaute a fait en cliquant sur la "bonne réponse" pour "corriger" mon interprétation ou l'affiner.
Pour le moment, je rassemble TOUT pour constituer des données que je traite ensuite ;
- usage des mots les plus courant (requête et documents)
- synonymes
- corpus (groupes)
- et chacun en mot complet, puis en lemmes
Ellaborer un TAL (https://fr.wikipedia.org/wiki/Traitement_automatique_du_langage_naturel ) adapté au langage web, et classement des documents.
Bref, ma prof de Français doit ricaner dans sont dentier si elle voyait ce que je tente de faire ...

aCOSwt a écrit:Ce n'est ni le rôle de l'AF ni de l'EN de proposer ce genre de truc.
En revanche des bases de données autorisées de ce type existent et depuis longtemps. Bon... OK si l'usage qu'on souhaite en faire est commercial, ce n'est pas gratuit.

@ aCOSwt ; NON,NON et NON ! Je ne vois aucune raison valable pour laquelle la liste des mots Français et leur attribut grammatical devrait nécessiter un paiement par ce qu'il seraient dans un fichier a télécharger ! Encore une fois, je ne parles pas de définition de dictionnaire, mais juste des mots Français, si c'est un adverbe, adjectif, masculin, singulier etc etc.
Il n'existe,a ma connaissance, aucun fichier COMPLET en téléchargement gratuit, et je trouve cela inadmissible !

C'est quand même fort de café (de WRI ^^) de devoir payer une liste de mots Français avec leur définition, vous ne pensez pas?

En tout cas, dans quelques jours ou semaines, je mettrais en ligne, gratuitement. Mais tout de même, je ne trouve pas cette absence de fichier normale.
Modifié en dernier par longo600 le Jeu Jan 14, 2016 14:53, modifié 1 fois.
Haut
Messages: 2501

Enregistré le: 24 Fév 2005

Message le Jeu Jan 14, 2016 14:24

aCOSwt a écrit:C'est quoi ce calcul phantasmagorique ? Si tu parts de 8.000 verbes en comptant 6 personnes pour 16 temps/modes, j'obtiens 8.000*16*6 = 768.000 formes fléchies pas 2 millions!!

Tu oublies le masculin / féminin de la 3eme personne, et les auxiliaires (être, avoir) ...

Si si ! il y a bien 2 191 312 conjugaisons possibles ... tu verra le fichier bientôt.
Haut
Messages: 482

Enregistré le: 9 Avr 2011

Message le Jeu Jan 14, 2016 15:53

@longo600 :
Le résumé était un extrait de la page "Novlangue" sur Wikipédia. Ça reste un livre de science fiction mais... je trouve ça assez juste et intéressant.

Concernant le TAL, c'est sans doute l'exercice le plus complexe en informatique.
Dans les années 70, les chercheurs pensaient être à deux doigts de la création d'une intelligence artificielle. En 2016, on en est encore loin... Le problème principal auquel on est confronté (côté input) est l’ambiguïté. Le simple fait que chaque mot ait plusieurs sens.

Les différents thèmes que je tentais d'explorer avec mon projet :
1)Le trio :
-analyse lexicale → identification des phrases et des mots, lemmatisation…
-analyse syntaxique → nature des mots et attribution d’une catégorie grammaticale,
-analyse sémantique → utilisation de « synsets » à la Wordnet (Synonym Set) pour attribuer des sens à des mots
et...
2)D'autres pistes :
-réseaux neuronaux
-algorithmes génétiques
-algorithmes de recherche
-"not-so-distant supervision"... analyse sémantique avec métadonnées...

Les mots ont plusieurs sens, d'où l'importance primordiale du contexte, peut-être est-il même possible de se passer d'analyse lexicale et syntaxique. CF études "not-so-distant supervision" la puissance des métadonnées (tags) pour comprendre le sens d'une phrase. Twitter et Google pensent que le croisement des métadonnées permet de comprendre le sens d'un tweet par exemple, bien mieux qu'en passant par l'analyse lexicale ou la grammaire. Ce qui permettrait par exemple de mesurer l'impact d'un tweet sur internet, et d'y associer une identité, même sans indices...

Bon après un moteur de recherche peut se passer de ces techniques poussées. Quel est ton projet exactement ? C'est un moteur de recherche ou plus ?
Haut
Messages: 2501

Enregistré le: 24 Fév 2005

Message le Jeu Jan 14, 2016 18:21

Doubrovski a écrit:Concernant le TAL, c'est sans doute l'exercice le plus complexe en informatique.
Dans les années 70, les chercheurs pensaient être à deux doigts de la création d'une intelligence artificielle. En 2016, on en est encore loin... Le problème principal auquel on est confronté (côté input) est l’ambiguïté. Le simple fait que chaque mot ait plusieurs sens.

Vrai, toutefois, google progresse assez vite. De plus, il dispose de toutes les données. C'est titanesque d'ailleurs ...
Je pense que l'on aura du mal a parler "d'intelligence" artificielle avant longtemps, mais peu a peu, les schémas progressent pour rationaliser les données, et apporter des réponses de plus en plus "en rapport".

Doubrovski a écrit:Les différents thèmes que je tentais d'explorer avec mon projet :
1)Le trio :
-analyse lexicale → identification des phrases et des mots, lemmatisation…
-analyse syntaxique → nature des mots et attribution d’une catégorie grammaticale,
-analyse sémantique → utilisation de « synsets » à la Wordnet (Synonym Set) pour attribuer des sens à des mots
et...
2)D'autres pistes :
-réseaux neuronaux
-algorithmes génétiques
-algorithmes de recherche
-"not-so-distant supervision"... analyse sémantique avec métadonnées...
Les mots ont plusieurs sens, d'où l'importance primordiale du contexte, peut-être est-il même possible de se passer d'analyse lexicale et syntaxique.

Je n'ai pas encore fini, mais il y a deux approche possibles ;
- soit l'on decortique chaque mot au préalable pour une analyse lexicale et syntaxique, puis l'on va chercher dans des corpus
- soit on garde les mots tels quels en utilisant une table pré-remplie de lemmes correspodants et ensuite dans les corpus.

J'ai un peu de mal avec tous ces termes nouveaux, mais grosso-modo, il suffit de peu de mots pour "comprendre" le sens d'une phrase.

Doubrovski a écrit:Bon après un moteur de recherche peut se passer de ces techniques poussées. Quel est ton projet exactement ? C'est un moteur de recherche ou plus ?

Oui, il s'agit du moteur http://www.premsgo.fr que j'ai mis en ligne en version Alpha pour le moment. Il n'y a aucun algo particulier pour traiter les mots des requetes pour le moment, donc, a la lettre près, ça trouve ou ne trouve pas. Evidement, cela ne peut pas rester en l'état.

Du côté des requêtes , c'est moins compliqué, puisqu'en général, celles-ci sont constituées des mots les plus significatifs en majorité, de 3 à 5 mots. Je n'ai pas d'exemple sous la main, mais hormis les requetes a double sens, il faut de multiples niveau de filtres pour tenter de répondre avec exactitude, et mélanger les solutions quand plusieurs sont possible.

Par exemple, au ieu de s'enerver contre Google et de mettre des mots entres-guillemets car Google corrige ce qui n'est pas a corriger (parfois sur des nom de personnes, de sociétés ), ou à l'inverse, ne corrige pas ( https://www.google.fr/?gws_rd=ssl#q=cado ). Par contre, Google corrige parfaitement dans certains cas, et reconnait / re-décompose des mots qui se touchent ; exemple : https://www.google.fr/?gws_rd=ssl#q=gorgesdupont.

gorgesdupont est un cas très intéréssant car Google le traite en double, ce qui indique qu'il a plusieurs options et algorithmes dédiés, et forcément des tables de référence sur les termes.
Google propose de corriger le mot (l'expression) , mais il opte pour proposer une liste de résultat qui n'est pas en rapport avec la correction proposée.

J'ai testé Bing, Yahoo, Exalead, Qwant, Baidu ... sur cette même requête, et tous n'ont pas le même traitement. ( Qwant utilise Bing, et pour les données sociales, ne fait pas de correction interne).

Certes, encore une fois , je tente de ré-inventer la roue, mais tout ce qui est dans ce moteur est du 100% maison, du crawl a l'indexation et serveur. C'est juste un sujet un peu long et bien plus hardu qu'il ne semblait, mais ca progresse.

J'ai eut du mal a rassembler des données, et j'ai du faire moi-même faire les constitutions de fichiers, sur les mots Français, et je trouve ca un peu limite de la part des structures officielles. Bref, j'en suis aux grosses moulinettes de millions de données pour constituer ces corpus ... c'est long ... ^^
Haut
Messages: 482

Enregistré le: 9 Avr 2011

Message le Ven Jan 15, 2016 13:08

Si tu veux te simplifier la vie, Elasticsearch est une bonne solution, puissante. Mais c'est aussi un joli projet de s’intéresser au TAL !

Pour s'approcher d'un embryon d'IA, si c'était à refaire aujourd'hui, je choisirais sans doute une technologie comme Node.js (à l'époque j'avais fait ça en PHP/Ajax :)). J'étais parti sur un système INPUT/OUTPUT, la chaîne de caractère subissait toute une série de traitements (suppression des mots inutiles, transformation en lemme, j'ai testé la phonétique sans trop de succès) avant de "matcher" avec des regex sur la mémoire du robot pour qu'il choisisse une réponse. Là était le gros problème, je n'ai pas eu le temps de pousser plus loin le système, mon but était de reconnaître les verbes, sujets et COD pour que le robot puisse en quelque sorte "'apprendre" et créer des phrases. Cette discussion me donne envie de continuer. Mais peut-être en utilisant un système différent basé sur les tags.
Haut
Messages: 2501

Enregistré le: 24 Fév 2005

Message le Ven Jan 15, 2016 15:36

@Doubrovski , c'est un sujet intéressant , mais je ne crois pas que la solution est dans la lemmatisation, bien que nécessaire . C'est un préalable, que de corriger et rationnaliser les mots d'une requête , mais il faut s'arrêter là pour passer a autre chose et ne pas traiter ainsi la relation d'une requete a un document.

Je prend un exemple ,

LA REQUETE D'UN INTERNAUTE :
"villa avec terrain proche de toulouse" (sans faute d'orthographe ...)
- villa > avec > terrain > proche > de > toulouse

DANS LES DOCUMENTS DISPONIBLE
- agences immobilière > maisons, villas, pavillons, masures, maisonnettes, château, habitation > jardin, terrain, parc, espaces vert > proximité, proche, pas loin, a x km, en banlieue, en bordure, en périphérie > Toulouse, Muret, Saint Simon etc ...

LES TITRES ou BALISE H1 DES DOCUMENTS CRAWLES (exp.) ;
- A vendre très belle villa avec grand jardin a Muret
- Pavillon de 180m2 avec 500m2 de jardin Saint Simon
Aucun rapport avec les mots de la requête ; "villa avec terrain proche de toulouse"

On se rend compte que la lemmatisation des mots n'est pas suffisante pour mettre en relation cette requête avec les documents disponible, on passerait a côté.

J'établie donc des statistiques sur de gros volumes de documents et aussi de requètes web pour constituer des corpus qui s'enchainent (liés). L'idée est de classer / rassembler des mots dans des groupes, ou familles, puis d'un niveau inférieur un nouveau corpus qui est lié au premier, et ainsi dessuite. Peut importe le mot employé, il représente un "dessin" du sujet ou une référence identifiable, pour soi. Toutefois, les statistiques devraient au final faire ressortir les mots les plus utilisés et donc représentatifs.

EXEMPLE EN RAPPORT (ci-dessus) :
classement des documents dans des corpus (ou thésaurus de multi-niveau);
Niv1 : MAISON (tous les mots représentatifs = maisons, villas, pavillons, masures, maisonnettes, château, habitation, agence immobilière, location, vente, achat, viager, logement, meuble, décoration etc)
NIV2 : MAISON + JARDIN ( jardin, terrain, parc, espaces vert, fleur, gazon, arbre, foret, lac, étang etc.)
NIV3 : MAISON + JARDIN + LIEU ou GEO (Toulouse)

Dans ce cas particulier , "proche" doit etre interprété dans la requête (compris) comme étant une "proximité" géographique, mais je n'en suis pas là.

Pour compléter la notion de corpus multi-niveau, il y aurait une différence dès le niveau 2.
Exemples autres corpus de niveau 2 :
MAISON + INTERIEUR (meubles, décoration, cuisine, chambre, salle de bain etc)
ou
MAISON +CONSTRUCTION (maçonnerie, tuyau, robinet, chape, toit, tuile, isolation etc ...)
autre exemple de niveau 3
MAISON + INTERIEUR + CUISINE (four, grill, frigo, table, chaise, lampe, encastré, lavabo, robinet, hotte etc ...)
On peut aller ainsi dessuite au niveau 4, 5 ... je pense qu'il devrait y avoir une limite au niveau 5 ou 6.

En classant les documents dans ces corpus, j'élargie les réponses possibles tout en restant dans la pertinence. En procédant de la même manière avec la requete de l'internaute, je peux mettre en rapport les deux avec assez de pertinence.

TRAITEMENT DE LA REQUETE :
1) recherche exact dans les documents (en 1er position)
2) recherche avec élimination des mots inutiles (le la les du avec ...)
3) transformation de la requetes en adéquation des corpus et recherches par corpus.

Mixer les résultats en fonction de critères de pertinence, et afficher les résultats a l'internaute.

Peut-être que je me trompe, je ne sais pas encore, mais je vois les choses de cette façon, dans un idéal ^^

L'objectif final est un peu plus compliqué car "comprendre" une requête est assez diversifié. Par exemple, l'internaute qui tape "horaires star wars toulouse" , il faut comprendre que celui-ci cherche les horaire d'un cinéma a Toulouse qui diffuse le film Star war, en ce moment ... ou celui qui demande "horaires station car michalon a Paris le vendredi" , il faut comprendre qu'il s'agit des autobus et stations parisiennes , de la RATP ... On ne peut pas TOUT "comprendre" et correctement interpréter, mais les corpus peuvent aider et semble la meilleure méthode ... a mon avis.


J'ajoute que cette notion de corpus, que j'apparente a des synapses liées qui regroupe un même sujet, peuvent être nommé par des mots, en Français pour la compréhension, mais pourrait tout aussi être sous n'importe quelle forme pour son identification ;
- un nombre
- un dessin géométrique
- en japonais
- une couleur
- un son
- une image
- une odeur (...)
...
- une décharge électrique (du clavier sur les doigts) :mrgreen:

mais qui resterais des mots pour son contenu.

Mais bon , des sons, avec 4D, il vaut mieux éviter ... les mots, c'est quand même plus simple :-D
Modifié en dernier par longo600 le Ven Jan 15, 2016 15:47, modifié 1 fois.
Haut
Messages: 2501

Enregistré le: 24 Fév 2005

Message le Ven Jan 15, 2016 15:46

A savoir que dans cet exemple précis, Google ne "comprends pas" le mot PROCHE.

En théorie, l'utilisation de ce mot devrait indiquer que soit ;
- la recherche se fait sur toulouse et les environs
- la recherche ne se fait pas sur toulouse mais a proximité
Il n'y a pas de suggestion géographique. Cela pourrait être le cas dans ce que je développe.
Haut
Messages: 2501

Enregistré le: 24 Fév 2005

Message le Ven Jan 15, 2016 16:03

Doubrovski a écrit:Si tu veux te simplifier la vie, Elasticsearch est une bonne solution, puissante. Mais c'est aussi un joli projet de s’intéresser au TAL !

Ca fait 100 fois que mes amis developpeur me "tarabustent " pour que j'utilise cet outil bien fait ! :D

Mais ma passion est de créer à mon idée... et si je met un pied sur ce chemin, je fais comme Qwant, j'utilise et je paie directement les données de Bing ...

C'est vrai que je ré-invente la roue, a tous les niveaux puisque sur mon moteur, je n'utilise aucun logiciel externe (pas même l'excellent Curl pour le crawl pas exemple), tout est codé en 4D par bibi ... ligne par ligne ... :?
Haut
Messages: 3256

Enregistré le: 7 Sep 2003

Message le Ven Jan 15, 2016 19:54

longo600 a écrit:Je pense que l'on aura du mal a parler "d'intelligence" artificielle avant longtemps

L'intelligence est composée de plusieurs choses :
1) la mémorisation
2) la compréhension
3) l'apprentissage (l'enrichissement par l'expérience)
4) la réutilisation de ce qu'on a mémorisé et appris pour produire quelque chose de nouveau que l'on va réinjecter au début du cycle. Cette partie prend en compte le fait de commettre des erreurs et d'en tirer des leçons pour s'auto-corriger.

Le 1) on sait faire
Tu en es au stade de la compréhension je suppose.
Et le point 4) je ne pense pas que tu en ais besoin.
Haut
Messages: 2501

Enregistré le: 24 Fév 2005

Message le Ven Jan 15, 2016 23:41

indigene a écrit:Tu en es au stade de la compréhension je suppose.
Et le point 4) je ne pense pas que tu en ais besoin.

Entre 2 et 3 oui, le 4 non, je ne pense pas avoir besoin de produire du contenu.

Par contre, vu que j'ai une bonne partie des logs depuis 1999 (requêtes web), je peux simuler des requetes et vérifier le contenu trouvé par le moteur par rapport a des critères de corrélation ...
Haut