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

Big Data Discussion :

Utilisation de Spark pour extraire des données


Sujet :

Big Data

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Utilisation de Spark pour extraire des données
    Bonjour,

    Je suis entrain de réaliser un mini-projet avec le framework Spark

    L'idée est d'utiliser Spark pour extraire des données bien spécifiques à partir d'un document.

    Je suis débutante dans le domaine et j'aimerais bien avoir quelques recommandations d'algorithmes qui permettent de réaliser cette tâche. J'ai beaucoup cherché dans le net mais je n'ai pas trouvé ce que je cherche exactement.

    Est ce qu'il y a quelqu'un qui peut m'aider pour avoir quelques clarifications pour ce projet ?

    Tous mes remerciements.
    Cordialement.

  2. #2
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Bonjour,

    L'idée est d'utiliser Spark pour extraire des données bien spécifiques à partir d'un document.
    Pouvez-vous préciser SVP le format de ce document ?

    Parce que pour moi, Spark est fait à la base pour traiter des données :

    - ligne à ligne en utilisant les RDD (Resilient Distributed Dataset)
    - tabulaires (en ligne et en colonne si vous préférez, comme les tables de bases de données ou les fichiers CSV) en utilisant les DataFrames

    Après il existe des extensions comme Spark SQL, ou bien des connecteurs pour s'interfacer avec un autre type de logiciel, comme par exemple des connecteurs pour se connecter à des bases de données NoSQL orientées documents JSON (come MongoDB par exemple).

    Merci

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse.
    L'idée est d'extraire des mots ou des phrase à partir du web (un site bien déterminé) qui doivent être liés sémantiquement à un mot donné comme input. Je ne suis pas certaine que c'est faisable avec Spark ou pas. Mais puisque Spark intègre des algorithmes de Machine Learning donc cela peut résoudre mon problème.
    Mon problème c'est que je n'arrive pas à trouver un algorithme dans le net pour réaliser cette tâche.

    Cordialement.

  4. #4
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Je ne suis pas expert du tout, mais pour moi "extraire des mots ou des phrase à partir du web", cela existe déjà depuis belles lurettes.

    C'est une tâche faite par ce qu'on appelle des Crawlers, en français des collecteurs. Je crois que l'on parle d'ailleurs de Web Scraping. De plus vous n'avez qu'un site Web, ce qui va faciliter la tâche.

    En cherchant sur Internet, j'ai trouvé ce logiciel Open Source en python :

    https://scrapy.org/

    Par contre, par rapport au mot donné comme input, ce mot sert juste à filtrer les données extraites du site Web, ou bien il y a une véritable analyse sémantique derrière ?

    En tout cas, pour tout ce qui est analyse de texte, j'ai déjà entendu parler des librairies telles que NLTK ou encore SciKit Learn :

    http://scikit-learn.org/stable/

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Je vous remercie pour votre aide, crawler sera une solution efficace pour cette tâche.

    Mais, je voudrai savoir après avoir réalisé le crawler c'est à dire l'extraction de la page web désirée, où elle va être stockée ? et est ce que je peux par la suite accéder à cette page et extraire les mots ou les phrase que j'en ai besoin ?

    le mot donné en input sert à determiner quels mots à sélectionner à partir de la page web: si un mot X (dans la page web) est lié sémantiquement au mot donné en input il sera alors extrait. Donc, cela peut être réalisé par une analyse sémantique ?

  6. #6
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Mais, je voudrai savoir après avoir réalisé le crawler c'est à dire l'extraction de la page web désirée, où elle va être stockée ? et est ce que je peux par la suite accéder à cette page et extraire les mots ou les phrase que j'en ai besoin ?
    Je ne peux pas vous dire, je n'ai pas d'expérience sur le sujet. A mon avis, c'est le moment de tester. Pas besoin de Spark je pense. Ce qu'il vous faut, c'est un environnement en Python et aussi de télécharger un Crawler en Open Source.

    Je pense que vous allez récupérer votre page Web sous forme d'un fichier, fichier que vous pourrez traiter par la suite.


    le mot donné en input sert à determiner quels mots à sélectionner à partir de la page web: si un mot X (dans la page web) est lié sémantiquement au mot donné en input il sera alors extrait. Donc, cela peut être réalisé par une analyse sémantique ?
    Je sais qu'il y a des algorithmes d'analyse sémantique. Mais après je ne sais pas ce que vous voulez faire. Il faudrait nous donner un exemple concret.

    Par exemple, si je vous donne le mot Gourmandise en input, et que dans la page Web figurent les mots Bonbons, Gâteaux et Chocolat, ils seront extraits ou pas ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Oui les mots "Bonbons, Gâteaux et Chocolat" seront extraits si on a le mot "Gourmandise" comme input.

    Si on prend un autre exemple: le mot en input est : "Education" et dans la page web on a les mots: { Lire, Animal , Apprendre, Livre, Jouer }.
    Alors, les mots qui doivent être extraits sont: "Lire, Apprendre, Livre". Tandis que les mots qui ne doivent pas être extraits sont: "Animal, Jouer".

  8. #8
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour à tout les deux,

    Je réponds à deux points avec l'utilisation de Spark puis au traitement sémantique :

    1. Spark est utilisé essentiellement dans un domaine distribuer. Pour cela il faut savoir de quel ordre est ta volumétrie de donnée. Si elle nécessite plusieurs serveurs en parallèle pour un même calcul. D'autres outils permettent de faire le même type de calcul sans passer par un système distribuer qui peut être très complexe à mettre en place.
    2. Pour l'analyse sémantique, il faut définir la langue, mais aussi le type d'information recherché. Pour t'aiguiller tu peux regarder du côté de l'université de Standford avec CoreNLP par exemple. D'autres recherches peuvent être menées sur internet selon ton besoin.


    Au plaisir de te lire,

  9. #9
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Je réponds à ton dernier message que je n'avais pas vu alors que je rédigeais le mien.

    Pour avoir des synonymes, le word2vec est un très bon outil (Algo). Sinon tu as la base wordnet qui doit faire cela aussi (Base).

    Au plaisir,

  10. #10
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Bonjour,

    Spark est utilisé essentiellement dans un domaine distribuer. Pour cela il faut savoir de quel ordre est ta volumétrie de donnée. Si elle nécessite plusieurs serveurs en parallèle pour un même calcul. D'autres outils permettent de faire le même type de calcul sans passer par un système distribuer qui peut être très complexe à mettre en place.
    C'est juste : Spark a été conçu pour tourner sur un ensemble de serveurs.

    C'est donc un système distribué, qui offre aussi une console interactive, qui permet de faire en plus de l'In-Memory (à condition que les serveurs soient bien pourvus en RAM). et qui optimise aussi les temps de traitement car d'une part Spark travaille en Lazy Evaluation en mode interactif, et d'autre part Spark optimise le traitement des données sur les différents serveurs à l'aide d'un Scheduler de type DAG (Directed Acyclic Graph).

    Ca c'est pour la partie infrastructure.

    Maintenant, si l'on veut juste apprendre à manier Spark, et à développer sur Spark, on peut aussi le faire sur un simple PC, en standalone.

    Pas besoin d'un système distribué, il suffit juste d'installer Spark, sachant que Spark s'installe bien sur sur Linux, mais aussi sur Windows.

    Encore une fois, je dis cela pour information, et c'est juste pour apprendre, pas pour faire de la production.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je vous remercie tous les deux pour votre aide.

    1/ Pour la volumétrie utilisé, je suis dans le cadre de travailler avec un volume élevé de données ce qui m'a conduit d'une part à utiliser spark. En outre, spark supporte le calcul itératif et améliore le problème de rapidité et de ressources en utilisant le calcul en mémoire. Ainsi, il utilise le RDD: Resilient Distributed Dataset: qui permet de stocker les données en mémoire et fournit une tolérance aux fautes sans réplication. Spark est aussi facile à programmer puisqu'il peut être codé en java, python, scala..
    D'autre part, Spark intègre des algorithmes de Machine Learning. Donc, cela peut être une solution pour l'utiliser afin d'extraire les synonymes dans mon exemple.

    2/ Après une petite recherche à propos de word2vec que vous m'avez proposé, j'ai trouvé qu'on peut utilisé cet algorithme avec spark. Donc, word2vec: pour extraire les synonymes, spark: pour travailler avec un nombre élevé de données en temps réel.
    Ce lien fournit un exemple d'utilisation de word2vec avec spark:
    http://spark.apache.org/docs/latest/...xtraction.html

    3/ Pour l'installation de spark, je l'ai installé sur linux sur mon pc.
    Ce lien peut être utile pour ceux qui cherche à installer spark:
    http://cedric.cnam.fr/vertigo/Cours/...tallationspark

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 7
    Points
    7
    Par défaut question
    Bonjour
    j'ai une question s'il vous plait je suis actuellement en stage ma mission est d'élargir ou améliorer le filtre de recherche
    l"entreprise recoltes des tweets en temps réel et cette recherche s'effectue par veille (centre d'interet et mots clé )
    exemple si par example je cherche les messages qui parle du démenagement et comme mots clé carton
    les messages ou les tweets que je doit avoir est tout ce qui parle de demenagement pas plus
    quont je lance la rechrche il peut yavoir un message recolté avec le mot clé carton mais qui parle plutout du foot carton rouge ou jaune
    sa il faut pas je doit améliorer le filtre de facon que j'aurais pas se genre d'ambiguité
    et aussi élargir le filtre c'est a dire si je lance une recherche par mots clé et que je ne trouve pas de txeets avec ses mots clé il faut que jutilise les synonymes ou les abreviations ou les mots de la méme famille et aussi les differente faute d'orthographe qui peux exister du mot pour avoir plus de message possible
    quelqu'un peux m'aider s'il vous plait
    metrci fd'avance

  13. #13
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Il aurait fallu créer un nouveau post, de plus il faut faire attention à ton Français, mais pour te répondre il existe un outil qu'on appelle le word2vec qui permet de trouver des mots synonymes dans un corpus. Cet outil fonctionne sur la base de réseau de neurones. Je chercherais de ce côté.

    Bien cordialement,

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par dev_ggy Voir le message
    Bonjour,

    Il aurait fallu créer un nouveau post, de plus il faut faire attention à ton Français, mais pour te répondre il existe un outil qu'on appelle le word2vec qui permet de trouver des mots synonymes dans un corpus. Cet outil fonctionne sur la base de réseau de neurones. Je chercherais de ce côté.

    Bien cordialement,

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Merci de m'avoir répondu
    En entreprise ils m'ont demander de croiser avec un dictionnaire de synonyme en fait les synonyme je doit pas les trouver dans le corpus mais plutôt c'est pour les mots Clé de recherche que je doit faire des synonyme
    Par example si dans les mots Clé y'a le mot j'aime il récupère même les message avec j'adore et aussi faites d'orthographe par exple mémé nadir
    Pour avoir le plus de message pertinent
    S'il vous plait de me proposer des liens si vous en avez
    Cordialement

  16. #16
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bien sûr, ils ont raison, mais ce n'est pas la seule technique.
    Le word2vec identifie des relations entre les mots ce qui permet la désambiguïsation des mots.

    Cordialement,

  17. #17
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 7
    Points
    7
    Par défaut re
    bonjour
    est-il possible d'avoir quelque example ou quelque modele de these ou de memoire ou bien meme quelque references sur ce genre de théme déja réaliser car je dois rédiger un mémoir à la fac et je ne trouve pas grand chose moi
    merci pour votre aide
    cordialement

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Bonjour quelqu' un peux m'aider sur comment créer des cluster de mots selon leurs similarité
    Ces mots je les ai en splitant un corpus je doit grouper ces mots par similaritude puis les comparer à un ensemble de mot clé avec lequel que je possède au départ en récupérant le corpus pour avoir plis de mots pertinent et élargir celui de départ
    s'il vous plait c'est urgent
    Merci de me répondre
    Pleaase

  19. #19
    Membre éprouvé

    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Novembre 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 28
    Points : 999
    Points
    999
    Par défaut tutoriels Spark disponibles
    Citation Envoyé par C.Auclair Voir le message
    Bonjour,

    Je suis entrain de réaliser un mini-projet avec le framework Spark

    L'idée est d'utiliser Spark pour extraire des données bien spécifiques à partir d'un document.

    Je suis débutante dans le domaine et j'aimerais bien avoir quelques recommandations d'algorithmes qui permettent de réaliser cette tâche. J'ai beaucoup cherché dans le net mais je n'ai pas trouvé ce que je cherche exactement.

    Est ce qu'il y a quelqu'un qui peut m'aider pour avoir quelques clarifications pour ce projet ?

    Tous mes remerciements.
    Cordialement.
    Bonjour Clair,

    J'espère que tu vas bien.

    Pour extraire des données spécifiques de Spark, tout dépend de la source des données.
    Si tes données sont en format json par exemple, il te suffira d'utiliser la classe JSON de Spark en utilisant une instruction du genre
    Dataframe.read.format("json"). (l'implémentation spécifique est disponible dans la doc officielle de Spark).

    Si tes données sont stockées dans une BD relationnelle, il te faudra utiliser JDBC ou ODBC Spark t'y connecter et faire nativement du SQL dans Spark (cf module Spark SQL)
    Si tu veux faire une extraction pour des applications de type Machine Learning, statistique (par exemple Naives Bayes), alors je te recommande d'utiliser le module Spark ML pour ton extraction de données.

    J'espère que ma réponse t'éclaircira.

    Juvénal
    Mes cours et tutoriels bases de données et Hadoop : https://juvenal-chokogoue.developpez.com

  20. #20
    Membre éprouvé

    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Novembre 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 28
    Points : 999
    Points
    999
    Par défaut Spark ML est ce qu'il te faut
    Citation Envoyé par souhilasoussou Voir le message
    Bonjour quelqu' un peux m'aider sur comment créer des cluster de mots selon leurs similarité
    Ces mots je les ai en splitant un corpus je doit grouper ces mots par similaritude puis les comparer à un ensemble de mot clé avec lequel que je possède au départ en récupérant le corpus pour avoir plis de mots pertinent et élargir celui de départ
    s'il vous plait c'est urgent
    Merci de me répondre
    Pleaase
    Bonjour Souhilasoussou,

    Pour ton problème, je te recommande d'utiliser le module Spark ML. Voici la documentation officielle :
    https://spark.apache.org/docs/latest/ml-guide.html

    Bon courage,

    Juvénal
    Mes cours et tutoriels bases de données et Hadoop : https://juvenal-chokogoue.developpez.com

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/07/2015, 10h18
  2. [VBA-E] extraire des données à partir d'une autre feuille
    Par zzman dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/01/2007, 13h26
  3. [GML] Scripts shell pour extraire des données d'Oracle
    Par diamonds dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 28/09/2006, 07h04
  4. Réponses: 3
    Dernier message: 05/05/2006, 11h41
  5. Utiliser un parser pour extraire des formules
    Par EpOnYmE187 dans le forum C++
    Réponses: 2
    Dernier message: 15/03/2005, 23h55

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