B1 · Episode 34 · 4:33
Julien, data scientist (3): NLP and user behavior analysis
Uses sentiment analysis as an example to show how basic NLP techniques analyze user comments, uncover hidden behavioral patterns, and enable user segmentation.
Source:Qu'est-ce que Tu GEEKes ? · License:CC BY-SA 4.0
Transcript
L'aspect data analyst va rester là, parce que ça reste une partie importante de mon
The data analyst aspect will remain there, because it remains an important part of my
poste, mais mon but est aussi d'ajouter une notion de valeur avec des outils en
role, but my goal is also to add a notion of value with additional tools,
plus, des visions en plus sur la donnée.
and additional perspectives on the data.
Par exemple, si tu t'intéresses aux commentaires de tes utilisateurs.
For example, if you're interested in your users' comments.
C'est ce genre de choses qui m'intéresse en ce moment, donc c'est du NLP assez
This kind of thing is what interests me right now, so it's fairly basic
basique. Donc comme je vous disais, c'est l'analyse du langage avec le machine
NLP. So as I mentioned earlier, it's language analysis with machine
learning. Donc par exemple, on a ce qu'on appelle l'analyse de sentiment.
learning. So for example, we have what's called sentiment analysis.
Ça va être par exemple quand quelqu'un met un commentaire sur un produit,
For example, when someone posts a comment on a product,
avoir un algo qui est capable de dire ce commentaire, il est négatif,
having an algorithm capable of determining whether that comment is negative,
il est positif, ou c'est juste une blague, ou c'est un troll,
positive, or just a joke, or trolling,
juste en analysant les mots utilisés dans le texte, en fait.
simply by analyzing the words used in the text, in fact.
Parfois, on va avoir des comportements qui vont surgir qu'on n'aurait pas vu avec
Sometimes, behaviors will emerge that we wouldn't have noticed with
simplement l'humain en regardant les trucs, qu'on va prendre des gros tas de
just humans looking at things—by processing huge amounts of
données, dire ok, en fait, on vient de se rendre compte que là,
data, saying okay, actually, we've just realized that here,
on a des utilisateurs qui veulent tel type de contenu spécifique.
we have users who want a specific type of content.
Là, on a des utilisateurs qui sont jamais contents.
There, we have users who are never satisfied.
Là, on a, vous voyez ce que je veux dire, on peut arriver à partir de ça à créer des
There, we have, you see what I mean, we can start from this to create
groupes d'utilisateurs et à mieux comprendre en fait avec qui on travaille,
groups of users and better understand, in fact, who we work with,
en fait, qui sont nos clients et qu'est- ce qu'ils veulent, qu'est- ce qu'ils
in fact, who our customers are and what they want, what they
cherchent. Ça peut permettre de dire ok, voilà, je m'en rends compte que le client
are looking for. This can help us realize, okay, I realize that the customer
qui va sur le site, il cherche, il
who goes on the site is looking for, he
y a un énorme tas de gens qui cherchent ça.
there’s a huge number of people looking for this.
Ils arrivent chez nous, ils cherchent ça, ils ne le trouvent pas.
They come to us, they look for this, but they don’t find it.
Alors du coup ça pose des questions.
So this raises questions.
Pourquoi ils arrivent chez nous?
Why do they come to us?
Pourquoi ils arrivent chez nous?
Why do they come to us?
Et si ils sont arrivés chez nous pour trouver ce truc- là, pourquoi ils le trouvent
And if they came to us to find that thing, why don’t they find it?
pas? Donc est- ce qu'il faut mieux les guider?
So do we need to guide them better?
Est- ce qu'il faut leur donner ce qu'ils veulent?
Do we need to give them what they want?
Est- ce que ou est- ce qu'il y a un problème dans comment ils ont exprimé ce qu'ils
Or is there a problem in how they expressed what they
cherchaient? D'accord.
were looking for? Okay.
Tu as évoqué deux termes, machine learning et deep learning.
You mentioned two terms: machine learning and deep learning.
Tu pourrais les définir un petit peu, sans rentrer forcément trop dans les détails?
Could you define them a bit, without necessarily going too deeply into the details?
Alors on va en effet rester assez sur la surface, parce que ça peut vite devenir un
So we’ll indeed stay fairly on the surface, because it can quickly become a
trou sans fond, mais en gros dans le machine learning, tu as quand même quelque
bottomless pit, but roughly speaking, in machine learning, you still have something
chose d'un peu plus sous contrôle, c'est- à- dire que le machine learning,
a bit more under control—that is, with machine learning,
tu vas un peu expliquer ce que tu attends de lui à ton algo.
you’ll somewhat explain to your algorithm what you expect from it.
Le deep learning, là tu arrives sur des réseaux de neurones,
With deep learning, you enter the realm of neural networks,
c'est- à- dire qu'en gros tu vas avoir
meaning that, essentially, you’ll face
une série de choix qui vont être faits,
a series of choices that will be made,
jusqu'à arriver avec un résultat qui te sera donné à la fin.
until arriving at a result that will be delivered to you at the end.
J'ai un peu la sensation que j'ai dit des bêtises, ou en tout cas que j'ai été très
I have a slight feeling I said something foolish—or at least was very
imprécis. Donc la réponse à ça, c'est que dans le machine learning,
imprecise. So the answer to this is that, in machine learning,
on sélectionne des variables importantes pour la prédiction.
we select variables important for prediction.
Le choix, ça provient d'un être humain, et le travail de prétraitement,
This selection comes from a human, and the preprocessing work,
eh bien il est très présent, et c'est une des principales activités,
Well, it's very prevalent, and it's one of the main activities,
même j'ai envie de dire pratiquement, du data scientist à ce moment- là.
even I'd say practically, the data scientist's main activity at that time.
Dans le cas des algos de deep learning, on va s'affranchir en partie de ce
In the case of deep learning algorithms, we'll partly dispense with this
prétraitement, car c'est eux qui vont choisir, alors je dis choisir avec des
preprocessing, because they'll select—which I put in quotes as 'select', because
guillemets, parce que.
because.
Voilà, c'est pas un cerveau, c'est pas un être humain, mais qui vont choisir quelles
There you go—it's not a brain, not a human being, but it will select
sont les variables pertinentes pour faire les prédictions.
which variables are relevant for making predictions.
Ça, ça permet de travailler avec des données qui sont très différentes,
This allows working with very different kinds of data,
comme par exemple les images ou le texte.
such as images or text.
Par contre, ça vient avec un coût, c'est que ces algo, ils sont beaucoup plus
However, this comes at a cost: these algorithms are much deeper, requiring far more data and significantly more
profonds, ils demandent beaucoup plus de données et bien plus de puissance de
deeper, requiring much more data and significantly more
calcul. Par exemple, un problème fondamental, je vais un petit peu essayer de vous
For example, a fundamental problem—I'll try to give you a sense of it—is overfitting.
faire sentir la chose, c'est le surapprentissage.
give you a sense of this issue, which is overfitting.
Dans le surapprentissage,
In overfitting,
c'est quand on manque de données, on prend le risque de faire un modèle qui donne de
when we lack data, we risk building a model that performs well on the training set but generalizes poorly.
très bons résultats, mais seulement pour l'échantillon spécifique qu'on a utilisé.
very good results, but only for the specific sample we used.
C'est- à- dire qu'il ne sera pas généralisable et que si on tente d'appliquer ce
That is, it will not be generalizable and if we attempt to apply this
même modèle à des données réelles du vrai monde, ça va donner des résultats
same model to real-world real data, it will yield
complètement faux.
completely wrong results.
En deep learning, ce problème, eh bien, il va surgir beaucoup plus tôt parce qu'on a
In deep learning, this problem will arise much earlier because we
besoin de beaucoup plus de données pour éviter ça.
need much more data to avoid this.
Par contre, en contrepartie, on s'attaque à des problèmes qui sont beaucoup plus
On the other hand, we tackle problems that are far more complex and things
complexes et des choses qui ne sont pas faisables avec du machine learning typique.
that are not feasible with typical machine learning.
Il faut bien sûr, alors je rappelle quand même une chose, c'est que le deep
Of course, let me reiterate one point: deep
learning, c'est un cas spécifique de machine learning.
learning is a specific case of machine learning.
Donc c'est un sous- groupe, donc il faut aussi garder ça en tête.
So it is a subset, and this must also be kept in mind.
Mais donc le deep learning permet d'aller plus loin, permet de travailler sur des
Therefore, deep learning enables us to go further, to work on different types of
données différentes.
data.
Le coût par contre qui va avec, c'est qu'il faut être capable d'avoir beaucoup plus
The cost, however, is that we need much more data and much more
de données et beaucoup plus de puissance de calcul.
more data and much more computing power.
Très bien, je reviens un peu du coup sur ton métier, est- ce que tu peux nous dire.
Very well, then I’ll circle back a bit to your profession—could you tell us.
Aujourd'hui, dans le métier que tu exerces, quelle est la partie qui te plaît le
Today, in the profession you practice, which part do you like the most?
plus? Alors déjà, il y a un truc global, alors ça c'est peut- être pas que mon
First, there’s something global—this may not be unique to my
métier, mais que j'aime bien, c'est le côté d'apprendre des nouvelles choses.
profession, but that I really like: the aspect of learning new things.
Alors ça c'est le côté docteur qui est encore là, mais ce que j'aime bien,
That’s the doctor side still present, but what I like is that
c'est qu'en data science, tu dois quand même beaucoup te mettre à niveau,
in data science, you still need to constantly upgrade yourself,
parce que c'est un domaine qui est très très très sur la pointe,
because it’s a field that’s extremely, extremely, extremely cutting-edge,
tu es obligé de te tenir au courant de ce qui se passe.
you’re obliged to keep up with what’s happening.
Et notamment, voilà, me dire, ok, est- ce qu'il y a un algo pour
Specifically, for instance, asking myself: okay, is there an algorithm that can
faire ça? Est- ce qu'il y a une librairie qui permet de le faire encore mieux?
do this? Is there a library that enables doing it even better?
Est- ce que ça, ça a bien implémenté?
Is this well-implemented?
Est- ce que ça, ça s'applique vraiment mon problème?
Does this truly apply to my problem?
Si c'est pas le cas, est- ce que je mélange plusieurs algos différents pour les
If not, should I combine several different algorithms to
faire fonctionner?
make them work together?
Donc toutes ces questions, et après apprendre plein d'algos comme ça,
So all these questions—and then learning lots of such algorithms,
il y a un côté de recherche derrière, toujours se demander comment on va résoudre le
there's a research-oriented side behind it, always wondering how to solve the
problème. Ok.
problem. OK.