1661910120
Les implémentations générales d'IA à grande échelle constituent d'excellents éléments de base pour résoudre certains problèmes B2B, et la plupart des organisations les ont déjà ou sont en train de les exploiter. Cependant, le désir d'un retour sur investissement immédiat, la création de prototypes rapides et la fourniture de résultats centrés sur la décision imposent le besoin d'initiatives d'IA spécifiques à un domaine.
Les cas d'utilisation et l'expertise en la matière sont utiles, mais les data scientists et les analystes doivent adapter le cycle de mise en œuvre de l'IA pour résoudre les problèmes qui nécessitent plus de spécificité et de pertinence. Le plus grand obstacle que quiconque rencontrerait lors de la construction de tels modèles d'IA est de trouver des données de qualité et spécifiques à un domaine. Voici quelques bonnes pratiques et techniques d'adaptation de modèles spécifiques à un domaine qui ont fonctionné pour nous à maintes reprises.
Commencez par explorer votre organisation pour découvrir autant d'actifs de données pertinents spécifiques à un domaine que possible. S'il s'agit d'un problème lié directement à votre entreprise et à votre secteur, vous disposez probablement d'actifs de données inexploités que votre mise en œuvre peut exploiter. Dans le cas peu probable où vous vous retrouveriez avec des actifs de données insuffisants, tout espoir n'est pas perdu. Il existe plusieurs stratégies et méthodologies pour aider à créer ou à améliorer des ensembles de données spécifiques, y compris l'apprentissage actif, l'apprentissage par transfert, l'auto-formation pour améliorer la pré-formation et l'augmentation des données. Certains sont détaillés ci-dessous.
L'apprentissage actif est un type d'apprentissage semi-supervisé avec une stratégie de requête pour sélectionner des instances spécifiques à partir desquelles il souhaite apprendre. L'utilisation d'experts du domaine avec un mécanisme humain dans la boucle pour étiqueter ces instances sélectionnées permet d'affiner le processus vers des résultats significatifs dans un délai beaucoup plus rapide. De plus, l'apprentissage actif nécessite de plus petites quantités de données étiquetées, ce qui réduit les coûts d'annotation manuelle tout en atteignant des niveaux de précision plus élevés.
Voici quelques conseils pour vous aider à réaliser un apprentissage actif avec des données limitées :
Cette méthode exploite les connaissances du domaine source pour acquérir de nouvelles connaissances sur le domaine cible. Le concept existe depuis un certain temps, mais ces dernières années, lorsque les gens parlent d'apprentissage par transfert, ils parlent d'un réseau de neurones, peut-être en raison des cas de mise en œuvre réussis là-bas.
En utilisant ImageNet comme exemple, voici quelques leçons apprises :
Cette combinaison offre une méthode potentielle pour tirer le meilleur parti des données étiquetées limitées des tâches en aval. Cela peut également aider à tirer le meilleur parti du grand volume de données non étiquetées facilement disponibles. Voici comment cela fonctionne.
L'augmentation des données comprend un ensemble de techniques peu coûteuses et efficaces pour générer de nouveaux points de données à partir de données existantes. La puce 2 de la section précédente sur l'auto-formation traite également de l'augmentation des données, qui est cruciale pour l'ensemble de l'exercice.
D'autres techniques pour les applications NLP incluent la rétrotraduction, le remplacement de synonymes, l'insertion/permutation/suppression aléatoire, etc. réseau contradictoire génératif).
La détermination de la méthodologie à utiliser dépend de votre cas d'utilisation, de la qualité initiale de l'ensemble de données, de la PME en place et de l'investissement disponible.
Vous constaterez qu'il est nécessaire de continuer à affiner votre IA spécifique à un domaine. Voici quelques leçons que nous avons tirées de nos expériences de personnalisation des implémentations pour répondre à des cas d'utilisation spécifiques.
Canaliser l'IA pour répondre aux besoins et aux défis spécifiques à un domaine nécessite de la discipline tout au long, pas seulement dans l'approche et les ressources. La bonne nouvelle est que les entreprises s'intéressent de plus en plus aux solutions qui répondent à des défis spécifiques et les résolvent, ce qui crée à son tour de meilleures pratiques pour les scientifiques des données et les développeurs d'IA qui cherchent à fournir un retour sur investissement plus rapide pour leurs applications.
Source : https://www.kdnuggets.com
1661910120
Les implémentations générales d'IA à grande échelle constituent d'excellents éléments de base pour résoudre certains problèmes B2B, et la plupart des organisations les ont déjà ou sont en train de les exploiter. Cependant, le désir d'un retour sur investissement immédiat, la création de prototypes rapides et la fourniture de résultats centrés sur la décision imposent le besoin d'initiatives d'IA spécifiques à un domaine.
Les cas d'utilisation et l'expertise en la matière sont utiles, mais les data scientists et les analystes doivent adapter le cycle de mise en œuvre de l'IA pour résoudre les problèmes qui nécessitent plus de spécificité et de pertinence. Le plus grand obstacle que quiconque rencontrerait lors de la construction de tels modèles d'IA est de trouver des données de qualité et spécifiques à un domaine. Voici quelques bonnes pratiques et techniques d'adaptation de modèles spécifiques à un domaine qui ont fonctionné pour nous à maintes reprises.
Commencez par explorer votre organisation pour découvrir autant d'actifs de données pertinents spécifiques à un domaine que possible. S'il s'agit d'un problème lié directement à votre entreprise et à votre secteur, vous disposez probablement d'actifs de données inexploités que votre mise en œuvre peut exploiter. Dans le cas peu probable où vous vous retrouveriez avec des actifs de données insuffisants, tout espoir n'est pas perdu. Il existe plusieurs stratégies et méthodologies pour aider à créer ou à améliorer des ensembles de données spécifiques, y compris l'apprentissage actif, l'apprentissage par transfert, l'auto-formation pour améliorer la pré-formation et l'augmentation des données. Certains sont détaillés ci-dessous.
L'apprentissage actif est un type d'apprentissage semi-supervisé avec une stratégie de requête pour sélectionner des instances spécifiques à partir desquelles il souhaite apprendre. L'utilisation d'experts du domaine avec un mécanisme humain dans la boucle pour étiqueter ces instances sélectionnées permet d'affiner le processus vers des résultats significatifs dans un délai beaucoup plus rapide. De plus, l'apprentissage actif nécessite de plus petites quantités de données étiquetées, ce qui réduit les coûts d'annotation manuelle tout en atteignant des niveaux de précision plus élevés.
Voici quelques conseils pour vous aider à réaliser un apprentissage actif avec des données limitées :
Cette méthode exploite les connaissances du domaine source pour acquérir de nouvelles connaissances sur le domaine cible. Le concept existe depuis un certain temps, mais ces dernières années, lorsque les gens parlent d'apprentissage par transfert, ils parlent d'un réseau de neurones, peut-être en raison des cas de mise en œuvre réussis là-bas.
En utilisant ImageNet comme exemple, voici quelques leçons apprises :
Cette combinaison offre une méthode potentielle pour tirer le meilleur parti des données étiquetées limitées des tâches en aval. Cela peut également aider à tirer le meilleur parti du grand volume de données non étiquetées facilement disponibles. Voici comment cela fonctionne.
L'augmentation des données comprend un ensemble de techniques peu coûteuses et efficaces pour générer de nouveaux points de données à partir de données existantes. La puce 2 de la section précédente sur l'auto-formation traite également de l'augmentation des données, qui est cruciale pour l'ensemble de l'exercice.
D'autres techniques pour les applications NLP incluent la rétrotraduction, le remplacement de synonymes, l'insertion/permutation/suppression aléatoire, etc. réseau contradictoire génératif).
La détermination de la méthodologie à utiliser dépend de votre cas d'utilisation, de la qualité initiale de l'ensemble de données, de la PME en place et de l'investissement disponible.
Vous constaterez qu'il est nécessaire de continuer à affiner votre IA spécifique à un domaine. Voici quelques leçons que nous avons tirées de nos expériences de personnalisation des implémentations pour répondre à des cas d'utilisation spécifiques.
Canaliser l'IA pour répondre aux besoins et aux défis spécifiques à un domaine nécessite de la discipline tout au long, pas seulement dans l'approche et les ressources. La bonne nouvelle est que les entreprises s'intéressent de plus en plus aux solutions qui répondent à des défis spécifiques et les résolvent, ce qui crée à son tour de meilleures pratiques pour les scientifiques des données et les développeurs d'IA qui cherchent à fournir un retour sur investissement plus rapide pour leurs applications.
Source : https://www.kdnuggets.com
1599326160
In the previous article, we declare types and create a function to make and validate the type.
But it will take too much time if we want to create these functions and validators for each model we want to use.
In this article, we are going to use io-ts
library to automate these boring tasks.
The final project is available here:
yarn add io-ts fp-ts
So what is fp-ts
?
fp-ts
is a functional programming utility for typescript and is a peer dependency for io-ts
.
We are not going to talk about functional programming in this article.
We only discuss a little about Either monad.
io-ts
represent our type with something called Codec.
A codec has decode
and encode
functions.
We create and validate our input data with decode
function and put back the data in normal shape using encode
function.
#domain-modeling #typescript #business-logic #domain-driven-design #domain-model
1599329880
In the previous article, we learned how to create self-documented types and models. but they were just types and didn’t have any functionality.
In this article, we are going to write some code that creates and validates those types.
At the end of this article, our types can be used in real-life projects.
The project source code is available here:
First, we need a typescript project. so let’s create it.
yarn init -y
yarn add --dev typescript ts-node
./node_modules/.bin/tsc --init
Then we create our types.
import {CustomTypeError} from "../exception/CustomTypeError";
export type String50 = {
kind: "String50",
value: string,
}
export const makeString50 = (arg: any): String50 => {
if (typeof arg === "string" && arg.length <= 50) {
return {
kind: "String50",
value: arg,
};
}
throw new CustomTypeError("String50", arg);
}
At the top, there is the type declaration. after that, there is the makeString50
function. this function accepts any
argument and tries to create String50
.
It checks if the argument type is a string
and its length is less than 50.
If the argument doesn’t satisfy the rules and constraint it will throw a CustomTypeError
exception.
And here is CustomTypeError
export class CustomTypeError extends Error {
constructor(type: string, value: any) {
super(`invalid value ${JSON.stringify(value)} provided for type ${type}`);
}
}
It is just a simple class for showing errors.
We use it in try catch
blocks to handle our custom type errors.
Let’s continue to define other types.
#domain-driven-design #business-logic #typescript #domain-modeling #domain-model
1599333540
Typescript is a great and powerful tool for type checking but it could bother you if you don’t define your type according to business logic rules.
If your models don’t reflect business logic rules, after some time it will create a gap between what business logic says and how your code behaves.
Let’s explain this with an example.
We need to define a model for storing Person
data. the rules and constraints are:
It seems very reasonable to model the Person
model like this.
type Person = {
firstName: string
lastName: string
email?: string
postalCode?: string
}
BUT there are some problems in this modeling.
firstName
and lastName
are not any string. they could not have any length, they should have a limited length of 50.email
is not any string. it should have some specific shape (has @ character and domain name in it)postalCode
is not any string. it should contain 10 digits.how could we put these rules into our model?
#domain-modeling #business-logic #domain-model #domain-driven-design #typescript
1657272480
Qu'il s'agisse de Twitter, de Goodreads ou d'Amazon, il n'y a guère d'espace numérique qui ne soit pas saturé d'opinions. Dans le monde d'aujourd'hui, il est crucial pour les organisations d'approfondir ces opinions et d'obtenir des informations sur leurs produits ou services. Cependant, ces données existent en quantités si étonnantes que les évaluer manuellement est une poursuite presque impossible. C'est là qu'intervient une autre aubaine de la science des données : l' analyse des sentiments . Dans cet article, nous allons explorer ce qu'englobe l'analyse des sentiments et les différentes façons de l'implémenter en Python.
L'analyse des sentiments est un cas d'utilisation du traitement du langage naturel (TLN) et relève de la catégorie de la classification de texte . Pour le dire simplement, l'analyse des sentiments consiste à classer un texte en différents sentiments, tels que positif ou négatif, heureux, triste ou neutre, etc. Ainsi, le but ultime de l'analyse des sentiments est de déchiffrer l'humeur, l'émotion ou le sentiment sous-jacent d'un texte. Ceci est également connu sous le nom d' Opinion Mining .
Voyons comment une recherche rapide sur Google définit l'analyse des sentiments :
Eh bien, maintenant, je suppose que nous sommes quelque peu habitués à ce qu'est l'analyse des sentiments. Mais quelle est sa signification et comment les organisations en bénéficient-elles ? Essayons d'explorer la même chose avec un exemple. Supposons que vous démarriez une entreprise qui vend des parfums sur une plateforme en ligne. Vous proposez une large gamme de parfums et bientôt les clients commencent à affluer. Après un certain temps, vous décidez de changer la stratégie de prix des parfums - vous envisagez d'augmenter les prix des parfums populaires et en même temps d'offrir des remises sur les parfums impopulaires. . Maintenant, afin de déterminer quels parfums sont populaires, vous commencez à parcourir les avis des clients sur tous les parfums. Mais tu es coincé ! Ils sont tellement nombreux que vous ne pouvez pas tous les parcourir en une seule vie. C'est là que l'analyse des sentiments peut vous sortir de l'impasse.
Vous rassemblez simplement tous les avis en un seul endroit et y appliquez une analyse des sentiments. Ce qui suit est une représentation schématique de l'analyse des sentiments sur les critiques de trois parfums de parfums - Lavande, Rose et Citron. (Veuillez noter que ces avis peuvent avoir des fautes d'orthographe, de grammaire et de ponctuation, comme dans les scénarios du monde réel)
A partir de ces résultats, nous pouvons clairement voir que :
Fragrance-1 (Lavande) a des critiques très positives de la part des clients, ce qui indique que votre entreprise peut augmenter ses prix compte tenu de sa popularité.
Il se trouve que Fragrance-2 (Rose) a une vision neutre parmi le client, ce qui signifie que votre entreprise ne doit pas modifier ses prix .
Fragrance-3 (Citron) a un sentiment global négatif qui lui est associé - votre entreprise devrait donc envisager d'offrir une remise pour équilibrer la balance.
Ce n'était qu'un exemple simple de la façon dont l'analyse des sentiments peut vous aider à mieux comprendre vos produits/services et aider votre organisation à prendre des décisions.
Nous venons de voir comment l'analyse des sentiments peut donner aux organisations des informations qui peuvent les aider à prendre des décisions basées sur les données. Examinons maintenant d'autres cas d'utilisation de l'analyse des sentiments.
Python est l'un des outils les plus puissants lorsqu'il s'agit d'effectuer des tâches de science des données - il offre une multitude de façons d'effectuer une analyse des sentiments . Les plus populaires sont enrôlés ici:
Plongeons-les profondément un par un.
Remarque : Aux fins des démonstrations des méthodes 3 et 4 (utilisation de modèles basés sur la vectorisation de sacs de mots et utilisation de modèles basés sur LSTM) , l'analyse des sentiments a été utilisée. Il comprend plus de 5000 extraits de texte étiquetés comme positifs, négatifs ou neutres. Le jeu de données est sous licence Creative Commons.
Text Blob est une bibliothèque Python pour le traitement du langage naturel. L'utilisation de Text Blob pour l'analyse des sentiments est assez simple. Il prend le texte en entrée et peut renvoyer la polarité et la subjectivité en sortie.
La polarité détermine le sentiment du texte. Ses valeurs se situent dans [-1,1] où -1 dénote un sentiment très négatif et 1 dénote un sentiment très positif.
La subjectivité détermine si une entrée de texte est une information factuelle ou une opinion personnelle. Sa valeur est comprise entre [0,1] où une valeur plus proche de 0 dénote une information factuelle et une valeur plus proche de 1 dénote une opinion personnelle.
Mise en place :
pip install textblob
Importer un blob de texte :
from textblob import TextBlob
Implémentation de code pour l'analyse des sentiments à l'aide de Text Blob :
L'écriture de code pour l'analyse des sentiments à l'aide de TextBlob est assez simple. Importez simplement l'objet TextBlob et transmettez le texte à analyser avec les attributs appropriés comme suit :
from textblob import TextBlob
text_1 = "The movie was so awesome."
text_2 = "The food here tastes terrible."#Determining the Polarity
p_1 = TextBlob(text_1).sentiment.polarity
p_2 = TextBlob(text_2).sentiment.polarity#Determining the Subjectivity
s_1 = TextBlob(text_1).sentiment.subjectivity
s_2 = TextBlob(text_2).sentiment.subjectivityprint("Polarity of Text 1 is", p_1)
print("Polarity of Text 2 is", p_2)
print("Subjectivity of Text 1 is", s_1)
print("Subjectivity of Text 2 is", s_2)
Production:
Polarity of Text 1 is 1.0
Polarity of Text 2 is -1.0
Subjectivity of Text 1 is 1.0
Subjectivity of Text 2 is 1.0
VADER (Valence Aware Dictionary and sEntiment Reasoner) est un analyseur de sentiments basé sur des règles qui a été formé sur le texte des médias sociaux. Tout comme Text Blob, son utilisation en Python est assez simple. Nous verrons son utilisation dans l'implémentation du code avec un exemple dans un moment.
Installation:
pip install vaderSentiment
Importation de la classe SentimentIntensityAnalyzer depuis Vader :
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
Code pour l'analyse des sentiments à l'aide de Vader :
Tout d'abord, nous devons créer un objet de la classe SentimentIntensityAnalyzer ; alors nous devons passer le texte à la fonction polarity_scores() de l'objet comme suit :
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
sentiment = SentimentIntensityAnalyzer()
text_1 = "The book was a perfect balance between wrtiting style and plot."
text_2 = "The pizza tastes terrible."
sent_1 = sentiment.polarity_scores(text_1)
sent_2 = sentiment.polarity_scores(text_2)
print("Sentiment of text 1:", sent_1)
print("Sentiment of text 2:", sent_2)
Sortie :
Sentiment of text 1: {'neg': 0.0, 'neu': 0.73, 'pos': 0.27, 'compound': 0.5719}
Sentiment of text 2: {'neg': 0.508, 'neu': 0.492, 'pos': 0.0, 'compound': -0.4767}
Comme nous pouvons le voir, un objet VaderSentiment renvoie un dictionnaire de scores de sentiment pour le texte à analyser.
Dans les deux approches discutées jusqu'à présent, c'est-à-dire Text Blob et Vader, nous avons simplement utilisé des bibliothèques Python pour effectuer une analyse des sentiments. Nous allons maintenant discuter d'une approche dans laquelle nous formerons notre propre modèle pour la tâche. Les étapes impliquées dans l'analyse des sentiments à l'aide de la méthode de vectorisation du sac de mots sont les suivantes :
Code pour l'analyse des sentiments à l'aide de l'approche de vectorisation du sac de mots :
Pour créer un modèle d'analyse des sentiments à l'aide de l'approche de vectorisation BOW, nous avons besoin d'un ensemble de données étiqueté. Comme indiqué précédemment, l'ensemble de données utilisé pour cette démonstration a été obtenu auprès de Kaggle. Nous avons simplement utilisé le vectoriseur de comptage de sklearn pour créer le BOW. Ensuite, nous avons formé un classificateur Multinomial Naive Bayes, pour lequel un score de précision de 0,84 a été obtenu.
L'ensemble de données peut être obtenu à partir d' ici .
#Loading the Dataset
import pandas as pd
data = pd.read_csv('Finance_data.csv')
#Pre-Prcoessing and Bag of Word Vectorization using Count Vectorizer
from sklearn.feature_extraction.text import CountVectorizer
from nltk.tokenize import RegexpTokenizer
token = RegexpTokenizer(r'[a-zA-Z0-9]+')
cv = CountVectorizer(stop_words='english',ngram_range = (1,1),tokenizer = token.tokenize)
text_counts = cv.fit_transform(data['sentences'])
#Splitting the data into trainig and testing
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(text_counts, data['feedback'], test_size=0.25, random_state=5)
#Training the model
from sklearn.naive_bayes import MultinomialNB
MNB = MultinomialNB()
MNB.fit(X_train, Y_train)
#Caluclating the accuracy score of the model
from sklearn import metrics
predicted = MNB.predict(X_test)
accuracy_score = metrics.accuracy_score(predicted, Y_test)
print("Accuracuy Score: ",accuracy_score)
Sortie :
Accuracuy Score: 0.9111675126903553
Le classificateur formé peut être utilisé pour prédire le sentiment de n'importe quelle entrée de texte donnée.
Bien que nous ayons pu obtenir un score de précision décent avec la méthode de vectorisation du sac de mots, il se peut qu'elle ne donne pas les mêmes résultats lorsqu'il s'agit d'ensembles de données plus volumineux. Cela donne lieu à la nécessité d'utiliser des modèles basés sur l'apprentissage en profondeur pour la formation du modèle d'analyse des sentiments.
Pour les tâches NLP, nous utilisons généralement des modèles basés sur RNN car ils sont conçus pour traiter des données séquentielles. Ici, nous allons former un modèle LSTM (Long Short Term Memory) en utilisant TensorFlow avec Keras . Les étapes pour effectuer une analyse des sentiments à l'aide de modèles basés sur LSTM sont les suivantes :
Code pour l'analyse des sentiments à l'aide d'une approche de modèle basée sur LSTM :
Ici, nous avons utilisé le même jeu de données que celui que nous avons utilisé dans le cas de l'approche BOW. Une précision d'entraînement de 0,90 a été obtenue.
#Importing necessary libraries
import nltk
import pandas as pd
from textblob import Word
from nltk.corpus import stopwords
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import classification_report,confusion_matrix,accuracy_score
from keras.models import Sequential
from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences
from keras.layers import Dense, Embedding, LSTM, SpatialDropout1D
from sklearn.model_selection import train_test_split
#Loading the dataset
data = pd.read_csv('Finance_data.csv')
#Pre-Processing the text
def cleaning(df, stop_words):
df['sentences'] = df['sentences'].apply(lambda x: ' '.join(x.lower() for x in x.split()))
# Replacing the digits/numbers
df['sentences'] = df['sentences'].str.replace('d', '')
# Removing stop words
df['sentences'] = df['sentences'].apply(lambda x: ' '.join(x for x in x.split() if x not in stop_words))
# Lemmatization
df['sentences'] = df['sentences'].apply(lambda x: ' '.join([Word(x).lemmatize() for x in x.split()]))
return df
stop_words = stopwords.words('english')
data_cleaned = cleaning(data, stop_words)
#Generating Embeddings using tokenizer
tokenizer = Tokenizer(num_words=500, split=' ')
tokenizer.fit_on_texts(data_cleaned['verified_reviews'].values)
X = tokenizer.texts_to_sequences(data_cleaned['verified_reviews'].values)
X = pad_sequences(X)
#Model Building
model = Sequential()
model.add(Embedding(500, 120, input_length = X.shape[1]))
model.add(SpatialDropout1D(0.4))
model.add(LSTM(704, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(352, activation='LeakyReLU'))
model.add(Dense(3, activation='softmax'))
model.compile(loss = 'categorical_crossentropy', optimizer='adam', metrics = ['accuracy'])
print(model.summary())
#Model Training
model.fit(X_train, y_train, epochs = 20, batch_size=32, verbose =1)
#Model Testing
model.evaluate(X_test,y_test)
Les modèles basés sur les transformateurs sont l'une des techniques de traitement du langage naturel les plus avancées. Ils suivent une architecture basée sur l'encodeur-décodeur et utilisent les concepts d'auto-attention pour donner des résultats impressionnants. Bien que l'on puisse toujours construire un modèle de transformateur à partir de zéro, c'est une tâche assez fastidieuse. Ainsi, nous pouvons utiliser des modèles de transformateurs pré-formés disponibles sur Hugging Face . Hugging Face est une communauté d'IA open source qui propose une multitude de modèles pré-formés pour les applications NLP. Ces modèles peuvent être utilisés tels quels ou être affinés pour des tâches spécifiques.
Installation:
pip install transformers
Importation de la classe SentimentIntensityAnalyzer depuis Vader :
import transformers
Code pour l'analyse des sentiments à l'aide de modèles basés sur Transformer :
Pour effectuer une tâche à l'aide de transformateurs, nous devons d'abord importer la fonction de pipeline à partir des transformateurs. Ensuite, un objet de la fonction pipeline est créé et la tâche à effectuer est passée en argument (c'est-à-dire l'analyse des sentiments dans notre cas). Nous pouvons également spécifier le modèle que nous devons utiliser pour effectuer la tâche. Ici, puisque nous n'avons pas mentionné le modèle à utiliser, le mode distillery-base-uncased-finetuned-sst-2-English est utilisé par défaut pour l'analyse des sentiments. Vous pouvez consulter la liste des tâches et des modèles disponibles ici .
from transformers import pipeline
sentiment_pipeline = pipeline("sentiment-analysis")
data = ["It was the best of times.", "t was the worst of times."]
sentiment_pipeline(data)Output:[{'label': 'POSITIVE', 'score': 0.999457061290741}, {'label': 'NEGATIVE', 'score': 0.9987301230430603}]
À cette époque où les utilisateurs peuvent exprimer leurs points de vue sans effort et où les données sont générées en superflu en quelques fractions de secondes seulement - tirer des enseignements de ces données est vital pour que les organisations prennent des décisions efficaces - et l'analyse des sentiments s'avère être la pièce manquante du puzzle !
Nous avons maintenant couvert en détail ce qu'implique exactement l'analyse des sentiments et les différentes méthodes que l'on peut utiliser pour l'exécuter en Python. Mais ce n'étaient que quelques démonstrations rudimentaires - vous devez sûrement aller de l'avant et jouer avec les modèles et les essayer sur vos propres données.
Source : https://www.analyticsvidhya.com/blog/2022/07/sentiment-analysis-using-python/