archive

Archives de Tag: Traitement automatique des langues

Bonjour tout le monde !

Comme vous le savez tous, de formation, je suis ingĂ©nieure linguiste, et je suis autant passionnĂ©e par le TAL que par le SEO. Je dirais toujours que c’est le TAL qui m’a menĂ©e vers le SEO car j’ai vu le lien entre ces deux domaines dĂšs le dĂ©but : Linguistique x Informatique en TAL, et SĂ©mantique x Technique en SEO. Je me dĂ©finirais toujours comme une spĂ©cialiste du SEO et du Traitement Automatique des Langues. Il y a moins d’Ă©vĂ©nements sur le TAL que le SEO, et je trouve cela extrĂȘmement dommage car le TAL, la science du langage a tout le mĂ©rite de se faire connaĂźtre.

En TAL, on produit des outils, des scripts qui servent, qui sont utiles pour des expĂ©riences scientifiques, et cela permet de faire progresser la R&D pour beaucoup de choses. Typiquement, j’utilise mes compĂ©tences en TAL pour automatiser certaines phases super chronophages (nettoyage des textes, optimisation des mĂ©ta tags, etc.). autant que possible.

Pendant ce HackaTAL 2017 qui s’est dĂ©roulĂ© Ă  OrlĂ©ans, au Lab’O (incubateur de start-ups dans le numĂ©rique), on a eu droit Ă  quelques petites confĂ©rences d’entreprises spĂ©cialisĂ©es dans le TAL, telles que Recital (gĂ©nĂ©ration de rĂ©sumĂ© automatique), Mood Messenger, etc.

On avait des tùches trÚs précises à réaliser, et voici les consignes officielles :

TĂąches

1. Résumé automatique de commentaires sur des produits en ligne

Objectifs

Dans le cadre de la promotion de produits sur les plateformes en ligne, l’apprĂ©ciation peut ĂȘtre analysĂ©e Ă  partir des retours utilisateurs (User Generated Content). Ces derniers peuvent se prĂ©senter : notes, Ă©toiles, mais aussi avis et commentaires textuels. Les notes n’étant pas toujours en adĂ©quation avec les contenus textuels, de plus en plus d’acteurs cherchent Ă  qualifier l’opinion des utilisateurs et Ă  dĂ©terminer quels sont leurs arguments.

La thĂ©matique est orientĂ©e sur les avis et commentaires concernant l’offre de logements en rĂ©gion centre (particuliers, auberges, hĂŽtels, luxe, etc.). Il s’agira de construire un rĂ©sumĂ© automatique des commentaires, Ă  partir des arguments dĂ©tectĂ©s dans ces derniers, Ă  comparer aux notes et/ou Ă  la description. Ce rĂ©sumĂ© orientĂ© devra ĂȘtre sĂ©parĂ© en deux champs principaux : points positifs et points nĂ©gatifs sur des critĂšres communs : accueil, confort, services, propretĂ©, accessibilitĂ©, etc. D’autres champs peuvent ĂȘtre proposĂ©s par les participants selon les arguments extraits Ă  partir des commentaires.

Sous tĂąches

  • Traitement / dĂ©bruitage de donnĂ©es UGC
  • DĂ©tection et extraction d’arguments
  • AgrĂ©gation des valeurs par produits
  • DĂ©tection et rĂ©solution de contradictions
  • RĂ©sumĂ© automatique d’opinions sur les aspects

Données et évaluation

Collection de données représentant chaque produit en ligne (champs de description du produit, notes ou étoiles, liste des commentaires associés) en français et en anglais. Les données seront fournies sous-forme de corpus (pour le corpus collecté sur Internet) et/ou via des liens à télécharger (pour les données fournies par les partenaires, à préciser).

L’évaluation portera sur la capacitĂ© Ă  calculer automatiquement les scores pour chaque catĂ©gorie d’évaluation du produit (accueil, propretĂ©, emplacement, etc.). Pour chacun de ces scores, un argumentaire rĂ©sumĂ© automatiquement devra ĂȘtre fourni qui pourra faire l’objet d’évaluation qualitatives.

2. Identification des tendances stratégiques liées aux brevets

Objectifs

La stratĂ©gie de dĂ©pĂŽt de brevets par des entreprises ou des individus reprĂ©sente un enjeu considĂ©rable, qui a donnĂ© lieu Ă  des affaires mondialement connues (Apple vs Samsung, Microsoft vs Google). Cet outil juridique reste cependant difficilement accessible pour les entreprises de petite taille ou les individus. En particulier, il n’est pas Ă©vident de dĂ©terminer quelles technologies vont avoir tendance Ă  ĂȘtre l’objet de brevets, dans une optique de veille ou de prĂ©servation de la propriĂ©tĂ© intellectuelle.

La tĂąche proposĂ©e vise Ă  mieux modĂ©liser les mĂ©canismes qui permettent de prĂ©dire l’apparition de brevets pour des technologies en essor, par utilisation de mĂ©thodes d’IA et de TAL (terminologie et expressions multi-mots, catĂ©gorisation des brevets, Ă©volution des termes et des n-grams, prĂ©diction de tendances). L’objectif est de dĂ©terminer, au regard des donnĂ©es collectĂ©es sur des brevets (par ex. distribution des termes entre 2001 et 2009), quels brevets seront dĂ©posĂ©s (par ex. en 2010). Pour illustration : si “tactile” est recensĂ© avec une grande montĂ©e en 2010, pouvait-on prĂ©dire cette montĂ©e en exploitant les donnĂ©es de la dĂ©cennie prĂ©cĂ©dente ?

Sous tĂąches

  • PrĂ©traitement du langage et de la structure des brevets
  • Extraction de terminologies liĂ©es aux technologies
  • Comparaison des termes des brevets avec les sites technologiques
  • DĂ©tection de signaux faibles
  • Analyse et prĂ©diction de tendances

De mon cĂŽtĂ©, je me suis penchĂ©e sur le rĂ©sumĂ© automatique de commentaires sur des produits en ligne. J’ai dĂ©jĂ  eu des sujets similaires Ă  traiter, et je trouve cela plus concret et utilisable tout de suite derriĂšre (une fois que le script est prĂȘt, l’outil peut servir !! 🙂 ) On Ă©tait une Ă©quipe de 3 : deux dĂ©veloppeurs web et moi. La technologie utilisĂ©e Ă©tait du PHP, des Regex, de l’Ă©tiquetage de donnĂ©es, et la stratĂ©gie Ă©tait d’utiliser les mots ayant le plus de poids dans une phrase (adverbe, adjectifs, verbes). Avec cette mĂ©thode, on a eu un Rappel de prĂšs de 80% ! (Rappel = le nombre de documents correctement retrouvĂ© dans sa classe, PrĂ©cision = le nombre de documents correctement attribuĂ© dans sa classe (ex : pour le rappel, cela veut dire que le commentaire a bien Ă©tĂ© retrouvĂ© dans telle ou telle catĂ©gorie automatiquement, et la prĂ©cision correspond au fait si le commentaire est bien attribuĂ© positif / neutre / nĂ©gatif).

C’est mon Ă©quipe qui a gagnĂ© le HackaTAL 2017 !!! Je suis trĂšs contente que ma stratĂ©gie / rĂ©flexion marche (avec les ADJ, les ADV, etc.), et on s’est bien dĂ©brouillĂ© avec les dĂ©veloppeurs ! Un Grand MERCI Ă  Nicolas Le Flohic et Fanny Jan, mes co-Ă©quipiers.

hackatal 2017 - Ă©quipe Wild gagnante

Voici quelques clichés du HackaTAL 2017 :

La jolie photo de souvenirs devant le logo du Lab’O !

Présentations des projets de chaque équipe :

Ca code, ça code !! Prùs de 48 heures de scripting 😉

Toutes les Ă©quipes ont bien travaillĂ©es, et ce sont donnĂ©es Ă  200% !!! Un week-end intense avec de belles rencontres, des Ă©changes hyper intĂ©ressants, et … cela m’a redonnĂ©e une folle envie de me remettre dans le TAL !!

En tout cas, une chose est sĂ»r, la Science du Langage est une science qui a beaucoup d’avenir :

Je pense qu’il y a moyen qu’un jour, je retourne Ă  100% dans les Sciences du Langage, dans le Traitement Automatique des Langues. On verra ce que la vie me donnera !

J’espĂšre que cet article vous aura plu, il change un peu du SEO 😉

Un Ă©norme merci Ă  Damien Nouvel (ERTIM / INALCO), au Lab’O et tous ceux qui ont organisĂ© cet superbe Ă©vĂ©nement concret et intense !

Bon courage Ă  tous,

VĂ©ronique Duong – IngĂ©nieure Linguiste … avant tout 🙂 !

Publicités

Bonjour tout le monde !

Je ne pensais jamais vous parler du langage R sur ce blog ! Pour moi, R Ă©tait un outil que j’ai utilisĂ© en Master 2 d’IngĂ©nierie Linguistique, et que je ne m’en servirais pas pour le SEO ou le monde professionnel … eh bah non ! R est un outil pour calculer, gĂ©rer les statistiques, et il s’avĂšre trĂšs puissant et plus flexible que certains outils sur le marchĂ© !

J’ai mis en place une petite veille informationnelle pour voir les publications qui remontent sur R, et mon logiciel de veille a crawlĂ© une infographie sur les caractĂ©ristiques de R, et ça tombe parfaitement bien. L’illustration est signĂ©e IntelliPaat (agence digitale de big data et de e-learning indienne).

Pourquoi faut-il utiliser le langage R ?

  1. C’est Open-source et le logiciel couvre un large Ă©ventail de calculs statistiques
  2. Comparable et mĂȘme supĂ©rieur Ă  certains outils payants sur le marchĂ©
  3. Disponible pour Windows, Linux et Mac
  4. En plus des opĂ©rations statistiques, c’est une Konsole, donc un outil de programmation, qui automatise vos analyses et qui crĂ©e de nouvelles fonctions
  5. Structure de programmation orientée objet (POO)
  6. Les données sont enregistrées par session, donc pas besoin de les ressaisir à chaque fois
  7. Comme c’est un outil open-source, il y a une vague communautĂ© de statisticiens qui l’utilisent et qui sont prĂȘts Ă  vous aider

Voici l’infographie en question :

Langage R : les caractéristiques - SEO - AUTOVEILLE

J’ai retrouvĂ© mes cours de M2 sur R, et on s’en servait surtout pour calculer la frĂ©quence des mots-clĂ©s dans des corpus, on faisait des matrices, des graphes, etc. Voici un petit extrait d’un de mes exercices Ă  l’Ă©poque :

Langage R - Statistiques textuelles - AUTOVEILLE

Cela fait 5 ans que je n’en ai pas fait, mais je vais m’y remettre ! C’est un langage que je connais, et je ne veux pas laisser passer cette opportunitĂ© ! 🙂

Et vous ? programmez-vous en R ?

Si vous avez la moindre question sur le traitement automatique des langues, le SEO, l’automatisation de la veille stratĂ©gique, etc. Ă©crivez-moi Ă  autoveille@gmail.com

Bon courage Ă  tous !

VĂ©ronique Duong – Consultante SEO certifiĂ©e CESEO

 

Bonjour Ă  tous,

Dans l’article d’aujourd’hui, nous nous intĂ©ressons aux systĂšmes et aux mĂ©thodes d’indexation et de rĂ©fĂ©rencement de Google. En effectuant une veille stratĂ©gique sur les algorithmes de Google, mon logiciel de veille m’a rapatriĂ© un article trĂšs intĂ©ressant portant sur le fonctionnement des crawlers et des diffĂ©rents autres composants de Google. Cet article a Ă©tĂ© rĂ©digĂ© par les deux fondateurs de Google, Sergey Brin et Larry Page. Vous pouvez lire cet article en suivant le lien sur le site de Stanford.edu

MĂȘme si les algorithmes du moteur sont confidentiels, grĂące au schĂ©ma fourni dans l’article, on peut tout de mĂȘme mieux comprendre comment marche l’indexation chez Google. Dans le livre d’Olivier Andrieu, on peut lire que Google possĂ©derait deux index : un index principal (oĂč il faut absolument y ĂȘtre pour ĂȘtre visible) et un index secondaire (pages dupliquĂ©es, pages ayant peu de liens externes, pages « mal liĂ©es », etc.).

Voici l’architecture « high level » (comme le dĂ©crit les fondateurs) de Google :

Architecture des composants de Google - AUTOVEILLE

 

Source : Stanford (Article rédigé par Sergey Brin et Larry Page)

Voici ce que les fondateurs expliquent par rapport Ă  cette structure [Extrait de l’article] :

In Google, the web crawling (downloading of web pages) is done by several distributed crawlers. There is a URLserver that sends lists of URLs to be fetched to the crawlers. The web pages that are fetched are then sent to the storeserver. The storeserver then compresses and stores the web pages into a repository. Every web page has an associated ID number called a docID which is assigned whenever a new URL is parsed out of a web page. The indexing function is performed by the indexer and the sorter. The indexer performs a number of functions. It reads the repository, uncompresses the documents, and parses them. Each document is converted into a set of word occurrences called hits. The hits record the word, position in document, an approximation of font size, and capitalization. The indexer distributes these hits into a set of « barrels », creating a partially sorted forward index. The indexer performs another important function. It parses out all the links in every web page and stores important information about them in an anchors file. This file contains enough information to determine where each link points from and to, and the text of the link.

The URLresolver reads the anchors file and converts relative URLs into absolute URLs and in turn into docIDs. It puts the anchor text into the forward index, associated with the docID that the anchor points to. It also generates a database of links which are pairs of docIDs. The links database is used to compute PageRanks for all the documents. […]

Pour rĂ©sumer en français, le crawling est effectuĂ© par diffĂ©rents robots. Il y a un « URLserver » qui envoie une liste d’URLs Ă  extraire aux crawlers. Ces URLs seront ensuite envoyĂ©es dans le « storeserver ». Puis le storeserver compresses et stockes les pages web (URLs) dans un « entrepĂŽt ». Chaque page a un ID nommĂ© docID qui lui est assignĂ©e.

L’index fonctionne grĂące Ă  deux composants : l' »indexer » et le « sorter » (outils d’indexation et de tri). L’indexer possĂšde plusieurs fonctions. Il lit les Ă©lĂ©ments dans l’entrepĂŽt, dĂ©compresse les documents et les dĂ©crypte. Chaque document est dĂ©coupĂ© en mots nommĂ©s « hits ». L’indexer met ces « hits » dans des silos (« barrels »), ce qui crĂ©e des index partiellement triĂ©s. L’indexer analyse tous les liens d’une page et stocke les ancres dans un fichier nommĂ© « anchors ». Ce fichier contient des informations qui indiquent d’oĂč provient un lien et le texte sur ce lien (l’ancre).

L’URLresolver lit les fichiers d’ancres et convertit les liens relatifs en liens absolus qui sont ensuite transformĂ©s en docIDs. Cela met l’ancre de texte dans l’index transfĂ©rĂ©, associĂ© au docID dont l’ancre y pointe. Cela gĂ©nĂšre Ă©galement une base de donnĂ©es de liens qui est utilisĂ©e pour calculer le PageRank de chaque page … 🙂

GrĂące Ă  cet article, on comprend bien mieux comment Google fonctionne. Il n’y a pas qu’un outil, qu’un seul algorithme, mais plusieurs qui tournent en mĂȘme temps. Panda, Penguin, etc. ne seraient rien d’autres que des composants qui font partie de la chaĂźne de traitements maintenant.  Je n’ai traduit que l’essentiel de l’article car c’est la partie la plus intĂ©ressante pour comprendre le SEO Ă  mon avis. En voyant le schĂ©ma, c’est typiquement une chaĂźne de traitements d’ingĂ©nierie linguistique informatique trĂšs poussĂ©e. Peu Ă  peu, je vais me remettre dans les recherches scientifiques car j’aime beaucoup Ă©tudier les problĂ©matiques liĂ©es Ă  ce domaine.

Si vous avez des questions sur le traitement automatique des donnĂ©es ou le rĂ©fĂ©rencement naturel, n’hĂ©sitez pas Ă  me contacter avec cette adresse autoveille@gmail.com

Bon courage Ă  tous !

VĂ©ronique Duong –

Bonjour tout le monde !

MalgrĂ© le rush au bureau, j’ai trouvĂ© 10 minutes pour rĂ©diger cet article sur un petit outil SEO automatique que je viens de dĂ©velopper avec avec les technologies de l’ingĂ©nierie linguistique qui tournent sous Linux Xandros. D’habitude, j’utilise Kubuntu ou Ubuntu. Mais comme je viens de dĂ©couvrir le terminal de mon mini PC hier soir, j’en ai profitĂ© pour programmer dessus 🙂

Linux Xandros - Shell - Outil SEO - AUTOVEILLEGrĂące Ă  cet outil de calcul de densitĂ© de mots-clĂ©s, je peux rapidement voir la frĂ©quence d’apparition d’un mot-clĂ© dans l’ensemble des pages d’un site. Par exemple, avec le mot-clĂ© « outil de veille« , j’ai trouvĂ© 45 occurences de « outil de veille« .

Cette technique SEO permet de voir si le site assez de mots-clĂ©s par rapport au nombre de pages, et de voir s’il est bien optimisĂ© (sous-optimisĂ© ou sur-optimisĂ©). Comme mon site est petit, il est bien optimisĂ© sur le mot-clĂ© « outil de veille » (une frĂ©quence d’apparition de 45 pour 20 pages web, c’est OK).

Si vous voulez que j’extrais le nombre de mots-clĂ©s que vous avez dans votre site web, n’hĂ©sitez pas Ă  m’Ă©crire pour faire un petit test. Mon mail est dĂ©sormais : autoveille@gmail.com (pensez Ă  joindre l’adresse de votre site web et une petite liste de 5 Ă  10 mots-clĂ©s pour le test).

Bon courage Ă  tous !

VĂ©ronique Duong –

 

Bonjour tout le monde !

Je vous propose ce nouvel article suite Ă  la dĂ©couverte d’une infographie super intĂ©ressante lors de  ma veille stratĂ©gique d’informations SEO / SMO / SEM. Mon logiciel de veille a en effet rĂ©cupĂ©rĂ© une illustration expliquant comment fonctionnerait Google (crawl, indexation, l’envoi d’une requĂȘte des internautes dans sa base de donnĂ©es, matching (= correspondance), etc.).

Elle est trĂšs complĂšte Ă  mon avis, et les Ă©tapes sont trĂšs dĂ©taillĂ©es. Elle a Ă©tĂ© rĂ©alisĂ©e par PPC Blog. L’auteur parle du crawl, de l’indexation, tout en passant par les filtres (dĂ©ployĂ©s en fonction des mots-clĂ©s, requĂȘtes, synonymes, etc.) probablement utilisĂ©s par le moteur de recherche amĂ©ricain.

Il y a quelques temps, j’avais Ă©mis des hypothĂšses sur le fonctionnement possible des moteurs de recherche, et je pense que cette infographie complĂšte ma recherche. Le moteur crawl et indexe des milliers de pages web, et selon les mots-clĂ©s saisis par les internautes qui ont Ă©tĂ© passĂ© dans les diffĂ©rents filtres (cela me rappelle beaucoup la partie avec egrep dans mon Ă©tude), il affiche les rĂ©sultats dans ses SERP.

Voici l’infographie, zoomez au maximum pour qu’elle soit lisible :

Comment fonctionne Google ? - par AUTOVEILLE

Gardez cette infographie quelque part car je pense qu’elle pourrait ĂȘtre trĂšs utile pour illustrer certaines Ă©tudes.

Qu’en pensez-vous de cette infographie ? N’hĂ©sitez pas Ă  laisser vos avis et vos points de vue.

Bon courage Ă  tous !

VĂ©ronique Duong –

Bonjour tout le monde !

Aujourd’hui, je vous ai prĂ©parĂ© un article qui va toucher deux disciplines qui sont Ă©troitement corrĂ©lĂ©es, Ă  savoir le traitement automatique des langues (ou ingĂ©nierie linguistique) et le rĂ©fĂ©rencement naturel (ou SEO).

Ce que vous allez lire par la suite ne sont que des hypothĂšses car je ne connais pas l’algorithme de Google, mais aprĂšs de nombreux tests, je trouve qu’il y a de (fortes) similitudes qui existent entre la mĂ©thode que j’utilise pour retrouver des pages web ou des fichiers dans mon systĂšme et celle du moteur de Google.

En effet, j’utilise souvent l’aspiration de sites web pour stocker les pages web qui m’intĂ©ressent, et pour en retrouver certaines, j’utilise des mots-clĂ©s … comme des requĂȘtes que les internautes taperaient sur Google !

Voici l’exemple de mon propre site ci-dessous. Comme vous pouvez le voir, les pages web / HTML, les images, les autres fichiers sont tous crawlĂ©s par mon logiciel de crawling (qui n’est autre que mon logiciel de veille dĂ©tournĂ© en outil de crawl) :

base de données AUTOVEILLE |Logiciel de veille

 

Ensuite, pour trier les pages HTML que j’ai dans ma base ci-dessus, je lance une requĂȘte (encadrĂ©e en vert) de ce genre dans ma Konsole :

résultats de recherche egrep AUTOVEILLE

 

Je pense que Google possĂ©derait une base de donnĂ©es gigantesque au vu du nombre de pages web qui existent, et des milliers de corpus thĂ©matiques / catĂ©goriques. A chaque requĂȘte tapĂ©e, Google essayerait de fournir la meilleure rĂ©ponse Ă  l’utilisateur parmi ses trilliards de pages HTML 🙂

Je prĂ©cise Ă©galement que mon outil de crawl / de veille ne lit et ne crawl pas les images, le JavaScript. En tout cas, il y a des choses extrĂȘmement corrĂ©lĂ©es entre le TAL et le SEO, et je m’Ă©clate en faisant des recherches, des tests dans ces deux domaines ! 🙂

TrĂšs prochainement, je vous montrerai comment faire du content spinning propre !

Bon courage Ă  tous,

VĂ©ronique Duong –

Bonjour tout le monde !

Ok, mon article commence par un titre relevant du jargon du traitement automatique des langues et de la fouille de textes. Vous devez vous dire « euh ok, et c’est quoi le TF-IDF ? », « qu’est ce que ça Ă  voir avec le SEO ? » … Eh bien, je vais essayer de dĂ©finir le TF-IDF en deux lignes avec des termes vulgarisĂ©s pour que vous comprenez :

Le TF-IDF (qui est le sigle de Term Frequency-Inverse Document Frequency) est une mesure statistique qui permet d’Ă©valuer l’importance d’un terme contenu dans un document ou dans un ensemble de textes. Il varie en fonction de la frĂ©quence d’apparition du mot-clĂ© dans le corpus.

Des variantes de la formule originale sont souvent utilisĂ©es dans des moteurs de recherche pour apprĂ©cier la pertinence d’un document en fonction des critĂšres de recherche de l’utilisateur. (Source : WikipĂ©dia)

Voici la formule de calcul (ça semble assez abstrait … je sais) :

Formule calcul du TF-IDF

En gros, plus un mot-clĂ© est prĂ©sent dans un document ou dans un corpus ( = base de donnĂ©es de textes), plus le TF-IDF sera Ă©levĂ© pour ce mot. Baidu utiliserait cette technologie pour faire la correspondance entre les mots-clĂ©s d’une requĂȘte d’un internaute et les documents dans sa base (dans son moteur). Ainsi, il afficherait les pages HTML qui auraient le plus de pertinence par rapport aux mots-clĂ©s de la recherche. (Source de l’article TF-IDFæĄ†æž¶äžŽSEOèĄç”Ÿ)

Nuage de mots-clés AUTOVEILLE

Apparemment, Google et Yahoo! utiliseraient aussi la formule du TF-IDF pour afficher les rĂ©sultats de recherche selon les requĂȘtes des utilisateurs. Donc, il ne faudrait plus se contenter d’optimiser certaines parties (ex : juste les mĂ©ta tags) d’une page, mais vraiment toute la page web (des mĂ©ta tags au contenu textuel) en pensant Ă  la notion de la densitĂ© de mots-clĂ©s.

Personnellement, j’utilise un script Perl pour faire le calcul du TF-IDF.

Voici une exemple plus concret de calcul de TF-IDF pour plus de clarté (tiré directement de Wikipédia) :

Calcul TF-IDF pour le SEO - AUTOVEILLE

Bon courage Ă  tous,

VĂ©ronique Duong –

%d blogueurs aiment cette page :