Este artigo foi publicado como parte do Data Science Blogathon.
O que é análise de sentimento?
O início e o rápido desenvolvimento do campo coincidem com os da mídia baseada na web na web, por exemplo, enquetes, compilação de conversas, revistas da web, microblogs, Twitter e organizações interpessoais, Porque, sem precedentes na história humana, temos um volume colossal de informações teimosas registradas em estruturas avançadas. Desde meados 2000, a investigação de suposições tornou-se um dos territórios de exame mais dinâmicos na preparação da linguagem comum.
além do que, além do mais, é amplamente considerado na mineração de informações, mineração da web e mineração de texto. A dizer a verdade, se espalhou da engenharia de software às ciências executivas e sociologias devido à sua importância para os negócios e a sociedade em geral. Nos últimos tempos, exercícios modernos envolvendo o exame de sentimentos também floresceram. Várias novas empresas surgiram. Muitas grandes empresas criaram seus próprios recursos internos.
Estruturas de exame de suposição encontraram suas aplicações em praticamente todos os espaços comerciais e sociais. Análise de sentimentos, também chamado de mineração de opinião, é o campo de estudo que analisa opiniões, sentimentos, avaliações, avaliações, atitudes e emoções das pessoas em relação às entidades como produtos, Serviços, organizações, indivíduos, problemas, eventos, temas e seus atributos. Representa um grande espaço de problema.
Existem também muitos nomes e tarefas ligeiramente diferentes, por exemplo, análise de sentimentos, mineração de opinião, extração de opinião, mineração de sentimento, análise de subjetividade, análise de efeitos, análise de emoção, mineração de opinião, etc.
Análise de sentimento em Python
Existem muitos pacotes disponíveis em Python que usam métodos diferentes para realizar análises de sentimento.. No próximo artigo, veremos alguns dos métodos e pacotes mais populares:
1. Textblob
2. VADER
→ Bloco de texto:
Textblob O analisador de sentimento retorna duas propriedades para uma determinada frase de entrada:
- Polaridade é uma flutuação que fica entre [-1,1], -1 indica sentimento negativo e +1 indica sentimentos positivos.
- A subjetividade também é uma flutuação que está na faixa de [0,1]. Frases subjetivas geralmente se referem a opiniões, emoções ou julgamentos.
Vamos ver como usar o Textblob:
a partir de textblob importar TextBlob
test = TextBlob("O filme foi incrível!")
imprimir(test.sentiment)

Textblob irá ignorar palavras desconhecidas, considere as palavras e expressões para as quais você pode distribuir os extremos e os pontos médios para obter a última pontuação.
→ VADER:
Use uma lista de características lexicais (por exemplo, uma palavra) que são rotulados como positivos ou negativos com base em sua orientação semântica para calcular o sentimento do texto. O sentimento de Vader retorna a probabilidade de que uma determinada frase de entrada seja positiva, negativo e neutro.
Por exemplo:
“O filme foi incrível!!”
Positivo: 99%
Negativo: 1%
Neutro: 0%
Essas três probabilidades irão somar 100%. Vamos ver como usar o VADER:
a partir de fatherSentiment.fatherSentiment importar SentimentIntensityAnalyzer
analisador = SentimentIntensityAnalyzer()
frase = "O filme foi incrível!"
vs = Analyzer.polarity_scores(frase)
imprimir"{:-<65} {}".formato(frase, str(vs))

Análise de sentimento VADER
Vader é otimizado para dados de mídia social e pode produzir bons resultados quando usado com dados do Twitter, Facebook, etc. Como o resultado acima mostra a polaridade da palavra e suas probabilidades de ser pos, neg neu e composto.
Agora, Vou esclarecer o acima com a ajuda do conjunto de dados da pousada, quer dizer, o conjunto de dados Hotel-Review, onde existem opiniões dos clientes que ficaram no hotel.
Para resumir o processo de forma muito simples:
1) Pré-processando a entrada em suas frases ou palavras componentes.
2) Identifique e rotule cada um símboloo "Símbolo" É um termo usado em vários contextos, geralmente para se referir a um documento ou cartão que contém informações específicas sobre um tópico, pessoa ou produto. Em ambientes acadêmicos, É usado para registrar dados relevantes sobre pesquisas ou fontes bibliográficas. No ambiente empresarial, Os cartões podem ser ferramentas úteis para organizar dados de clientes ou produtos, facilitando a gestão e o acesso à informação.... com um componente da parte de fala (quer dizer, substantivo, verbo, determinantes, sujeito da frase, etc.).
3) Atribuir uma pontuação de sentimento de -1 uma 1, Onde -1 é para sentimentos negativos, 0 como neutro e +1 é um sentimento positivo
4) Retorna pontuações e pontuações opcionais como pontuação composta, subjetividade, etc. usando duas poderosas ferramentas Python: Textblob e VADER.
Textblob:
a partir de nltk.sentiment.father importar SentimentIntensityAnalyzer
a partir de nltk.sentiment.util importar *
a partir de textblob importar TextBlob
a partir de nltk importar tokenizar
df = pd.read_csv('hotel-reviews.csv')
df.head()
Visualização do conjunto de dados
Acima é a visualização do conjunto de dados do hotel.
df.drop_duplicates(subconjunto = ”Descrição”, manter = “primeiro”, no local = Verdade)
df['Description'] = df['Description'].astype('str')
def get_polarity(texto):
Retorna TextBlob(texto).sentiment.polarity
df['Polarity'] = df['Description'].Aplique(get_polarity)
No acima, usando o TextBlob (texto) .sentiment.polarite, para gerar polaridade de sentimento.
df['Sentiment_Type']='' df.loc[df.Polaridade>0,'Sentiment_Type']='POSITIVE' df.loc[df. Polarity==0,'Sentiment_Type']='NEUTRAL' df.loc[df.Polaridade<0,'Sentiment_Type']='NEGATIVO'
Con Textblob
Depois da TextBlob a polaridade e o tipo de sentimento de cada comentário / descrição recebida.
df.Sentiment_Type.value_counts().enredo(kind='bar',título ="Análise de sentimentos")
Gráfico de análise de sentimento com Textblob
Ao rastrear o gráfico de barrasO gráfico de barras é uma representação visual de dados que usa barras retangulares para mostrar comparações entre diferentes categorias. Cada barra representa um valor e seu comprimento é proporcional a ele. Esse tipo de gráfico é útil para visualizar e analisar tendências, facilitar a interpretação de informações quantitativas. É amplamente utilizado em várias disciplinas, como estatísticas, Marketing e pesquisa, devido à sua simplicidade e eficácia.... para o mesmo, sentimentos positivos são mais do que negativos, que pode gerar compreensão, uma vez que as pessoas estão satisfeitas com o serviço.
VADER:
VADER (Valence Aware Dictionary and Sentiment Reasoner) é uma biblioteca de análise de sentimento de código aberto baseada em regras pré-construída / léxicos, protegido pela licença do MIT.
importar nltk
nltk.download('vader_lexicon')
a partir de nltk.sentiment.father importar SentimentIntensityAnalyzer
sid = SentimentIntensityAnalyzer()
Con VADER, usando o sid.polarity_scores (Descrição)), para gerar polaridade de sentimento.
df[''scores'] = df['Description'].Aplique(lambda Descrição: sid.polarity_scores(Descrição)) df.head()
Valor de pontuação gerado com base em VADER
Depois da VADER as pontuações que têm pos, neg, neu e composto.
df['compound'] = df[''scores'].Aplique(lambda score_dict: score_dict['compound']) df['sentiment_type']='' df.loc[df.compound>0,'sentiment_type']='POSITIVE' df.loc[df.compound==0,'sentiment_type']='NEUTRAL' df.loc[df.compound<0,'sentiment_type']='NEGATIVO'
Análise de sentimento com VADER
Depois da VADER o composto e o tipo de sentimento para cada comentário / descrição recebida.
df.sentiment_type.value_counts().enredo(kind='bar',título ="análise de sentimentos")
Gráfico de análise de sentimento com VADER
Tanto o Textblob quanto o Vader oferecem uma série de funções; é melhor você tentar executar alguns dados de amostra em seu tema para ver qual funciona melhor para seus requisitos. Ao traçar o gráfico de barras para o mesmo, sentimentos positivos são mais do que negativos, que pode gerar compreensão, uma vez que as pessoas estão satisfeitas com o serviço.
Espero que isso ajude 🙂
Siga-me se você gosta de minhas postagens. Para mais ajuda, consulte mi Github para Textblob e VADER.
Conecte-se via LinkedIn https://www.linkedin.com/in/afaf-athar-183621105/
Boa aprendizagem 😃




