Modélisation de sujets dans Power BI à l’aide de PyCaret

Modélisation de sujets dans Power BI à l’aide de PyCaret

Moez Ali
Tableau de bord NLP dans Power BI

Dans notre dernier article, nous avons montré comment implémenter l’analyse de clustering dans Power BI en l’intégrant à PyCaret, permettant ainsi aux analystes et aux scientifiques de données d’ajouter une couche de machine learning à leurs rapports et tableaux de bord sans frais de licence supplémentaires.

Dans cet article, nous verrons comment implémenter la modélisation de rubrique dans Power BI à l’aide de PyCaret. Si vous n’avez jamais entendu parler de PyCaret auparavant, veuillez lire cette annonce pour en savoir plus.

  • Qu’est-ce que le traitement du langage naturel?

Si vous avez déjà utilisé Python, il est probable que Anaconda Distribution soit déjà installé sur votre ordinateur. Si non, cliquez ici pour télécharger Anaconda Distribution avec Python 3.7 ou supérieur.

https://www.anaconda.com/products/individual

Avant de commencer à utiliser les capacités d’apprentissage automatique de PyCaret dans Power BI, nous devons créer un environnement virtuel et installer pycaret. C’est un processus en quatre étapes:

Étape 1 – Créer un environnement anaconda

Ouvert Anaconda Prompt à partir du menu Démarrer et exécutez le code suivant:

conda create --name powerbi python=3.7

«Powerbi» est le nom de l’environnement que nous avons choisi. Vous pouvez conserver le nom que vous souhaitez.

Étape 2 – Installez PyCaret

Exécutez le code suivant dans Anaconda Prompt:

pip install pycaret

L’installation peut prendre de 15 à 20 minutes. Si vous rencontrez des problèmes d’installation, veuillez consulter notre GitHub page pour les problèmes connus et les résolutions.

Étape 3 – Définir le répertoire Python dans Power BI

L’environnement virtuel créé doit être lié à Power BI. Cela peut être fait en utilisant les paramètres globaux dans Power BI Desktop (Fichier → Options → Global → Scripting Python). Anaconda Environment par défaut est installé sous:

C: Utilisateurs Nom d’utilisateur Anaconda3 envs

Fichier → Options → Global → Scripting Python

Étape 4 – Installer le modèle de langue

Pour effectuer des tâches PNL, vous devez télécharger le modèle de langage en exécutant le code suivant dans votre invite Anaconda.

Activez d’abord votre environnement de conda dans Anaconda Prompt:

conda activate powerbi

Téléchargez le modèle en anglais:

python -m spacy download en_core_web_sm
python -m textblob.download_corpora
python -m spacy télécharger en_core_web_sm
python -m textblob.download_corpora

Le traitement du langage naturel (PNL) est un sous-domaine de l’informatique et de l’intelligence artificielle qui s’intéresse aux interactions entre les ordinateurs et les langues humaines. En particulier, la PNL couvre un large éventail de techniques sur la façon de programmer des ordinateurs pour traiter et analyser de grandes quantités de données en langage naturel.

Un logiciel propulsé par la PNL nous aide dans notre vie quotidienne de différentes manières et il est probable que vous l’utilisiez sans même le savoir. Quelques exemples sont:

  • Assistants personnels: Siri, Cortana, Alexa.
La source: https://clevertap.com/blog/natural-language-processing

La modélisation de sujet est un type de modèle statistique utilisé pour découvrir des sujets abstraits dans des données de texte. C’est l’une des nombreuses applications pratiques de la PNL.

Un modèle de sujet est un type de modèle statistique qui relève de l’apprentissage automatique non supervisé et est utilisé pour découvrir des sujets abstraits dans des données texte. L’objectif de la modélisation de sujet est de trouver automatiquement les sujets / thèmes dans un ensemble de documents.

Voici quelques cas d’utilisation courants pour la modélisation de sujets:

  • Résumer de grandes données textuelles en classant les documents en thèmes (l’idée est assez similaire au clustering).

Il existe plusieurs algorithmes utilisés pour la modélisation de sujets. Quelques-uns courants sont l’allocation de Dirichlet latente (LDA), l’analyse sémantique latente (LSA) et la factorisation matricielle non négative (NMF). Chaque algorithme a ses propres détails mathématiques qui ne seront pas traités dans ce tutoriel. Nous implémenterons un modèle d’allocation de Dirichlet latente (LDA) dans Power BI à l’aide du module NLP de PyCaret.

Si vous souhaitez apprendre les détails techniques de l’algorithme LDA, vous pouvez lire ce papier.

La source : https://springerplus.springeropen.com/articles/10.1186/s40064-016-3252-8

Afin d’obtenir des résultats significatifs à partir de la modélisation du sujet, les données de texte doivent être traitées avant de les alimenter à l’algorithme. Ceci est commun à presque toutes les tâches PNL. Le prétraitement du texte est différent des techniques de prétraitement classiques souvent utilisées dans l’apprentissage automatique lors du traitement de données structurées (données en lignes et colonnes).

PyCaret prétraite automatiquement les données de texte en appliquant plus de 15 techniques telles que arrêter la suppression des mots, tokenisation, lemmatisation, extraction bi-gramme / tri-gramme, etc.. Si vous souhaitez en savoir plus sur toutes les fonctionnalités de prétraitement de texte disponibles dans PyCaret, cliquez ici.

Kiva est une organisation internationale à but non lucratif fondée en 2005 à San Francisco. Sa mission est d’élargir l’accès financier aux communautés mal desservies afin de les aider à prospérer.

La source: https://www.kiva.org/about

Dans ce didacticiel, nous utiliserons l’ensemble de données ouvertes de Kiva qui contient des informations sur les prêts concernant 6 818 demandeurs de prêts approuvés. L’ensemble de données comprend des informations telles que le montant du prêt, le pays, le sexe et certaines données textuelles qui constituent la demande soumise par l’emprunteur.

Exemples de points de données

Notre objectif est d’analyser les données textuelles dans le ‘en»Pour rechercher des sujets abstraits, puis les utiliser pour évaluer l’effet de certains sujets (ou de certains types de prêts) sur le taux de défaut.

Maintenant que vous avez configuré l’environnement Anaconda, que vous comprenez la modélisation des sujets et que vous disposez du contexte commercial pour ce didacticiel, commençons.

La première étape consiste à importer l’ensemble de données dans Power BI Desktop. Vous pouvez charger les données à l’aide d’un connecteur Web. (Power BI Desktop → Get Data → From Web).

Power BI Desktop → Obtenir des données → Autre → Web

Lien vers le fichier csv:
https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/kiva.csv

Pour former un modèle de sujet dans Power BI, nous devrons exécuter un script Python dans Power Query Editor (Power Query Editor → Transform → Run python script). Exécutez le code suivant en tant que script Python:

from pycaret.nlp import *
dataset = get_topics(dataset, text='en')
Éditeur de requête Power (Transformation → Exécuter le script python)

PyCaret propose 5 modèles de sujet prêts à l’emploi.

Par défaut, PyCaret forme un Allocation Dirichlet Latente (LDA) modèle avec 4 sujets. Les valeurs par défaut peuvent être modifiées facilement:

  • Pour modifier le type de modèle, utilisez modèle paramètre dans get_topics ().

Voir l’exemple de code pour un Factorisation matricielle non négative modèle avec 6 sujets.

from pycaret.nlp import *
dataset = get_topics(dataset, text='en', model='nmf', num_topics=6)

Production:

Résultats de la modélisation des sujets (après l’exécution du code Python)
Sortie finale (après avoir cliqué sur le tableau)

De nouvelles colonnes contenant des pondérations de rubrique sont attachées à l’ensemble de données d’origine. Voici à quoi ressemble la sortie finale dans Power BI une fois que vous avez appliqué la requête.

Résultats dans Power BI Desktop (après application de la requête)

Une fois que vous avez des pondérations de rubrique dans Power BI, voici un exemple de la façon dont vous pouvez les visualiser dans le tableau de bord pour générer des informations:

Page récapitulative du tableau de bord
Page de détails du tableau de bord

Vous pouvez télécharger le fichier PBIX et l’ensemble de données depuis notre GitHub.

Si vous souhaitez en savoir plus sur la mise en œuvre de la modélisation de sujets dans le bloc-notes Jupyter à l’aide de PyCaret, regardez ce didacticiel vidéo de 2 minutes:

Modélisation de sujets dans Jupyter Notebook à l’aide de PyCaret

Si vous souhaitez en savoir plus sur la modélisation de sujets, vous pouvez également consulter notre PNL 101 Tutoriel pour ordinateur portable pour les débutants.