Resumos de aula: PLN - 2019


Nota: Arquivo gerado por um programa.

Nome Resumo
Rodrigo Hiroaki Ideyama O tema da aula 16 foi sobre “NLTK através de exemplos: Análise de sentimentos e Similaridade entre ementas da UFABC”. Antes de começar a falar sobre o conteúdo de análise de sentimento, o professor mostrou alguns comentários sobre o livro “Elon Musk: como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro” de Ashlee Vance e da editora Intrínseca, sendo positivas, negativas ou neutras, como exemplo, “recomendo a leitura”, abaixo das minhas expectativas” e “não muito mais do que isso”, respectivamente. Essa análise das satisfações dos clientes do livro é uma das aplicações de análise de sentimento que é uma subárea muito popular de processamento de linguagem natural, sendo os primeiros artigos científicos foram publicados nos finais dos anos 90s. Também pode ser conhecida pelos nomes análise de subjetividade, análise de opinião, mineração de sentimento e mineração de opinião. Como exemplos dados em aula, temos o Google Product Search e Financial Sentiment Analysis. A definição de análise de sentimentos (AS) ou mineração de opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres, tornando-se o “Santo Graal” da pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. Há várias aplicações neste campo de conhecimento, entre elas mais comuns, temos opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações, sentimento público. Há subtarefas nela: * Classificação de sentimento: Classifica se um trecho de texto é pos., neg. ou neu. * Geração de lexicon: Determina se uma palavra tende a ser pos., neg. ou neu. * Quantificação de sentimento: Estima a prevalência de sentimentos pos., neg. ou neu. * Extração de Opinião: Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Como próximo tópico, Jesús queria demonstrar para os seus alunos como é feito na prática a primeira subtarefa citada anteriormente, classificação de sentimento, com o conjunto de dados retirado do UCI Machine Learning Repository, sendo as bases do imdb.com, amazon.com e yelp.com. Mostrou que ao aplicar o algoritmo analiseDeSentimentosNB1.py, ele classificou “probably never coming back” como negativo (0) e “damn good steak” como positivo (1). Para verificar a qualidade da classificação, ele mostrou o uso das métricas precisão e revocação, mas primeiramente, falou da matriz de confusão, onde indica os acertos e erros do modelo classificador através do valor esperado e o verdadeiro, dividindo em quatros campos da matriz: * Verdadeiros positivos: classificação correta da classe positivo * Falsos Negativos (Erro Tipo II): erro em que o modelo previu a classe Negativo quando o valor esperado era classe Positivo; * Falsos Positivos (Erro Tipo I): erro em que o modelo previu a classe Positivo quando o valor esperado era classe Negativo; * Verdadeiros Negativos: classificação correta da classe Negativo. Através desses conceitos da matriz de confusão, precisão é dentre todas as classificações de classe positivo que o modelo fez, quantas estão corretas, isto é, daqueles que classifica como corretos, quantos efetivamente eram. Ela pode ser utilizada em uma situação em que os falsos positivos são considerados mais prejudiciais que os falsos negativos, ou seja, o modelo deve ser preciso em suas classificações. O recall/revocação/sensibilidade é dentre todas as situações de classe positivo como valor esperado, quantas estão corretas, isto é, quando realmente é da classe x, o quão frequente você classifica como x. Ela pode ser utilizada em uma situação em que os falsos negativos são considerados mais prejudiciais que os falsos positivos, ou seja, o modelo deve ser alto recall. Então, a fim de demonstrar esses conceitos na prática, ele calculou essas métricas com o programa analiseDeSentimentosNB2.py, conseguindo resultados de 0,759 para precisão, 0,811 para revocação/recall/sensibilidade e acurácia de 0,792. Para a obtenção de um melhor desempenho, pode-se adicionar o prefixo não_ a cada palavra entre a negação e o sinal de pontuação para lidar com a negação. Isso foi demonstrado em prática em analiseDeSentimentosNB3.py, onde foi alcançado uma acurácia de 0,796, precisão de 0,730 e revocação de 0,891. Em análise de sentimento, esses resultados obtidos foi considerado tarefa simples, porém há, como visto em aula, tarefas mais complexa (classificar o sentimento de 1 a 5, por exemplo) e que é um grande desafio (identificar tipos complexos de sentimento, o alvo, e a fonte). Como próximo tópico, ele falou sobre similaridade entre ementas, o caso da UFABC, que foi um tema de iniciação científica de uma aluna, Ana Laura Belotto Claudio, que teve como objetivo projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando Processamento da Linguagem Natural e diversos coeficientes de similaridade. Todo o fluxo do trabalho começou com a leitura e criação de estruturas de dados para o catálogo de ementas de disciplinas que, posteriormente, foi feito o pré-processamento dos dados textuais extraídos do catálogo através de parâmetros para processamento, como exemplo a medida de similaridade, e a retirada de stopwords e auxílio do tesauro. Após isso, fez-se a identificação de similaridade entre ementas, indicando alto grau entre elas por meio da porcentagem limiar de similaridade. Por fim, foi feito a extração das principais características e visualização de dados das disciplinas. Pelos resultados obtidos nessa grande pesquisa, Jesús disse que nesse projeto ao utilizar medidas de similaridade, encontramos algumas disciplinas, no catálogo de disciplinas da UFABC, que são similares entre si. Desde disciplinas completamente idênticas até disciplinas com parte da ementa similar. Acredita que estes resultados encontrados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Mauro Mascarenhas de Araujo Aula de 05/08: "NLTK Através de exemplos: Análise de sentimentos e Similaridade entre ementas da UFABC". A aula iniciou-se com a exibição de algumas avaliações a respeito de um livro qualquer. Foi possível perceber que os comentários eram, em geral, positivos, porém não era possível perceber de qual obra a avaliação se tratava. Depois foi exibido o livro em questão: Tratava-se de "Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro". Logo após foi discutido o sobre o que nos leva a determinar que as avaliações sejam positivas, ou negativas ou neutras. No caso, palavras que "definem que o livro é bom" são tidas como palavras positivas (Ex.: "alta excelência", "ótima tradução", "muito bom", "ótimo livro", "recomendo a leitura", etc.), mas também há avaliações com termos que "avaliam o livro negativamente", sendo tidos como termos negativos (Ex.: "muito parcial", "cansativo", "infelizmente é chato", "problema do livro", etc.). E, há o caso em que as avaliações apresentam os dois tipos de termo na mesma intensidade/frequência, sendo consideradas avaliações neutras. Enfim, Análise de Sentimento é uma subárea muito popular de PLN, onde os primeiros artigos datam do final dos anos 90. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa, sendo que só em 2018 foram publicados 8668 artigos [dados de Dimensions.ia, uma plataforma que pode ser usada para buscar por artigos] (também é possível ver o crescimento de trabalhos na área com o Google Books Ngram Viewer). Foi exibido um exemplo de aplicação de análise de sentimentos para o mercado financeiro (de ações), sendo que existem sites, inclusive, especializados em Análise de Sentimentos para auxiliar investidores de acordo com o humor de outros investidores. Outra aplicação é justamente na classificação da avaliação de produtos (como no Google product search). Alguns termos correlatos à esta área de estudo são: Subjectivity Analysis, Sentiment Analysis, Opinion Analysis, Sentiment Mining, Opinion Mining, sendo a última a mais comum dentre estes outros "nomes". A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou ainda pareceres; sendo que a AS tornou-se o "Santo Graal" da pesquisa de mercado, da pesquisa de opinião, e do gerenciamento de reputação online. As aplicações da AS são inúmeras, dentre elas há em: opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. Uma aplicação sobre a análise de sentimento público feita entre 2010 e 2011 mostrou que as pessoas "ficaram mais felizes" no dia de natal e mais tristes (frases mais negativas) no dia em que o Bin Laden foi morto. Algumas das subtarefas da AS são: Classificação de Sentimento: Classifica se um texto é positivo, negativo ou neutro; Geração de lexicon: Determina se uma palavra tende a ser positiva, negativa ou neutra; Quantificação de sentimento: Estima a prevalência de sentimentos positivos, negativos ou neutros; Extração de OpiniãoDada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Foi exibido um "pseudocódigo" de treinamento e teste para um classificador ingênuo de Bayes (Naive Bayes) para classificação de sentimento (pos., ou neg.) [a implementação em Python está disponível no site]. Existe um conjunto de dados pronto que foi gerado a partir de sites como amazon, imdb e yelp, onde para cada site, existem 500 frases positivas e 500 frases negativas (cada uma entiquetada como positiva (valor = um) ou negativa (valor = zero)). Alguns exemplos: "Avoid, avoid, avoid! - 0", "Works fine. - 1". A seguir foi exibido a implementação do algoritmo em Python (analiseDeSentimentosNB1.py), bem como alguns exemplos de execução. Para avaliar o desempenho do algoritmo deve-se levar em conta os verdadeiro positivos, falso positivos, falso negativos e verdadeiro negativos: Com tais informações, é possível analisar a precisão = (verdadeiros positivos/(verdadeiros positivos + falsos positivos)), que avalia quantos elementos selecionados são relevantes, bem como analisar a revocação = (verdadeiros positivos/(verdadeiros positivos + falsos negativos)), que avalia quantos elementos relevantes foram selecionados. No caso do algoritmo implementado (o classificador Naive Bayes), apresentou uma precisão aproximada de 80%. Ainda há um problema: Como lidar com a Negação? Por vezes, a negação não está relacionada à palavra logo em seguida, mas a alguma(s) palavra(s) posterior(es). Uma solução proposta para lidar com o problema, consiste em adicionar o prefixo não_ a cada palavra entre a negação e o sinal de pontuação (Das & Chen). Sendo assim, uma frase como: "there is no sign of improvement; the most expected..." se tornaria "there is not_sign not_of not_improvement; the most expected" após o pré processamento. Aplicando este pré-processamento ao algoritmo Python (analiseDeSentimentosNB3.py), a acurácia melhorou de 0.792 para 0.796. As tarefas em AS possuem diferentes graus de dificuldade, a mais simples é a classificação de sentimento, mas atribuir um valor a um sentimento já seria mais complexo, por exemplo, já os grandes desafios são identificar tipos complexos de sentimento, identificar o alvo e a fonte (Exemplo: “A beautiful hotel in a horrible town!” vs. “A horrible hotel in a beautiful town!”). Já a parte de similaridade de ementas foi um trabalho de iniciação científica de uma aluna que tinha por objetivo projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando Processamento da Linguagem Natural e diversos coeficientes de similaridade. O resultado obtido que que as disciplinas de trabalho de conclusão de curso possuem ementas extremamente similares, mas existem outras também cujo conteúdo está muito ligado à outra disciplina, inclusive, há disciplinas cujas ementas são 100% similares.
Igor Neres Trindade Na aula de hoje, 05/08/2019, abordamos diferentes maneiras de usar PLN para responder perguntas simples. Vimos como fazer análise de sentimentos de opiniões sobre determinados produtos e como determinar similaridade entre ementas de matérias. Este último foi um problema tratado no ano passado, através de uma Iniciação Científica. Começamos discutindo sobre análise de sentimentos. Imagine um conjunto de avaliações sobre um livro qualquer. Somente ao ler, seria possível identificar sobre o que é a obra? É muito provável que, dentro de uma opinião, encontremos comentários positivos e negativos, mas raramente fala-se do objeto nesses casos. Além disso, o que nos leva a acreditar que a opinião em geral é positiva? Talvez a frequência de palavras positivas? De fato, essa é uma estratégia possível, pois algumas palavras ou conjunto de palavra podem ser utilizadas para classificar uma opinião. Mas a complexidade de nosso problema aumenta quando consideramos que também existem termos ambíguos, utilização de sarcasmo, gírias ou vocabulário regional. Mais que isso, uma opinião pode utilizar palavras positivas e negativas, fazendo com que uma simples verificação de frequência não seja suficiente para problemas mais complexos. Há, portanto, muito a ser desenvolvido ainda nessa subárea de PLN. Nas aulas passadas, vimos várias aplicações de análise de sentimentos em redes sociais. De fato, cerca de 30% dos artigos publicados nessa área utilizam Tweets para treinamento e validação dos dados, devido a facilidade para tal. Mas existem outras aplicações também, como a StockFluence, que aplica esses conceitos para avaliar o mercado financeiro. Google Product Search é um outro exemplo e vai um pouco além do que vimos: cada produto possui atributos que são avaliados de forma automática, de acordo com os comentários dos compradores. Isso, por consequência, traz informações muito ricas sobre o produto. Mais do que saber o que estão achando de um produto, sabe-se o que estão achando de cada aspecto dele. Uma outra aplicação muito interessante é a de análise de sentimento público, feito no artigo ˜Temporal patterns of happiness and information in a global social network: Hedonometrics and Twitter˜. Nele, foram analisados diversos tweets, buscando saber como pessoas se sentiam em diferentes dias do ano. Pode-se ver que a felicidade é menor em dias de tragédias, como o Terremoto do Japão, por exemplo. Mas, mais interessante que isso é notar que a felicidade está diminuindo com o tempo. Continuando com a aula, nos aprofundamos um pouco mais nas subtarefas de classificação de sentimentos. Vimos que além de determinar se o sentimento relacionado a uma texto é positivo, negativo ou neutro, podemos quantificar esse sentimento ou mesmo extrair uma opinião, identificando, por exemplo, quem deu a opinião, sobre o que e com qual popularidade e intensidade. Hoje, a maior parte dos mestrados estão relacionadas a essa última subtarefa, de extração de opinião. A aula prosseguiu com alguns programas em python para classificação de sentimentos, complementando o que já foi feito em aulas anteriores. Na aula de hoje, entretanto, tivemos um conjunto de dados muito maior, da UCI, que separa uma quantidade homogênea de amostras positivas e negativas de bases da IMDB, Amazon e Yelp. Discutimos sobre a provável acurácia desse programa em python. Em geral, quase todos os classificadores de duas classes estão na faixa de 80% e, se estiverem abaixo disso, provavelmente alguma coisa está errada. Para três ou mais, isso é diferente. Podemos ainda avaliar o desempenho de nossa classificação, calculando métricas chamadas de Precision e Recall. São duas medidas que, quanto mais próximas de 1, melhores são. Uma novidade vista nesta aula foi uma maneira simples de lidar com a negação, inicialmente proposta por Das & Chen. Ao encontrarmos uma negação, podemos simplesmente adicionar o prefixo "não" em cada palavra até chegar ao ponto final. É importante notar que não devemos fazer isso até o final da frase, mas somente até o ponto. Desta forma, devemos ter um cuidado maior na hora de tokenizar. Isso resolve muitos problemas! Mas ainda existem alguns em aberto: nossa modelagem, por exemplo, não considera a ordem das palavras. "Um hotel bonito em uma cidade horrível" e "um hotel horrível em uma cidade bonita" seriam classificados da mesma maneira, devido a mesma frequência de algumas palavras chaves, apesar de apresentarem opiniões totalmente diferentes. Como segundo exemplo de utilização de PLN, vimos uma tentativa de identificar ementas similares. O catálogo de disciplinas é muito grande e toda vez que um docente precisa criar uma disciplina, é necessário uma justificativa para tal. Analisar similaridade entre disciplinas facilitaria esse trabalho. Além disso, o conselho universitário teve um trabalho forte para verificar disciplinas que, em termo de conteúdo, são similares a outras já oferecidas. Pensemos no caso de "Turbinas Hidráulicas", cuja ementa é muito similar com "Bombas Hidráulicas" e "Ventiladores Industriais". O aluno poderia cursar as três matérias, sabendo da similaridade e evitando carga de estudo muito alta. Por outro lado, ele não tiraria tanto proveito quanto se tivesse escolhido outras matérias. O trabalho de Iniciação Científica apresentado em sala tem uma pipeline muito similar a que estudamos em PLN. Com uma tabela termo-documento, foi possível calcular a similaridade entre disciplinas através do coeficiente do cosseno. Como resultado, é interessante notar o pouco cuidado que tiveram na formulação de algumas disciplinas, como é o caso do TCC, que é a mesma para cursos diferentes. Tais resultados servem de alerta para a coordenação dos cursos e podem auxiliar em tomadas de decisões relacionadas a maneira que a oferta de disciplinas é feita
Elsio Antunes Junior 05/08/19 - NLTK através de exemplos: Análise de sentimentos e Similaridade entre ementas UFABC; das avaliações de um livro sobre Elon Musk o professor escolhe três trechos de avaliações extraídas do site da Amazon; Ao que parecem as três avaliações são positivas; Provavelmente, baseados nessas avaliações, poderiamos decidir comprar e ler livro? O que não leva a determinar que as avaliações sejam positivas, ou negativas ou neutras?; Discussão; O professor sublinha algumas expressões usadas nas avaliações; "alta excelência", "ótima tradução", "muito bom", "mais inspirado", "conquistar", "não desista", "ótimo livro", "leitura fácil", "recomendo a leitura"; algumas outras avaliações de um livro são extraídas e termos negativos são sublinhados: "muito parcial", "muito mal escrito", "Cansativo", "fica cansativo", "problema do livro", "fatos mundanos", "infelizmente é chato", "não quero saber"; outros termos sublinhados e uma discussão que incluiu o desconhecimento do professor to termo "chapa branca", prontamente explicado pelos alunos; Análise de sentimento é uma área muito popular em PLN; primeiros artigos científicos são do final dos anos 90s; grandes contribuições para essa subárea de pesquisa; 8668 artigos publicados em 2018 (base dimensions.ia); O professor exemplifica o uso da matéria no mercado de ações e na recomendação de compras online; O professor pesquisa pelos termos no ngrams e no trends google; termos correlatos: "Subjectivity Analysis", "Sentiment Analysis", "Opinion Analysis", "Sentiment Mining", "Opinion Mining"; O professor recomenda o livro 'Sentiment Analysis' de Bing Liu; Discussão sobre trabalhos de opinion mining nas redes sociais, em especial o twitter pela facilidade e APIs disponíveis, a utilização de machine learn, o interesse de investidores, gerenciamento de reputação, pesquisa de opinião, pesquisa de mercado online, etc; Dentre as aplicações estão: avaliação de filmes, polarização política, pesquisa de sentimento público e pedições de mercado; Definição; A 'Análise de sentimentos' (AS) ou 'Mineração de Opinião' (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: Opiniões, Emoções, Julgamentos, ou Pareceres; Um gráfico dobre sentimento público mostra variações ao longo do ano de 2011 e mostra picos em feriados como natal, dia dos namorados e dia dos pais, além de vales em dias negativos como a o da morte de Amy Winehouse, dos protestos em Londres, da captura de Bin Laden e terremoto no Japão; Subtarefas na AS: Classificação de sentimento (negativo, positivo, neutro) para trechos de texto ou palavra (lexicon), extração de opinião, identificar seu titular, seu objetivo, sua polaridade etc; O professor apresenta um algoritmo de classificação baseado em naive Bayes que utiliza um dicionário e considera a contagem de palavras de cada classe em relação ao resto do documento; Em seguida nos apresenta um repositório (UCI) de dados de sentenças rotuladas com avaliações de humanos (Sentiment Labelled Sentences Data Set), para treinamento de algoritmos de aprendizado de máquina; O repositório contém 3000 avaliações dos sites imdb, amazon e yelp, sendo 500 de cada classe para cada site; Segue um código python para o processamento desses dados usando o algoritmo visto anteriormente; Avaliando desempenho; Dentro do assunto de métricas de avaliação usadas por algoritmos de sistemas inteligentes o professor nos apresenta os conceitos de precisão e revocação (precision and recall) ou sensibilidade; Na tabela de contingência (confusion matrx) os termos verdadeiros positivos, verdadeiros negativos, falso-positivos e falso-negativos comparam os resultados do classificador em teste com julgadores externos confiáveis; Um segundo código python exemplifica os cálculos; Como lidar com a Negação? O professor nos apresenta a solução de Das & Chen para reconhecer negação em sentenças; Adicionar o prefixo não_ a cada palavra entre a negação e o sinal de pontuação; Complexidade das tarefas em AS; simples: O sentimento é positivo ou negativo? Tarefa mais complexa: Classificar o sentimento de 1 a 5; um grande desafio: Identificar tipos complexos de sentimento, Identificar o alvo, Identificar a fonte; Outra tarefa ainda mais difícil: lidar com expressões idiomáticas como “Tive vitória esmaganadora” vs “Minha reputação foi esmagada”; Similaridade entre ementas: O caso da UFABC; Projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando Processamento da Linguagem Natural e diversos coeficientes de similaridade; O professor apresenta um artigo de Ana Laura Belotto Claudio aluna da Ufabc; A metodologia do trabalho consiste em comparar as ementas e classificá-las pela distância entre elas, onde a medida de similaridade utilizada foi a do coeficiente dos cossenos; Por fim, grafos com os agrupamentos das disciplinas evidenciaram fatos como o de que a ementa das disciplinas de conclusão de curso tem 100% de similaridade, além de que algumas outras disciplinas são muito similares como "bombas hidráulicas", "turbinas hidráulicas" e "ventiladores industriais"; Segundo o professor, o conteúdo dessas matérias é basicamente o mesmo, o que possibilitaria que alunos acumulassem créditos mais facilmente com economia de conhecimento necessário para três disciplinas; Também foi dito que o artigo gerou discussões e que decisões relacionadas a logística de ofertas de disciplinas poderão ser tomadas baseadas nestas análises;
Thiago Henrique Gomes Panini Resumo 16 – PLN Continuando com as aulas de aplicações de Processamento de Linguagem Natural, neste décimo sexto encontro os dois assuntos tratados são o de análise de sentimento e de similaridade entre ementas nos cursos da UFABC. Introduzindo os conceitos, o professor Jesús mostrou alguns exemplos de avaliações de um livro de Elon Musk. Aparentemente, as críticas são positivas e, para nós humanos, é extremamente fácil identificar o que leva uma análise a ser considerada positiva. Mesmo levando em conta a subjetividade dos critérios, termos como “alta excelência”, “ótima tradução”, “muito bom”, entre outros, funcionam como agentes positivos dentro do contexto. Por outro lado, também existem termos que podem ser considerados negativos, como “decepcionante”, “abaixo das expectativas”, “muito ruim”. Além disso, podem existir análises que possuem indícios de termos positivos e também negativos com, inclusive, alguns termos e gírias características do país ou região. Análise de sentimento é uma área extremamente popular no campo de PLN, obtendo um crescente número de publicações, principalmente nos últimos 3 anos. Um excelente exemplo mostrado pelo professor envolve a análise de sentimentos para o mercado de ações, onde algoritmos são aplicados para auxiliar na tomada de decisão de investidores, levando em consideração o humor e o sentimento de pessoas importantes para o mercado e seus efeitos na bolsa de valores. Comentários em redes sociais são analisados com o objetivo de tentar prever os impactos financeiros e as mudanças nos rumos do mercado. Outro exemplo mostrado é adotado pelo Google Product Search e traz análise de sentimentos gerada automaticamente para indicar atributos/aspectos e o respectivo sentimento coletado para cada um dos produtos. Entre os sinônimos, um termo importante que é bastante difundido é a “Mineração de Opinião”. Um site muito interessante recomendado pelo professor chama-se carrot2 que, ao receber um texto como parâmetro, gera um grafo com todos os termos similares onde a área indicam a quantidade de termos presentes em publicações. É provável que tenha uma API para consumir essa análise. O Google Trends também é uma ótima ferramenta para análise. São muitas as aplicações envolvendo Análise de Sentimentos. Entre elas, opinião de filmes, avaliação de produtos e serviços, opiniões em redes sociais, etc. Um outro exemplo muito interessante mostrado pelo professor refere-se a uma análise (utilizando o Twitter), o quão feliz era o público de acordo com dias da semana e datas comemorativas. Exemplos de “picos de felicidade” foram encontrados em datas como Dia dos Namorados, Natal, Ano Novo, entre outros. “Dias tristes” tiveram ápice em eventos como terremoto no Japão, 11 de setembro, etc. Fonte: Temporal patterns of happiness and infrmation ina global social network: Hedonometrics and Twitter de DODDS, Peter Sheridan et al. Publicado em 2011. São subtarefas em Análise de Sentimentos: Classificação de sentimentos (utilizando o clássico algoritmo de Naive Bayes), Geração de léxicon (associar a palavra a um sentimento positivo, negativo ou neutro), quantificação de sentimento (estima a prevalência de sentimentos) e extração de opinião (dada uma opinião em uma sentença, identifica o titular da opinião, seu objetivo, sua polaridade, a força dessa polaridade e o tipo de opinião: A frase é de quem, falando sobre quem e em qual grau). Utilizando um exemplo onde há duas possíveis classificações de sentimento, sendo (1) positivo e (0) negativo, o professor trouxe uma base de dados do UCI contendo 3000 linhas associadas a avaliações do imdb, Amazon e yelp, sendo 500 análises positivas e 500 análises negativas de cada um deles. Nome do dataset: Sentiment Labelled. O professor então demonstrou uma implementação prática de um classificador de Bayes em duas classes (positiva e negativa) e mostrou técnicas para avaliação do desempenho em problemas de classificação (Acurácia, Precision, Recall ou Sensibilidade). Um dos grandes problemas ao falar de análise de sentimentos é o da negação. Comparando as frases “eu não gostei muito desse filme, mas...” e “eu realmente gostei muito desse filme”. Quando é feita a análise em n-gramas, as palavras são separadas e, embora a palavra “gostei” esteja ao lado da palavra “não”, estas são tratadas de forma separadas. O grande desafio é replicar a palavra “não” para todas as palavras da frase, atrelando esta ao significado geral da frase. Em um artigo de 2001 de CHEN, a proposta mostra a adição do termo “não_” a todas as palavras da frase até encontrar um sinal de pontuação. Somente com isso já é possível melhorar a performance do modelo. Também é possível expandir essa análise para outros termos como “not”, “didn’t”, “don’t”, “no”, entre outros. Na segunda etapa da aula, foram analisados casos de similaridade entre ementas da UFABC como forma de aprendizado.
July Anne Pinheiro Aula 16: NLTK através de exemplos: Análise de sentimentos - Similaridade entre ementas UFABC Inicialmente foi apresentado um conjunto de avaliações de livros, para a observação dos termos utilizados e como o sentido da frase pode nos gerar algumas dúvidas no ponto de vista de processamento de linguagem natural e classificação de avaliações entre positivas, negativas e neutras. Exemplo de avaliações de um livro "Trata-se de um livro da mais alta excelência: bem escrito, objetivo, em ótima tradução e, principalmente, com um personagem principal capaz de segurar a nossa atenção e prender o fôlego durante toda a leitura." [Rev 1] "Li o livro em dois dias. Livro muito bom e que conta a história de um empreendedor que não tem medo do "não". Confesso que após ler o livro, me sentir ainda mais inspirado a trabalhar mais e conquistar meus objetivos. Logo no início do livro, há uma definição clara: "Ele é do tipo, faça ou morra, mas não desista."" [Rev 2] "Ótimo livro... bem embasado..leitura fácil...fatos e narrativas aparentemente imparciais. Recomendo a leitura." [Rev 3] Avaliando os exemplos, as 3 avaliações aparentemente são positivas. Porém, como determinar que as avaliações sejam positivas, ou negativas ou neutras. Análise de sentimentos (AS) É uma subárea muito popular de PLN. A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: Opiniões, Emoções, Julgamentos, ou Pareceres. A AS tornou-se o “Santo Graal” da: Pesquisa de mercado, Pesquisa de opinião, e Gerenciamento de reputação online. Termos correlatos Subjectivity Analysis. Sentiment Analysis. Opinion Analysis. Sentiment Mining. Opinion Mining. Aplicações sobre "AS" ou "MO” As aplicações de "AS" ou "MO" são diversas e as mais comuns são: Opinião sobre filmes. Avaliação de produtos/serviços. Polarização política. Predição do mercado de ações. Sentimento público. Subtarefas na "AS" ou "MO" Classificação de sentimento: Classifica se um trecho de texto é positivo, negativo ou neutro Geração de lexicon: Determina se uma palavra tende a ser positiva, negativa ou neutra Quantificação de sentimento: Estima a prevalência de sentimentos positivo, negativo ou neutro Extração de Opinião: Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Classificação de sentimento: positivo (1) e negativo (0) Para classificação dos objetos(conjunto de dados) analisados, são utilizados para cada frase: A pontuação é 1 (para positivo) ou 0 (para negativo) . Na aula foi apresentado 3 programas em Python, para avaliação de classificação de sentimentos: analiseDeSentimentosNB1.py, analiseDeSentimentosNB2.py e analiseDeSentimentosNB3.py. Para avaliação do desempenho foi utilizado o conceito de acurácia, precisão e revocação. Porém para o terceiro programa nos deparamos com a problemática da negação, como o exemplo liderado abaixo: Eu não gostei muito desse filme, mas ... Eu realmente gostei muito desse filme. Para esse tipo de situação, temos a aplicação de um método criado por Das & Chen: Adicionar o prefixo não_ a cada palavra entre a negação e o sinal de pontuação, resultando para o exemplo anterior: Eu não gostei muito desse filme, mas... Eu não_gostei não_muito não_desse não_filme, Com a execução dessa regra, pudemos observar o aumento dos resultados obtidos para acurácia, precisão e revocação no conjunto de dados avaliado. Complexidade das tarefas em AS As AS podem ser dívidas pelo grau de complexidade na execução de tarefas. Sendo elas: Tarefa simples: O sentimento é positivo ou negativo. Tarefa mais complexa: Classificar o sentimento de 1 a 5. Tarefa que é um grande desafio: Identificar tipos complexos de sentimento. Identificar o alvo. Identificar a fonte. Como por exemplo: “A beautiful hotel in a horrible town!” vs. “A horrible hotel in a beautiful town!” “Tive vitória esmagadora” vs. “Minha reputação foi esmagada” Similaridade entre ementas: O caso da UFABC A segunda etapa da aula consistiu na apresentação dos resultados de um projeto de iniciação científica, que avaliação a similaridade entre as ementas dos cursos da UFABC. Objetivo do projeto Projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando Processamento da Linguagem Natural e diversos coeficientes de similaridade. Processos para desenvolvimento Remoção de stopwords; Medidas de similaridade; Palavras com pouca expressão; Algoritmo; Resultados Os resultados obtidos foram apresentados em grafos e separados conforme abaixo: Agrupamento de disciplinas similares; Disciplinas acima de 70% similares; Disciplinas 100% similares; Considerações finais do projeto Foi encontrada algumas similaridade entres as disciplinas do catálogo da UFABC, com os resultados encontrados podem espera-se auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Ruan Fernandes A aula abordou a terceira parte sobre NLTK através de exemplos, sendo: análise de sentimentos; similaridade entre ementas da UFABC. Iniciamos vendo 3 análises diferentes e positivas de um livro sobre Elon Musk, CEO da SpaceX, publicadas na Amazon.com.br. Então, há o questionamento: O que leva a determinar que as avaliações sejam positivas, negativas ou neutras? - algumas palavras-chave demonstram um 'sentimento' na opinião, como por exemplo: 'ótima tradução', 'muito bom', 'recomendo', 'muito mal escrito', 'cansativo', etc. Há também os casos de positivo-negativo, 'bem escrito, MAS abaixo das expectativas', por exemplo (chapa branca). A análise desse tipo de texto e o estudo do sentimento contido nele é uma das subáreas de PLN, denominada 'análise de sentimento'. A área é relativamente nova, tendo seus primeiros artigos publicados no final dos anos 90. Em 2018, foram publicados 8668 artigos (segundo dimensions.ia). Existem hoje, por exemplo, sites especializados em análise de sentimentos para auxiliar investidores segundo opiniões do mercado e então realizando predições. Uma busca por produto do Google também exemplifica esse tipo de análise, ao avaliar o sentimento dos reviews. Alguns termos correlatos são: ‘análise de subjetividade’, ‘análise de opinião’, ‘mineração de sentimentos’, ‘mineração de opiniões’. Entre esses, ‘sentiment analysis’ é o termo mais buscado ou de maior interesse ao longo dos anos (segundo google trends). A análise de sentimentos é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres. Hoje, é uma ferramenta imprescindível para pesquisas de mercado e de opinião, bem como gerenciamento de reputação nas redes. Aplicações comuns são a análise de opinião sobre filmes, avaliação de produtos, polarização política, predição de mercado de investimentos e sentimento público. Conforme gráfico presente no trabalho de Peter Sheridan sobre o sentimento público, apresentado na aula, existem picos de felicidade (média) da população em grandes feriados e, contrastando a isso, quedas massivas em grandes desastres. Em geral, a felicidade média vem caindo ao longo do tempo (período da amostra: 2010.10 a 2011.09). Dentro da AS, temos as subtarefas de: classificação de sentimento (trecho de texto pos. neg ou neutro) – geração de léxicon (determina se a palavra tende a ser pos. neg ou neutro) – quantificação de sentimento (estima a prevalência de sentimentos pos. neg ou neutros) – extração de opinião (dada uma opinião, identifica o titular dela, seu objeto, polaridade, força da polaridade e o tipo de opinião). Foi então mostrado um Naive Bayes para realização de análise de sentimentos valorando em 1 – positivo e 0 – negativo. Então, foi mostrado um código para análise de sentimentos usando esse modelo e aplicado em algumas frases recebidas por input. Para avaliar o desempenho, há uma tabela (linhas: predito / colunas: real) onde sua diagonal principal (1,1 2,2) são os valores reais (true pos e true neg). Um segundo exemplo foi mostrado, aplicando essa avaliação do desempenho e retornando também, ao final, acertos/erros, sua acurácia, precisão e revocação. Mas, como citado anteriormente, como lidar com negações (‘não gostei, MAS...’)? Há uma solução criada por Das & Chen, colocando o prefixo não_ antes de cada palavra entre a própria negação e o próximo sinal de pontuação. Foi apresentada uma terceira versão de analisador de sentimentos, agora acrescentando o prefixo ‘not_’ como citado e então, mostrando um leve aumento nos acertos. Avaliar se o sentimento é pos ou neg pode ser considerado simples. Já uma classificação (valorada) do sentimento, é mais complexa. Agora, a identificação do alvo e da fonte, bem como tipos complexos de sentimento (figuras de linguagem, ironia) são um grande desafio e um gargalo. Houve um estudo realizado na UFABC objetivando projetar algoritmos de detecção de similaridade entre ementas de disciplinas do catálogo da UFABC, utilizando PLN. Como resultado e com o agrupamento de disciplinas, foi notado um número de matérias totalmente similares: as de TG de cada curso específico. Outras disciplinas, foram agrupadas por similaridades (ex Bombas Hidráulicas / Ventiladores Industriais / Turbinas Hidráulicas). Também foram notadas outras extremamente similares, como Biotecnologia de Plantas e Biologia Reprodutiva de Plantas. Com essa ferramenta, então, é possível otimizar a tomada de decisões relacionado à logística de oferta e eventual criação de novas matérias na UFABC.
Renato de Avila Lopes Resumo 16 NLTK através de exemplos: Análise de sentimentos Similaridade entre ementas UFABC Algumas avaliações de um livro: "Trata-se de um livro da mais alta excelência (positiva): bem escrito, objetivo, em ótima tradução (positiva) e, principalmente, com um personagem principal capaz de segurar a nossa atenção e prender o folego durante toda a leitura" Aparentemente avaliação positiva Ajudaria a decidir comprar o livro O que determina que as avaliações são positivas, negativas ou neutras? Positivas: alta excelência, ótima tradução, muito bom, mais inspirado, conquistar, não desista, Ótimo livro, leitura fácil, Recomendo a leitura Negativas: muito parcial, muito mal escrito, Cansativo, fica cansativo, poderia ser mais resumida, problema do livro, fatos mundanos, infelizmente é, chato, não quero saber Também, expressões positivas e negativas na mesma frase: Fanfarrão (negativa), mas um visionário. O livro é bem escrito (positiva), a história é bacana (positiva), não muito mais do que isso (negativa). Análise de sentimento - subárea muito popular de PLN Primeiros artigos científicos publicados nos finais dos anos 90s Grandes contribuições para esta subárea de pesquisa foram realizadas nos últimos anos. Foram publicados 8668 artigos em 2018 (Dimensions.ia) Um exemplo para o mercado de ações Existem sites especializados em AS para auxiliar investidores baseado em seu humor Google product search - Review de usuários Termos correlatos - Subjectivity Analysis, Sentiment Analysis, Opinion Analysis, Sentiment Mining, Opinion Mining Análise de sentimentos ou mineração de opinião Aplicação de análise de textos para evidenciar: opiniões, emoções, julgamentos, pareceres AS Santo Graal da pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online Aplicações: opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações, sentimento público Medição de felicidade (average happiness) em relação aos dias da semana utilizando sentimento público Subtarefas Classificação de sentimento: positivo, negativo ou neutro Geração de lexicon: palavra tende a ser positiva, negativa ou neutra Quantificação de sentimento: Prevalência de sentimentos Extração de opinião: identificar o titular, seu objeto, sua polaridade, a força dessa polaridade e o tipo de opinião Classificação de sentimento: positivo (1) e negativo (0) Utilizando Train Naive Bayes Conjunto de dados - UCI Para cada frase: 1 positivo 0 negativo Bases: imdb.com amazon.com yelp.com Cada site - 500 frases positivas e 500 negativas Exemplos com o programa analiseDeSentimentosNB1.py Digite uma frase: cool phone Resposta 1 probably never coming back 0 waste of time 0 Damn good steak 1 Avaliando o desempenho Precision e Recall (Sensibilidade) - Precisão e revocação Programa analiseDeSentimentosNB2.py Verdadeiro positivo, falso negativo, falso positivo, verdadeiro negativo Como lidar com a negação? Eu não gostei muito desse filme, mas ... Adicionar o prefixo não_ a cada palavra entre a negação e a pontuação Eu não_gostei não_muito não_desse não_filme Eu realmente gostei muito desse filme Programa analiseDeSentimentosNB3.py Complexidade das tarefas em análise de sentimentos - Ainda é uma tarefa difícil Similaridade entre ementas: O caso da UFABC Objetivo - Algoritmo de detecção de similaridade entre ementas de disciplinas usando PLN e diversos coeficientes de similaridade Processos Leitura e criação de estruturas de dados para o catálogo -> pré-processamento (stopwords e thesaurus) -> identificação de similaridades -> extração de características e visualização de dados Medidas de Similaridade - coeficiente do cosseno Palavras com pouca expressão - palavras mais frequentes não acrescentam informação: (palavra) sistemas (frequência) 433 análise 290 desenvolvimento 221 introdução 218 aplicação 185 Algoritmo Identificação de similaridades de ementas (catalogo, medida de similaridade) Agrupamento de disciplinas similares Temas de filosofia moderna Temas de filosofia antiga Temas de lógica Temas de filosofia medieval Temas de filosofia contemporânea Disciplinas acima de 70% similares Agrupamento de disciplinas similares com a temática mecânica Mecânica clássica I Refugiados: Direito e Política? Aqui foi identificado um erro Mecânica Geral Dinâmica II Temática administração Introdução ao Direito Administrativo Teoria e Gestão de Organizações Públicas Princípios de Administração Clima e Cultura Organizacional Disciplinas 100% similares Todas as disciplinas de Trabalho de graduação têm a mesma ementa Biotecnologia de Plantas Biologia Reprodutiva de Plantas Considerações finais Foram encontradas disciplinas com ementas similares (desde ementas completamente idênticas até ementas com partes similares) utilizando medidas de similaridade O resultado pode auxiliar na tomada de decisão em relação a logística de ofertas de disciplinas
Michelle Kaori Hamada Prosseguindo com o tema “NLTK através de exemplos” vimos para análise de sentimentos e similaridade entre ementas da UFABC. Análise de sentimentos é uma subárea muito popular hoje dentro de PLN. Vimos como exemplo a análise de sentimentos dentro de avaliações do livro “Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro” do autor Ashlee Vance, o que nos leva a determinar que essas avaliações são positivas, negativas ou neutras? As avaliações mostradas pareciam positivas e, se tivéssemos interesse, provavelmente nos fariam comprar e ler o livro. Chegamos a conclusão de que as avaliações são positivas devido às palavras associadas ao positivismo, entretanto mesmo dentro dessas avaliações positivas existem termos negativos ou ambíguos. Os primeiros artigos científicos relacionados à análise de sentimentos foram publicados nos finais dos anos 90. Dentro dos últimos anos houveram grandes contribuições para essa subárea de pesquisa. A análise de sentimentos pode ser usado no mercado de ações, por exemplo, sites especializados para a análise de sentimentos para auxiliar investidores com o humor dos investidores, ou para reviews de produtos (ex: Google product search) avaliando os aspectos de cada produto. A análise de sentimentos (AS) ou mineração de opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar as opiniões, emoções, julgamentos ou pareceres. É muito importante atualmente para pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online, além de possuir inúmeras aplicabilidades, entre elas as mais comuns são opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. Um bom artigo é o Temporal patterns of happiness and information in a global social network: Hedonometrics and Twitter que em aula vimos o gráfico que media a felicidade das pessoas num período de tempo, no caso de outubro de 2010 a setembro de 2011. As subtarefas de AS ou MO consistem em: classificação de sentimento (classifica se um trecho de texto é positivo, negativo ou neutro); geração de lexicon (determina se uma palavra tende a ser positiva, negativa ou neutra); quantificação de sentimento(estima a prevalência de sentimentos positivos, negativos ou neutros); e extração de opinião (dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade e o tipo de opinião.A primeira aplicação em aula era para classificação de sentimento em positivo (1) ou negativo (0), utilizou-se um algoritmo naive bayes para treino e teste do conjunto de dados. Pegou-se um conjunto de dados do UCI e para cada frase aplicou-se uma pontuação. A pergunta que ficou após vermos os resultados da aplicação foi o quanto eficiente era o desempenho da análise, o esperado é que seja pelo menor cerca de 80%. Uma forma de lidar com as frases negativas foi dada por Das & Chen que é adicionar o prefixo não a cada palavra entre a negação e o sinal de pontuação. Se formos classificar a complexidade das tarefas em AS temos que a mais simples é identificar se o sentimento é positivo ou negativo, em seguida é classificar o sentimento de 1 a 5 e o mais difícil seria identificar tipos complexos de sentimento, o algo ou a fonte. Em seguida tratamos da similaridade entre ementas na UFABC, foi um projeto de iniciação científica que tinha como objetivo projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando PLN e diversos coeficientes de similaridade. Vimos os resultados obtidos neste projeto os agrupamentos finais de acordo com a porcentagem de similaridade entre cada uma dentre 70% a 100%, por exemplo. Assim, eles utilizaram medidas de similaridade e encontraram disciplinas que são similares entre si, dentro do catálogo de disciplinas da UFABC. Foi observado desde disciplinas idênticas até disciplinas com ementa parcialmente similar. Espera-se que os resultados obtidos possam auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Marcelo de Souza Pena Aula 16 de PLN ainda falando sobre o NLTK através de exemplos, desta vez focando em análise de sentimentos e testando a similaridade entre ementas da UFABC. Como exemplo vimos três avaliações positivas bem genéricas sobre o livro do Elon Musk; avaliações costumam ser genéricas, sendo quase impossível inferir o que estão avaliando sem analisar o contexto. A análise de sentimento serve justamente para determinar se avaliações são positivas, negativas ou neutras. Alguns tokens, geralmente unigramas ou bigramas, servem para fazer essa avaliação, Se há predominância de positivos como “muito bom” ou “ótimo livro”, a avaliação é classificada como positiva, já outras como “chato” e “muito mal escrito” fazem com que seja classificada como negativa. Quando há as duas, é preciso achar um jeito de pesar as críticas e classificar da melhor forma. Análise de sentimento é uma subárea muito popular de PLN, tendo surgido nos finais dos anos 90 e tido cada vez mais artigos publicados ao longo dos anos, como mostra o Ngram Viewer do Google Books e o Dimensions. Existem aplicações até mesmo para auxiliar na análise do comportamento de investidores da bolsa, sendo possível fazer predições do mercado de ações. Algo mais complexo é a análise de sentimentos por tópico, que não vê apenas se o comentário é positivo ou negativo, mas analisa o que foi elogiado e o que foi criticado, sendo usado por ferramentas como o Google product search. Apesar de ser o termo mais popular, a análise de sentimento é também chamada de análise de subjetividade/opinião e mineração de sentimento/opinião, além de ter outros termos associados a ela, como mostra o eTools Web Search. Com o objetivo de evidenciar opiniões, emoções, julgamentos ou pareceres, a análise de sentimentos se tornou muito popular em pesquisas de mercado/opinião e no gerenciamento de reputação online, além de outras aplicações populares como opinião sobre filmes, avaliação de produtos ou serviços, polarização política e sentimento público. Como exemplo, vimos um gráfico da análise da felicidade com base em tweets, mostrando uma queda ao longo do ano, com picos e vales em eventos importantes. As subtarefas da análise são: classificação de sentimento de um trecho do texto, geração de lexicon classificando palavras, quantificação de sentimento estimando a prevalência de sentimentos positivos ou negativos e extração de opinião. O algoritmo usa Naive-Bayes. UCI é um ótimo site para encontrar datasets. Vimos exemplos de entradas de frase positivas e negativas e um primeiro exemplo de código que aprende com um corpus bem grande e depois avalia as frases digitadas pelo usuário. Vimos uma pequena revisão de avaliação de desempenho com base em true positive/negative e false positive/negative e as medidas de avaliação precisão e revocação. Um segundo exemplo de código faz a mesma coisa, mas mostra a acurácia, a precisão e a revocação, evidenciando casos de falsos/verdadeiros positivos/negativos. Um problema da análise é lidar com a negação, o que pode ser solucionado adicionando uma negação antes de cada palavra entre a negação e o ponto final. Um terceiro exemplo de código utiliza esta técnica e tem uma acurácia um pouco maior, uma precisão um pouco menor e uma revocação bem maior que o segundo. Outra tarefa mais complexa é identificar a intensidade do sentimento e o grande desafio é identificar tipos complexos de sentimento (como alguns que podem varia a classificação pelo contexto), o alvo e a fonte. Exemplo de aplicação que detecta similaridade entre ementas da UFABC usando técnicas vistas em aula e coeficiente do cosseno para medir a similaridade. Dentre as disciplinas muito similares houve algumas evidências de erro no catálogo, como matérias de física sendo similares a uma matéria de relações internacionais e houve matérias totalmente iguais, sendo elas os trabalhos de graduação, dentre outras. Este trabalho pode auxiliar a universidade a tomar decisões relacionadas à oferta de disciplinas.
Guilherme Beo Arqueiro Na aula 16 de PLN, vimos exemplos e aplicações do NLTK (Natural Language ToolKit) com análise de sentimentos e uma análise de similaridade entre ementas da UFABC. No início da aula, vimos exemplos de três avaliações de um livro que, no geral, indicam avaliações positivas para nós humanos, porém se analisarmos as palavras fora de contexto, podemos extrair tanto termos que soam positivos quanto termos que soam negativos e até mesmo trechos que soam ambíguos. Com isso, entramos no tópico de análise de sentimentos em textos, que é uma subárea muito popular em PLN, que tem artigos científicos publicados nos finais desde os anos 90, com cerca de 8668 artigos publicados em 2018, mostrando que é um tema bastante relevante e em foco nos últimos anos. Atualmente, inclusive, existem sites especializados em Análise de Sentimentos que podem auxiliar os investidores baseado nos sentimentos e humor de sites e outros investidores. Vimos que o google utiliza a análise de sentimentos em sua busca de produtos, indicando os atributos e sentimentos presentes em avaliações encontradas pela web. Termos correlatos a esse tipo de análise são: Análise Subjetiva, análise sentimental, análise de opinião, mineração de sentimentos e mineração de opinião. Além disso, vimos que a análise de sentimentos é um conjunto de tarefas sobre análise de textos que busca evidenciar opiniões, emoções, julgamentos eu pareceres, sendo muito útil em pesquisa de mercado, pesquisa de opinião, gerenciamento de reputação online, análise de opinião sobre filmes, avaliação de produtos e serviços, polarização política, predição do mercado de ações e análise de sentimento público. A análise de sentimentos também está envolvida em sub tarefas, como a classificação de sentimentos, geração de lexicon, quantificação de sentimento e extração de opinião, como vimos no exemplo de classificação de sentimento positivo(1) e negativo(0), por meio da função de train naive bayes e com base em um conjunto de dados. Vimos esse exemplo com o script analiseDeSentimentosNB1.py. É possível também analisar o desempenho da análise com base na precisão e revocação, que se baseia em predição e análise do estado real, que pode trazer resultados verdadeiramente positivos, falso positivo, falso negativo e verdadeiramente negativo, como é o caso implementado no script analiseDeSentimentosNB2.py. Para lidar com a negação, uma das soluções é a de Das & chen, que adiciona o prefixo não_ ao fina de cada palavra entre a negação e o sinal de pontuação, como foi implementado no script analiseDeSentimentosNB3.py. Vimos então essas complexidades de análise de sentimentos, desde uma tarefa simples como decidir se o sentimento é positivo ou negativo, uma mais complexa como classificar o sentimento de 1 a 5 e os desafios como identificar tipos complexos de sentimento, identificar o alvo e identificar a fonte. Mais ao final da aula, vimos exemplos de detecção de similaridade entre ementas de disciplinas que estão associadas ao catálogo da UFABC, utilizando PLN e coeficientes de similaridade. O processo se baseia em obter o catálogo de ementas de disciplinas, leitura e criação de uma estrutura de dados para o catálogo, o pré-processamento dos dados textuais extraídos do catálogo com apoio de tratamento de stopwords e thesaurus, identificação de similaridade entre ementas com base na lista de disciplinas com alto grau de similaridade e, por fim, a extração de características e visualização de dados com base nas características principais das disciplinas. Vimos algumas medidas de similaridade entre documento, texto e termos, como coeficiente do cosseno sendo utilizado para definir essa similaridade. Com essa análise, conseguimos extrair palavras com maior frequência nos catálogos, que não necessariamente têm uma expressào muito evidente. O algoritmo de identificacao-de- similaridade-de-ementas foi mostrado em sala e vimos os agrupamentos em forma de grafos, com alguma disciplinas com mais de 70% de similaridade e disciplinas com 100% de similaridade, ou seja, praticamente iguais.
Amanda Cruz Francesconi NLKT ATRAVÉS DE EXEMPLOS análise de sentimentos (sentiment analysis ou opnion mining) -> É a aplicaçao de um conjunto de tarefas sobre análise de textos em linguagem natural afim de identificar: opniões, emoções, julgamentos. Subárea muito popular de processamento de linguagem natual, os primeiros artigos sobre o tema foram publiucados no final dos anos 90 e nos últimos anos o número de publicações tem aumentado bastante, como por exemplo em 2018 foram 8668 artigos publicados. Uma abordagem possível para indentificar se uma frase é positiva, negativa ou neutra é a procura de palavras no texto previamente caracterizadas como positivas ou negativas. Esse tema apresenta muitas ferramentas, um deles é o o site carrot2 apresenta a partir de uma palavra inserida mostra uma imagem com os termos relacionados, a área em que está representada cada palavra se relaciona com a quantidade de documentos que relacionam o termo pesquisado com o termo em questão. É possível também ver um trend do termo buscado pelo google. São inúmeras aplicações: identificação de sentimento no mercado de ações, no google product search, pode-se ver não somente quantas estrelas um produto tem e sim a classificação para cada subtema que está sendo mais comentado, além disso pode ser utilizado para pesquisa de mercado, pesquisa de opnião, gerenciamento de reputação online, polarização política, opnião sobre filmes e livros, etc. O artigo "temporal patterns of happiness and information in a global network" mediu a partir de informação coletada no twitter a felicidade média geral no período de um ano e considerando o dia da semana. O maior pico que pode-se ver de felicidade é no Natal e no dia dos namorados, por outro lado os pontos mais baixo apresentam episódios como o terremoto no Japão (2011) ou a morte de Bin Laden. classificaçao de sentimentos em duas classes: positivo (1) e negativo (0). Utilizando a função de bayes. Uma base de dados para treinamento disponível é a UCI. Como saber se o algoritmo funciona e quão bem? Avaliar o desempenho considerando precisão e revocação, o primeiro consiste em verdadeiros positivos sobre o total de verdadeiros positivos somados aos falsos positivos, a precisão indica quantos elementos selecionados são relevantes. O segundo é a divisão de verdadeiros positivos pela soma de verdadeiros positivos com os falsos negativos, o recall indica quantos elementos relevantes foram selecionados. Como lidar com a negação? A estratégia simples proposta em 2001 para tratar esse tema e que gera bons resultados é replicar o prefixo "não" a cada palavra até encontrar um sinal de pontuação (vírgula, ponto final, etc). É da escolha do criador do código que palavras incluir na classificação de negação. similaridade entre ementas da UFABC -> usar ferramental básico de PLN para a partir da entrada nome da máteria e sua ementa usar a distância do coseno para determinar a similaridade. Os processos envolvidos são: leitura e criação de uma estrutura de dados a partir do catálogo de ementas das disciplinas, pré processamento desses dados como por exemplo lemmatizando e retirando stop words e palavras que carecem de significado considerando o contexto dado (como por exemplo as palavras sistemas, análises, introdução, etc), identificação da similaridade utilizando a distância de coseno como parâmetro e finalmente a extração de características para gerar uma visualização dos resultados. Com esse trabalho pode-se verificar o agrupamento de disciplinas similares como por exemplo bombas hidráulicas, ventiladores industriais e turbinas hidráulicas e também as disciplinas 100% similares que é o caso da matéria de trabalhos de graduação de todos os cursos ou biotecnologia de plantas e biologia reprodutiva de plantas. A ideia geral é fornecer informação para auxiliar na tomada de decisão relacinada a logística de oferta de disciplinas na Universidade.
Renan Baisso Dando continuidade aos estudos do Processamento de Linguagem Natural (PLN), vamos avançar em exemplos práticos utilizando a API NLTK, a qual possui diversas implementações de técnicas deste campo da computação. Nesta aula, analisaremos algumas implementações de análise de sentimento e similaridade de documentos. A Análise de Sentimentos (AS) é uma subárea muito popular de PLN, a comprovação disso é o fato do aumento de publicações científicas sobre o assunto nos últimos anos, pois em 2016 foram em torno de 4000 e em 2018 foram mais de 8000. Ainda sobre as definições feitas sobre AS, existem outros termos utilizados para denominar sobre esta área, como Subjectivity Analysis, Sentiment Analysis, Opinion Analysis, Sentiment Mining, Opinion Mining. Mesmo que existam autores que, em alguns casos, façam distinções sobre os termos, no geral são tidos como sinônimos. Neste texto, utilizaremos os termos análise de sentimentos e Mineração de Opinião. Análise de Sentimentos é um conjunto de tarefas aplicadas em um textos para evidenciar opiniões, emoções, julgamentos ou pareceres. As aplicações mais populares consistem em Opinião sobre filmes, Avaliação de produtos/serviços, Polarização política, Predição do mercado de ações e Sentimento público. Dentre as tarefas aplicadas, podemos citar as mais utilizadas. Classificação de sentimento: Identifica se parte do texto é positivo, negativo ou neutro. Geração de lexicon: Verifica se as palavras possuem a tendência de ser positiva, negativa ou neutra. Quantificação de sentimento: Levantamento se os sentimentos que dominam o texto são positivos, negativos ou neutros. Extração de Opinião: Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Além disso, existem diversos fatores que devem ser considerados, como por exemplo, em caso de comentários sobre um produto, os clientes podem apenas elogiar ou criticar, mas também, existem aqueles que podem levantar pontos positivos e negativos, isto é, mesclar os dois “sentimentos”. Também é necessário definir quais fatores levam a classificar um sentimento positivo ou negativo dentro de um contexto. Um exemplo de implementação de AS, é a tentativa de classificar sentimentos entre positivo (1) e negativo (0), fazendo uso do algoritmo de aprendizado de máquina de Naive Bayes, o qual, em média, tem resultados de precisão de 70% a 80%, dependendo dos procedimentos de pré-processamento. À princípio, não houve tratamento além dos discutidos em aulas anteriores e o resultado foi de 79% de acurácia, 59% de precisão e 81% de revocação. Entretanto, existem técnicas de pré-processamento que apoiam melhorias de desempenho da AS, como no caso em que queremos definir melhor a que contexto uma negação está relacionada no texto, pois até então, consideramos que uma palavra negativa só estava associada ao seu sucessor, o que é uma afirmação ingênua. Desta maneira, com base em estudos, podemos replicar a palavra de conotação negativa em seus n sucessores até que a frase acabe, por exemplo, a frase “Eu não gostei muito desse filme, mas ” seria transformada em “Eu não_gostei não_muito não_desse não_filme, mas..”, isto é, associamos a negação aos sucessores utilizando um concatenação através do “underline” (_). Logo, a capacidade de identificar negações é melhorada. Mas, mesmo com esta melhoria o resultado obtido não se alterou drasticamente, com acurácia de 79%, precisão 73% e revocação de 89%. Com base em tudo que foi discutido, ainda podemos classificar, dentro das rotinas de análise de sentimentos entre simples, mediana e complexa, sendo simples as tarefas que buscam penas positivo ou negativo. Tarefas medianas consistem em classificar sentimento em um range de 1 a 5. Tarefas complexas consistem em identificar tipos complexos de sentimento (sarcasmo), identificar o alvo e identificar a fonte
Jair Edipo Jeronimo Dando continuidade aos exemplos utilizando a biblioteca NTKL, vimos algumas avaliações de livros e a ideia seria entender determinar se uma avaliação é positiva, negativa ou neutra. A análise de sentimentos é uma das mais populares do PLN, os primeiros artigos foram publicados no final da década de 90 e atualmente é uma subárea bastante pesquisada. Também conhecida como Mineração de Opinião (MO), a Análise de Sentimentos (AS) consiste de uma aplicação de um conjunto de tarefas em análises de textos para evidenciar opiniões, emoções, julgamentos ou pareceres, além de se tornar uma importante ferramenta para pesquisas de mercado e de opinião, como também para gerenciar a reputação online. Existem diversas formas de se aplicar a AS, como por exemplo em opiniões, avaliações, sentimento público, predição do mercado de ações, entre outras. Dessa forma, é necessário realizar tarefas como: classificar sentimentos, se algo é positivo, negativo ou neutro, geração de léxicon, ou seja, determinar qual a tendência da palavra a se portar como algo bom, ruim ou neutro. Após isso, deve-se quantificar o sentimento estimando sua prevalência e, por fim, extrair informações da opinião, identificando o autor, sua polaridade, a força dessa polaridade e o tipo de opinião. Para classificar sentimentos como positivo ou negativo, podemos utilizar o método de Naive Bayes, que avalia a frequência das palavras baseando em um conjunto de treino, isto é, opiniões que já foram avaliadas, sendo que, se uma palavra não pertence a base de treino, ela é desconsiderada da análise. Vimos em aula que é possível obter um conjunto de dados, através do UCI que é um repositório de Machine Learning, de onde foi retirado conjunto de dados para treinar o Naive Bayes. O primeiro exemplo apresentado em aula, recebia o dataset e, após isso, era possível passar uma frase para ser classificada como 1 para positivo ou 0 para negativo. Para avaliar o desempenho, temos que a precisão é dada pela razão entre a quantidade de comentários que foram classificados como positivo e realmente são e a quantidade dos que foram classificados como positivo, mas que podem ser falsos positivos. Outra medida de desempenho é a revocação que mede a razão entre os que foram classificados como positivo e todos os que são realmente positivos. No segundo exemplo visto, além da base de treino, também é fornecido um conjunto de teste com 750 frases, a partir delas foi verificado os casos verdadeiro positivo e negativo e falso positivo e negativo. Além disso, era calculado a precisão e a revocação. Entretanto, existe um problema para a análise de sentimentos que é a negação, a qual pode alterar totalmente o contexto da frase. Foi apresentado, no terceiro exemplo, uma forma de tratar a negação adicionando um prefixo nas palavras sucessoras até o próximo sinal de pontuação. Para esse caso, a precisão abaixou um pouco, porém a revocação aumentou. Para a análise de sentimentos, a classificação de um sentimento como positivo ou negativo é uma tarefa simples, que se torna mais complexa quando temos que levar em conta uma classificação mais elaborada, como a avaliação quantitativa por exemplo. Porém, existem outras dificuldades, como sarcasmo, ambiguidade de palavras, etc. Por fim, foi apresentado o trabalho da aluna Ana Laura, que tinha como objetivo utilizar algoritmos de detecção de similaridade entre ementadas das disciplinas do catálogo da UFABC, usando PLN. Foi apresentado as etapas da classificação e os resultados obtidos.
Tamiris Gabriele da Silva Lira A décima sexta aula de Processamento de Linguagem Natural continuou a tratar do NLTK, Natural Language Toolkit, através de exemplos. Dessa vez, os exemplos foram Análise de Sentimentos e Similaridade entre ementas da UFABC. O primeiro conjunto de documentos a serem usados de exemplos durante a aula foi o de três avaliações do livro Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro, retiradas do website da Amazon. Estas primeiras avaliações são aparentemente positivas, o que leva ao questionamento de como determinar se as avaliações são positivas, negativas ou neutras. Foram apresentadas, em seguida, avaliações que podem ser consideradas negativas e, após, neutras. O conceito de Análise de Sentimentos começou, então, a ser introduzido. É uma subárea que começou a ter seus primeiros artigos publicados no final dos anos 90, muito popular em Processamento de Linguagem Natural. Pode ser aplicada em diversas áreas, como por exemplo no mercado de ações para análise de sentimentos para auxílio dos investidores, ao fazer uma busca de produto no google para saber o que as pessoas pensam sobre tal produto, etc. Outros termos para Sentiment Analysis incluem Subjectivity Analysis, Sentiment Analysis, Opinion Analysis, Sentiment Mining e Opinion Mining. Assim, Análise de Sentimentos é "a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres", e é utilizada com frequência em pesquisas de opinião e mercado. Também pode ser utilizada em inúmeras aplicações, como polarização política, sentimento público, opinião sobre filmes e avaliação de serviços. São subtarefas da Análise de Sentimentos a classificação de sentimentos (isto é, se um documento é positivo, negativo ou neutro), a geração de lexicon (tendência de uma palavra ser positiva, neutra ou negativa), quantificação de sentimento (se a maior parte de um documento é positiva, negativa ou neutra) e a extração de opinião (que consiste em coletar dados relevantes sobre uma opinião, como o autor e a polaridade da opinião). O programa analiseDeSentimentosNB1.py usa Naive Bayes para classificar uma frase digitada em positiva (1) ou negativa (0). É possível analisar o desempenho do algoritmo. Assim, o programa analiseDeSentimentosNB2.py revelou uma acurácia de 0.792, precisão de 0.759 e revocação de 0.811 para o conjunto testado. Um problema da análise de sentimentos se dá em como lidar com a negação e, uma solução proposta por Das & Chen, resolve isso adicionando o prefixo "não_" antes de cada palavra entre a negação e o sinal de pontuação. O programa analiseDeSentimentosNB3.py implementa essa solução e apresenta melhor acurácia para o mesmo conjunto de dados do programa anterior. Algumas tarefas em Análise de Sentimentos são mais simples que outras. Assim, decidir se um sentimento é positivo ou negativo é simples, mas identificar tipos complexos de sentimentos é um desafio. Por fim, foi apresentado um trabalho que estuda o caso de Similaridade entre ementas da UFABC. Assim, usando o catálogo de ementas de disciplinas, foi feita a leitura e criação de estruturas de dados para o catálogo, o pré- processamento dos dados, a identificação de similaridade entre disciplinas (que gerou uma lista de disciplinas com alto grau de similaridade) e, finalmente, a extração de características e visualização dos dados. Dessa maneira, utilizando medidas de similaridade, os autores do projeto criaram um algoritmo que conseguiu detectar disciplinas similares, seja 100% similar ou com apenas parte da ementa similar.
Luiz Gabriel Correia Continuando vendo aplicações de NLTK, hoje veremos análise de sentimentos e similaridade entre ementas da UFABC. Ao analisar as análises de um livro, podemos ter uma ideia se a análise é positiva olhando algumas palavras ou expressões que consideramos positivas, como "bom", "excelente" ou "inspirador" e "boa tradução". Alguns termos, por exemplo, podem ser regionais ou não ter uma significado muito definido como "chapa branca". O estudo de comentários e textos na ganhou muita tração com redes sociais como o Twitter, onde os comentários são públicos e plataforma é amigável para robôs. Há também o incetivo financeiro e de marketing para empresas analisarem comentários dos usuários. Tem ferramentas que permitem extrair dado um termo todos os termos associados com aquele. Ao pesquisar sobre análise de ferramentos obtemos termos como mineração de opinião, sentimento de mercado, mídia social, machine learning, etc. Análise de Sentimentos ou mineração de opinião é a área de PLN que tentar estudar textos para obter informações sobre os sentimentos presentes no texto. Uma análise com dados do Twitter entre 2010 e 2011 tentou sumarizar o grau de felicidade média das pessoas. Em dias festivos a felicidade é maior que a média, como natal, dia dos namorados, etc. E em dias que ocorreram catástrofes a felicidade é menor que a média, como o terremoto no Japão, aniversário dos atentados de 11 de setembro etc. Classificação de sentimento é clarificar se um trecho de um texto é positivo ou negativo. Geração de léxico é o processo de determinar se uma palavra tende a ser negativa, positiva ou neutra. Quantificação de sentimento é uma ferramenta que estima a prevalência de sentimentos positivos, negativos ou neutros. Extração de opinião é, dada uma opinião em uma sentença, identificar o titular da opinião, seu objetivo, popularidade, força dessa opinião. Primeiro, veremos a classificação de sentimentos em duas classes, positivo e negativo. Podemos utilizar naive bayes para isto. Podemos utilizar uma base da UCI de opiniões sobre filmes e produtos e escrever um programa que treina um classificador a partir dos tokens. Em classificadores NB de duas classes, é típico ter um sucesso de classificação ao redor 80%, sendo que 50% seria o pior resultado possível (aleatório). Em algumas frases, apenas uma palavra como "não" pode mudar completamente a classe. Isso é um desafio para análises com unigramas ou bigramas. Uma estratégia simples proposta em 2001 é tentar adicionar o prefixo "não" a cada palavra entre a negação e o sinal de pontuação. Com isso a precisão caiu um pouco, mas a revocação obteve um aumento considerável. O segundo problema é verificar se uma disciplina é, em termos de conteúdo, parecida com outra. Ou seja ver a similaridade em disciplinas do catálogo da UFABC. O trabalho está sendo desenvolvido por professores do CMCC e uma aluna de IC. A entrada é um arquivo csv com o código da disciplina e ementa da disciplina. Retiramos stopword, utilizamos um lemmatizador. Utilizamos a distância do coseno para ver se dois vetores de palavras são similares ou não. E a saída é o grau de similaridades. Utilizamos o conceito de matriz termo- documento. Vemos que a maior similaridade é entre os trabalhos de conclusão de curso.
Giselle Silva de Santana Nesta décima sexta aula, ministrada no dia 05/08/19, abordou-se o tema "NLTK através de exemplos: Análise de sentimentos e Similaridade entre ementas UFABC". Iniciou-se a aula com a apresentação de alguns comentários sobre um determinado livro, e a partir disso, como seria possível determinar quais opiniões são positivas, neutras ou negativas? Algumas “palavras-chave” como bom, ótimo, excelente, péssimo, decepcionante, podem ser exemplos de indicação se a opinião é positiva ou negativa. Esse tipo de problema é um problema de Análise de Sentimento, que é uma subárea muito popular de PLN, tendo os primeiros artigos publicados nos finais dos anos 90. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa, sendo que em 2018 foram publicados cerca de 8668 artigos. Foi apresentado um exemplo de aplicação de tal área para o mercado de ações, onde o humor dos investidores pode ser monitorado para auxiliar na escolha de investimentos. Também pode ser utilizada para medir a aprovação de determinado produto com base nos comentários dos usuários que realizaram a compra de um determinado produto. A Análise de Sentimentos (Sentiment Analysis) possui termos correlatos como: Subjectivity Analysis, Opinion Analysis, Sentiment Mining ou Opinion Mining. Segundo o autor Bing Liu, considerando-se uma visão de análise mais computacional, o termo adequado seria Opinion Mining, enquanto que se considerando um contexto de análise linguística, o termo mais adequado seria Sentiment Analysis. A Análise de Sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: opiniões, emoções, julgamentos ou pareceres. A AS tornou-se o “Santo Graal” da pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online, tendo como aplicações mais comuns a avaliação de produtos/serviços, opinião sobre filmes/séries, polarização política, predição do mercado de ações e sentimento público. Em 2011, Peter Dodds publicou um trabalho sobre sentimento público que apontava os dias mais felizes e mais tristes, chamado “Temporal patterns of happiness and information in a global social network: Hedonometrics and Twitter”. Algumas subtarefas na “AS” ou “MO” são: classificação de sentimento: classifica se um trecho de texto é positivo, negativo ou neutro; geração de léxicon: determina se uma palavra tende a ser positiva, negativa ou neutra; quantificação de sentimento: estima a prevalência de sentimentos positivos, negativos ou neutros; extração de opinião: dada uma opinião em uam sentença, identifica o titular da opinião, seu objeto, polaridade, a força dessa polaridade e o tipo de opinião. Pode-se, como mostrado em aula através de alguns scripts, utilizar Naive Bayes para realizar o treinamento e classificação de sentimento, sendo que os algoritmos considerados “bons” costumam ter uma acurácia de 85%. Por fim, o professor nos apresentou um trabalho realizado por ele e uma aluna da UFABC sobre similaridade em disciplinas do catálogo da UFABC, utilizando processamento da linguagem natural e diversos coeficientes de similaridade. Como conclusão, foram encontradas diversas disciplinas no catálogo que são similares entre si, desde disciplinas idênticas até disciplinas com parte da ementa similar. Tal resultado pode auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na universidade.
Bruno Menezes Gottardo Ladeia Na aula de número 16 demos sequência ao assunto de NTLK, exemplificando o através de dois exemplos principais: Análise de sentimentos e um programa que comparasse a similaridade entre as ementas da UFABC. A análise de sentimento (AS) é uma subárea muito popular da PLN. Os primeiros artigos foram publicado nos finais dos anos 90. Recentemente tem tido grandes contribuições nesta subárea de pesquisa, em 2018, mesmo, foram publicados 8668 artigos (retirados da base Dimensions.ia). É uma área tão influente que temos aplicações na área de ações, por exemplo. Inclusive existem sites especializados para auxiliar investidores, com base no humor dos outros investidores. Existem alguns termos correlatos para a análise de sentimento como: Subjectivity analysis, sentiment analysis, opinion analysis, sentiment mining, opinion mining. Análise de sentimento (AS) ou Mineração de Opinião (MO): aplicação de um conjunto de tarefas sobre análise de textos para destacar: Opiniões, Emoções, Julgamentos ou pareceres. A AS tornou-se indispensável para: pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. São inúmeras as aplicações, dentre elas as mais comuns são: Opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. As subtarefas existentes na MO são Subtarefas: Classificação de sentimento - classifica um trecho em positivo, negativo ou neutro, Geração de lexicon - Determina se uma palavra tende a ser positiva, negativa ou neutra, Quantificação de Sentimento - Estima a prevalência de sentimentos, Extração de sentimentos - Dada uma opinião numa sentença, identificar o titular da opinião (polaridade, força dessa polaridade e tipo de opinião). A classificação de sentimento segue o seguinte algoritmo de treinamento: function TrainNaiveBayes(D,C){ for each class c ? C Ndoc = number of documents in D Nc = number of documents from D in class c logprior[c] <\- log Nc/Ndoc V <\- vocabulary of D bigdoc[c] <\- append(d) for d ? D with class c for each word w in V count(w,c) <\- of occurrences of w in bigodc[c] loglikelihood[w,c] <\- log (count(w,c) + 1) / (?w' in v (count (w', c) + 1)) return logprior, loglikelihood, V e o seguinte algoritmo de teste: function TestNaiveBayes(testdoc, logprior, loglikelihood, C, V) for each class c ? C sum[c] <\- logprior[c] for each position i in testdoc word <\- testdoc[i] if word ? V // Se uma palavra é desconhecida no treinamento, então será desconsiderada (solução padrão). sum[c] <\- sum[c] + loglikelihood[word, c] return argmaxc sum[c] As bases utilizadas para estes testes foram imdb.com, amazon.com e yelp.com, para cada existem 500 frases positivas e 500 frases negativas. Já o segundo caso envolvendo as ementas da disciplina, o intuito era classificar a similaridade entre as ementas das matérias, mostrando que, talvez, não vale a pena fazer estas matérias que possuem bastante correlações, visto que pode-se não aprender o máximo de conteúdo. As que tinham mais similaridade foram os Trabalhos de Graduação (como 100% similares) e alguns outros grupos de disciplinas que são, pelo menos, 70% similares entre si. Espera-se que estes resultados possam auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Carlos Eduardo Ramos Tema da aula: NLTK através de exemplos, enfoque para Análise de sentimentos e Similaridade entre ementas da UFABC. Início da aula com avaliações do Livro: Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro, vendido na Amazon. As três avaliações parecem ser positivas, porém surge o questionamento: O que nos leva a crer que as avaliações são positivas ou negativas? Analisando os sintagmas das sentenças, podemos encontrar alguns padrões, como adjetivos: ótimo, incrível, bom, etc. Em advérbios ocorre o mesmo, como em: muito, mais, etc. O adjetivo seguido do advérbio pode indicar o sentimento da avaliação, como em: muito mal escrito, poderia ser mais resumida, o livro é bem escrito, etc. Análise de sentimentos é a tarefa de identificar se a opinião que foi expressada em um determinado texto, é positiva ou negativa. É a área de estudo que analisa as opiniões, sentimentos, avaliações, apreciações, atitudes e emoções das pessoas em relação a entidades como produtos, serviços, organizações, indivíduos, questões, eventos, tópicos e todos os seus atributos relacionados. A área surgiu perante Alguns trabalhos antes de 2000, com interpretação de metáforas, subjetividade , adjetivos e pontos de vista em páginas web, blogs, fóruns, discussões. Recentemente, pelo mecanismo de busca N-gram viewer do Google, o assunto vem sendo muito citado. Na análise de sentimentos em Classificações de produtos, temos os atributos ou características do produto e o sentimento das pessoas em relação a aquele atributo ou aspecto. A favor ou contra, amar, gostar, detestar, repudiar. Este tema é correlato com: Mineração de opiniões, PLN, Extração de opinião, análise subjetiva, As aplicações mais comuns: Opinião sobre filmes. Avaliação de produtos/serviços. Polarização política. Predição do mercado de ações. Sentimento público. Um gráfico mostrou a taxa de alegria global perante eventos marcantes para a sociedade global através de tweets. Em eventos de tragédias ou morte de celebridades, a taxa cai. EM eventos de datas comemorativas e feriados, a taxa sobe. A classificação de sentimentos Classifica se um trecho de texto é pos., neg. ou neu. Isso pode ser feito com o algoritmo de Naive-Bayes.Há uma etapa de treino, com trechos já classificados para treinar o algoritmo e depois uma etapa de testes. O algoritmo foi mostrado. A primeira versão realizava a classificação de uma frase inserida pelo usuário. A segunda versão do algoritmo realizava a avaliação dos resultados, com acurácia e precisão das análises. A terceira versão tratava melhor os casos com negação nas sentenças, usando uma técnica de acrescentar a negação nas palavras de uma sentença com negação no início. Isso melhorou o algoritmo. Por fim, foi apresentado um trabalho que desenvolveu um algoritmo de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC. O fluxo foi a aquisição e coleta dos dados das ementas a partir do catálogo de disciplinas da UFABC, pré-processamento, identificação de similaridade e extração de características para apresentação dos dados. A métrica propor a similaridade foi a distância do cosseno, modelando as ementas como vetores termo-documento.
Leonardo Nascimento A análise de sentimento é uma subárea muito popular dentro da área de processamento de linguagem natural (PLN), tendo seus primeiros artigos científicos publicados no final dos anos 1990. Nesse período também é possível observar o surgimento do termo “sentiment analysis” pelo Google Ngram Viewer. No último ano foram publicados 8.668 artigos sobre análise de sentimento segundo a Dimensions.ai. Para a análise de sentimento não é necessário conhecer o objeto sendo avaliado. No caso abordado logo no início da aula, as primeiras avaliações reportam um livro com leitura agradável e muito bem escrito, as seguintes avaliações descrevem um livro mal escrito, cansativo e chato, e as últimas avaliações descrevem um livro bem escrito, porém decepcionante, e é interessante notar que todas as avaliações são referentes ao mesmo objeto. A análise de sentimento, ou mineração de opinião, é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres, e se tornou o Santo Graal da pesquisa de mercado e opinião. São inúmeras as aplicações que utilizam análise de sentimento, existem inclusive sites especializados para a auxiliar investidores com o humor do mercado, além dos que coletam opinião de filmes, avaliação de produtos e serviços, polarização política e sentimento público. Alguns termos correlatos a sentiment analysis e opinion mining são subjectivity analysis, opinion analysis e sentiment mining. É possível ver também correlações com natural language processing, opinion mining, market sentiment, content analysis, social media, text analytics, opinion extraction, etc. Os passos para a análise de sentimento envolvem a classificação de sentimento, classificando se um trecho de texto é positivo, negativo ou neutro; geração de lexicon, determinando se uma palavra tende a ser positiva, negativa ou neutra; quantificação de sentimento, estimando a prevalência de sentimentos positivos, negativos ou neutros; e extração de opinião, onde dada uma opinião em uma sentença, identifica-se o titular da opinião, o objeto, a polaridade da opinião, sua força, e o tipo de opinião. A classificação de um sentimento como positivo ou negativo pode ser feita com o classificador Naïve Bayes. Com ele, espera-se acurácia de pelo menos 80% como baseline. No exemplo apresentado foi usada uma base no repositório da University of California Irvine (UCI) com frases rotuladas para análise de sentimento. Considerando casos mais complexos, onde existem negações que alterariam a polaridade de uma opinião, por exemplo, foi proposta uma solução por Das e Chen em 2001, onde adicionar o prefixo “não_” a cada palavra entre a negação e o próximo sinal de pontuação obteve bons resultados. Nos dias de hoje, tarefas que representam um grande desafio são as que identificam tipos complexos de sentimento, e também alvo e fonte da análise. Para analisar a similaridade entre as ementas da UFABC foram utilizados processos de PLN, como incluir no dicionário de stopwords as palavras comuns a grande parte das ementas, por exemplo análise, sistemas, técnicas, etc., e medidas de similaridade, onde a medida identificada com melhor desempenho foi o coeficiente do cosseno.
Paula Keiko Miyashita A aula 16 continou a abordar NTKL através de exemplos: Análise de Sentimentos e Similaridade de entre ementas UFABC. Ao observarmos três exemplos de avaliações de um produto (no caso da aula, o exemplo foi dado com um livro), como podemos determinar se são positivas, negativas ou neutras? Alguns trechos do comentário podem ser classificados e, por meio deles, classifica-se o comentário. A análise de sentimentos é uma área muito popular de processamento de linguagem natural, os primeiros artigos da área foram publicados no final dos anos 90, mas nos últimos anos houveram grandes contribuições para área, só em 2018 foram 8668 artigos. Análise de sentimentos é utilizada até mesmo para prever o comportamento do mercado de ações em até 5 dias, também pode ser utilizada para classificar comentários (não somente diferenciar entre positivos, negativos e neutros, mas identificar as características do produto apontadas pelo comentário. A análise de sentimentos/mineração de opinião é a aplicação de um conjunto de tarefas para evidenciar opiniões, emoções, julgamentos ou pareceres. É muito importante na pesquisa de mercado, pesquisa de opiniçao e gerenciamento de reputação online. Por exemplo, foi realizado um estudo utilizando análise de sentimentos para estudar as épocas do ano em que as pessoas estão mais felizes. Dentro da Análise de Sentimentos é preciso realizar a classificação de sentimento (definir de um trecho é positivo, negativo ou neutro), geração de lexicon (determinar se uma palavra tende a ser positiva, negativa ou neutra), quantificação de sentimentos (estimar qual sentimento prevalece) e extração de opinião (identificar o titular da opinião, seu objeto, polaridade, força da polaridade e tipo de opinião). Quando consideramos uma classificalçao binária, podemos utilizar o classificador de Bayes (Naive Bayes) que classifica a frase dada, a partir de uma base de treinamento, como a classe mais provável para o objeto analisado. Como o classificador é binário, podemos analisar o desempenho do classificador, dois índices muito utilizados são os valores de precisão e revocação que indicam quantos elementos selecionados são relevantes e quantos elementos relevantes foram selecionados, respectivamente. Também estudamos um meio de lidar com negações, em 2001 Das e Chen criaram um método simples e eficiente para lidar com situações em que se tinha negação: a partir do momento que se encontra uma negação na frase, coloca-se a palavra não antes de todas as próximas palavras até a próxima pontuação. Podemos considerar os níveis de dificuldade das tarefas em Análise de Sentimento: Tarefa simples, classificar um sentimento como positivo ou negativo; Tarefa mais complexa, classificação do sentimento entre 1 e 5; Tarefa que é um grande desafio, identificar tipos complexos de sentimentos, identificar o alvo, identificar a fonte. Por fim, foi apresentado um algoritmo de detecção de similaridade entre ementas de disciplinas da UFABC, que utiliza similaridade do cosseno e classifica algumas palavras muito frequentes nas ementas como stopwords. Este algoritmo foi utilizado para identificar disciplinas muito similares na universidade e ajudar durante a criação de novas disciplinas, para que não estudem os mesmos tópicos.
Eracton Ferreira Ramalho Estamos na aula 16 de PLN. Continuamos estudando NLTK através de exemplos. Agora analisando sentimentos e vendo a similaridade entre ementas da UFABC. Começamos com algumas avaliações de livros feitas por usuários da Amazon e dá para tirar algumas ideias, como: parecem ser todas positivas, poderíamos decidir por comprar e ler. Mas, o que não leva a determinar que as avaliações sejam positivas, ou negativas ou neutras? Vimos mais avaliações e separamos palavras que poderiam dar um significado positivo ou negativo. Assim seria possível avaliar em qual situação a avaliação estava. A área de analise de sentimento é uma subárea muito popular de PLN. Os primeiros artigos científicos foram publicados nos finais dos 90. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa. Em 2018 foram publicados 8668 artigos. Há exemplos para o mercado de ações para analisar o humor dos acionistas. A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: Opiniões, Emoções, Julgamentos, ou Pareceres. A AS tornou-se o “Santo Graal” da: Pesquisa de mercado, Pesquisa de opinião, e Gerenciamento de reputação online. As aplicações mais comuns: opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. Podemos classificar a AS/MO em subtarefas? Classificação de sentimento (classifica se um trecho de texto é positivo, negativo ou neutro). Geração de léxicon (Determina se uma palavra tende a ser positivo, negativo ou neutro). Quantificação de sentimento (estima a prevalência de sentimentos positivos, negativos ou neutros). Extração de Opinião (dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião.) Ponderamos os sentimentos em positivos (1) e negativos (0). As bases utilizadas para este estudo foram: imdb.com, amazon.com e yelp.com. Vimos as telas onde mostrava o algoritmo em ação, ponderando as frases em 0s e 1s. Como lidar com uma negação? Uma solução de Das & Chen: Adicionar o prefixo não_ a cada palavra entre a negação e o sinal de pontuação. Vamos falar um pouco agora da complexidade das AS (analise de sentimentos): Tarefa simples: O sentimento é positivo ou negativo? Tarefa mais complexa: Classificar o sentimento de 1 a 5. Tarefa que é um grande desafio: Identificar tipos complexos de sentimento, identificar o alvo, identificar a fonte. Por fim, vamos falamos da similaridade entre ementas da UFABC. O objetivo era projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando PLN e diversos coeficientes de similaridade. Vimos o processo utilizado no slide 42. Utilizando medidas de similaridade, encontramos algumas disciplinas, no catálogo de disciplinas da UFABC, que são similares entre si. Desde disciplinas completamente idênticas até disciplinas com parte da ementa similar. Acreditamos que estes resultados encontrados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Ricardo Gomes Nesta aula seguimos com a utilização do NLTK, agora analisando sentimentos contidos em textos e também observando a similaridades entre ementas das disciplinas existentes no catálogo da UFABC. A análise de sentimentos em textos fornecem uma boa ideia sobre o assunto tratado. Como saber se um livro é considerado bom ou não? Relatos produzidos pelos leitores contém informações relevantes sobre sua qualidade e então é possível decidir se a compra e leitura deste vale a pena. Através da análise feita sobre os relatos, é possível identificar palavras que possuam uma carga positiva, negativa ou neutra. Estas tendem a aparecer mais em textos com uma carga sentimental semelhante, porém temos o problema de quando palavras com diferentes cargas aparecem juntas em um texto. A análise de sentimentos é muito popular em PLN, com trabalhos produzidos desde o final dos anos noventa, e muitas contribuições sendo produzidas nos últimos anos sobre o assunto. Uma identificação correta sobre sentimentos pode ser muito explorada em diversas áreas, como o mercado de ações e recomendações de produtos, oferecendo às pessoas escolhas consideradas as melhores dentre todas as avaliadas por inúmeros indivíduos. Também conhecida como Mineração de Opinião, a análise de sentimento tem como objetivo evidenciar opiniões, emoções e julgamentos, tornando-se muito popular e considerada o "Santo Graal" em áreas de pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação. Subtarefas incluem classificação e quantificação de sentimento, geração de lexicon e extração de opinião. Em um exemplo utilizando um banco de dados com frases classificadas em positivas e negativas, podemos utilizar um algoritmo para calcular a probabilidade de uma palavra aparecer em textos com uma determinada classificação. Depois de treinar e testar o modelo, pode ser avaliado seu desempenho através das medições como precisão e revocação, que utilizam o número de resultados considerados falsos, positivos e negativos, e verdadeiros, positivos e negativos. Um problema nessa classificação é lidar com negações, onde a negação resulta em uma interpretação diferente. Uma solução simples é tratar a negação junto de outras palavras, estendendo essa ligação para todas as palavras após a negação. Existem tarefas simples, como classificação em bom ou ruim, e complexas, como uma classificação de 1 a 5, em análise de sentimentos e também existem os problemas como sarcasmo e sentimentos complexos. Agora observando a similaridade das ementas de disciplinas, o objetivo é desenvolver um algoritmo capaz de analisar essas ementas e apresentar a relação entre disciplinas. No processo, foram coletados os textos do catálogo, realizado o pré processamento tratando stopwords e por fim gerar o resultado, uma lista de disciplinas com alto grau de similaridade e características principais. Como medidas para verificar a similaridade, foi utilizada a medida dos cossenos. Disciplinas como os projetos de graduação resultaram em uma similaridade idêntica entre eles, já que apresentam a mesma ementa, e outras apresentaram um alto grau de similaridade, como Temas da Filosofia. Esta análise permite auxiliar na tomada de decisões relacionadas à oferta e criação de disciplinas.
Lucas Kenzo Kurokawa Os temas da aula 16 são “Análise de sentimentos” e “similaridade de ementas na ufabc” com nltk. Vimos 3 avaliações retiradas do site amazon sobre o livro do Elon Musk, sendo que a partir destes, provavelmente, poderíamos decidir se compramos ou não o livro. Para sabermos se a avaliação é positiva, negativa ou neutra, um método possível é através de trechos chave. Por exemplo: “alta excelência”, “ótima tradução”, “muito bom” são termos positivos que nos levam a crer que a avaliação é positiva. Já no caso de “muito parcial”, “cansativo” e “muito mal escrito” são termos negativos que nos induz ao contrário, porém é comum encontrarmos nas avaliações tanto termos positivos quanto negativos. A análise de sentimentos é uma subárea muito popular em PLN e de acordo com a base “Dimensions.ia” vem crescendo desde 2005 (33 artigos) até hoje (8668 artigos em 2018). Também vimos a aplicação dela no mercado de ações e em avaliações de produtos no “google search”. Dentro da análise de sentimentos, existem outros termos correlatos: análise subjetiva, análise de opinião, mineração de sentimentos e mineração de opinião. Usamos Análise de sentimentos (AS) ou Mineração de Opinião (MO) para evidenciarmos opiniões, emoções, julgamentos ou pareceres. AS virou o “Santo Graal” da pesquisa de mercado, opinião e gerenciamento de reputação online. As aplicações mais comuns de AS são: opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. Vimos o resultado do estudo “Temporal patterns of happiness and information in a global social network: Hedonometrics and Twitter " do Peter Sheridan Dodds, onde ele mapeou o sentimento público quanto a eventos (como dia de ação de graças, natal, ano novo) e o curioso é que, apesar do período analisado ser de um ano e não permitir uma análise temporal mais precisa, o sentimento público naquele período tendia a ficar cada vez mais negativo. Dentro de AS, ainda existem outras subtarefas: classificação de sentimento (texto pos/neg/neu), geração de lexicon (palavra pos/neg/neu), quantificação de sentimento (estimar prevalência de sentimentos pos/neg/neu) e extração de opinião (identificar o titular da opinião, polaridade, força e o tipo). Vimos um algoritmo de naive bayes para AS e na plataforma “UCI - Machine Learning Repository”, onde temos conjuntos de dados para tarefas de aprendizado de máquina, vimos o conjunto de dados “Sentiment Labelled Sentences”, que possui 3 mil instâncias extraídas do imdb, amazon e yelp (1000 de cada site, sendo 500 positivas e 500 negativas). Para avaliarmos o desempenho do classificador, podemos usar a precisão = verdadeiros positivos/total positivos e o recall = verdadeiros positivos / (verdadeiros positivos+falsos negativos). Existem diversas complexidades: só positivo ou negativo (binário), classificar de 1 a 5 ou até tipos de sentimentos, alvo e fonte. Ao fim da aula, vimos algoritmos para agrupamento de disciplinas por similaridade após pré processamento, onde encontramos disciplinas com alta similaridade e até completamente idênticas. Pode ser usado para melhorar logística de ofertas de disciplinas.
Laura Cestavo Borges Dos Santos A aula do dia 5/8 continuou os exemplos sobre NLTK, dessa vez focando em analise de sentimentos e similaridades entre ementas da UFABC. A aula começou com a apresentação de três avaliações de um livro, as quais parecem ser positivas e podem levar o cliente a querer comprar o livro. A análise de sentimento, permite que possamos classificar algo como positivo, negativo e neutro. É uma subárea muito popular de PLN e teve seus primeiros artigos científicos publicados no final dos anos 90 e desde então houveram diversas contribuições para essa área. A análise de sentimento (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de texto para evidenciar: opiniões, emoções, julgamentos ou pareceres. Ela ficou muito importante entre as pesquisas de mercado, pesquisas de opinião e no gerenciamento de reputação online. Existem inúmeras aplicações, sendo as mais comuns: opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. Existem algumas subtarefas na AS, são elas classificação de sentimento, geração de léxicon, quantificação de sentimento e extração de opinião. A classificação de sentimento classifica se um trecho de texto é positivo, negativo ou neutro. A geração de léxicon determina se uma palavra tende a ser positiva, negativa ou neutra. A quantificação de sentimento estima a prevalência de sentimentos positivos, negativos ou neutros. A extração de opinião, dada uma opinião em uma sentença, identifica o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade e o tipo de opinião. Vimos em sala um exemplo que usava como base de treinamento as reviews de três sites distintos, que já tinha a classificação de positiva e negativa. Após isso, vimos um algoritmo que usava essas bases como treinamento e então a partir de uma entrada de usuário classificava como positiva ou negativa. O segundo código visto, mostrava o número de acertos, acurácia, precisão e revocação. Ao lidarmos com a negação e adicionando o prefixo não_ a cada palavra entre a negação e o sinal de pontuação, observamos que a acurácia subiu um pouco, em relação ao segundo código visto. As tarefas em AS tem diferentes complexidades, por exemplo, tarefas simples são classificar o sentimento como positivo e negativo, tarefas complexas são classificar o sentimento de 1 a 5 e tarefas que são grandes desafios são identificar tipos complexos de sentimento, identificar alvo e identificar a fonte. Frases como “a beautiful hotel in a horrible town” e “a horrible hotel in a beautiful town” ainda são grandes desafios. Por fim vimos o caso da UFABC de similaridade entre ementas. O objetivo era projetar e desenvolver algoritmos de detecção de similaridade entre ementas da UFABC, usando PLN e coeficientes de similaridade. Concluiu-se que utilizando medidas de similaridade, foi possível achar disciplinas similares entre si, desde disciplinas completamente idênticas até disciplinas com parte da ementa similares.
Pedro Ricardo Bronze Análise de avaliações (reviews). A análise de sentimentos não se resume simplesmente a palavras positivas ou negativas em conjunto, existe uma nuance que não torna clara a análise na linguagem humana. Além disso, termos próprios de uma cultura podem conter muita informação para a análise mas de difícil interpretação por máquinas de forma trivial. Exemplos PT-BR : "chapa branca", "vista grossa" , "panos quentes" etc. Referências a certos eventos/personagens/contextos também pode dificultar a análise. Exemplo: "No livro ele é tão objetivo quanto os olhos de Capitu." fazendo referência à personagem de Dom Casmurro de Machado de Assis. Opinion/Sentiment Mining/Analysis são combinações que são utilizadas para se referir a este campo. Livro referência recomendado para aprofundar neste campo é o "Sentiment Analysis and Opinion Mining". Uma definição geral para Análise de sentimentos (AS) é a aplicação de um conjunto de tarefas sobre análise de textos. Algumas subtarefas frequentes no campo são: Classificação de sentimento, geração de 'lexicon', quantificação de sentimento e extração de opinião. Em classificação de sentimento podemos considerar classe 1 para positivo e 0 para negativo. Entre os datasets da UCI está disponível um banco de dados de 3000 linhas (pequeno) com exemplos rotulados de classe positiva e negativa de opiniões. O professor disponibilizará um script que utilizando Naive Bayes treina um classificador de frases em sentimentos positivos ou negativos associados. Os classificadores baseados em Naïve Bayes para duas classes geralmente estão na faixa de acurácia de 80% com classes balanceadas disponíveis para treinamento. Uma forma de lidar com a negação é apresentada por Dan & Chen ao adicionar o prefixo 'not_' a todas as palavras a seguir de, por exemplo, um 'not' , 'didn't' e 'no' até o próximo sinal de pontuação. Uma implementação destas é apresentada no script 3 disponibilizada para esta aula. Em uma escala de complexidade temos tarefas simples seria classificação binária, mais complexa considerando 5 valências de sentimentos diferentes. O estado da arte se concentra em entender a quem se direciona o sentimento em uma frase, o objeto em questão. Segmentação de partes de uma frase que se referem a um objeto específico se encaixa nesta parte complexa. Como no caso de "A horrible town with a beatiful hotel.", se utilizarmos bag-of-words não é trivial conseguir segmentar e identificar quais os objetos aos quais horrible/beautiful se referem. Na UFABC um trabalho de identificar similaridade entre ementas de disciplinas para conseguir evitar a sobreposição de ementas com novas disciplinas além de identificar as já existentes. Uma análise de grafo de similaridade entre ementas após a criação do classificador nos permite tomar decisões em cima de quão similares são diferentes disciplinas. Podemos também validar quais disciplinas devem estar similares e quais não se espera apresentarem alto grau de sobreposição. Para calcular a similaridade das ementas foi utilizado similaridade dos cossenos, ou seja, o ângulo entre vetores de palavras.
Joao Victor Fontinelle Consonni A décima sexta aula de PLN continuou explorando as biblioteca NLTK do python, desta vez com enfoque em uma das mais populares subáreas de PLN, a de análise de sentimentos. Para contextualizar o tema, foram apresentadas diversas avaliações - positivas, negativas e neutras - de leitores do livro Elon Musk, com o intuito de evidenciar elementos textuais que permitem atribuir um sentimento à avaliação. Existe uma série de termos correlatos a análise de sentimentos, com Subjectivity Analysis, Sentiment Analysis, Opinion Analysis, Sentiment Mining e Opinion Mining. A Análise de Sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres. A AS é popularmente utilizada para conduzir pesquisas de mercado, de opinião e de reputação online. As aplicações mais buscam capturar a avaliação de produtos e serviços, a polarização política, a predição do mercado de ações ou o sentimento público em geral. Entre as subtarefas da AS temos a classificação de sentimento, a geração de lexicon, a quantificação de sentimento e a extração de opinião. A classificação de sentimento em uma escala binária (positivo e negativo) costuma utilizar o algoritmo de Naive Bayes, um classificador probabilístico que utiliza a frequência de palavras usadas para determinar a sua classe. Esse algoritmo depende de um corpus de treinamento antes de poder ser utilizado. Vimos alguns exemplos de código em python que aplicaram o algoritmo de Naive Bayes afim de classificar avaliações. O desempenho do algoritmo pode ser medido em termos da sua precisão e da sua revocação, ou seja, quanto elementos selecionados são relevantes e quantos elementos relevantes foram selecionados, respectivamente. Geralmente, uma taxa de precisão superior a 70% é desejada, para reduzir a ocorrência de falsos negativos e falsos positivos. Vimos também uma tratativa especial para os casos de frases com negação, que devem replicar a negação para cada palavra entre a negação e o próximo sinal de pontuação, de forma a considerar o efeito da negação para toda a frase. As tarefas de AS possuem diferentes graus de complexidade. Um classificador binário é mais simples que um classificador com muitas possíveis categorias, por exemplo. Na parte final da aula vimos um um algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC por meio de técnicas de PLN e coeficientes de similaridade. A medida de similaridade utilizada foi o coeficiente do cosseno. No contexto das ementas, palavras como "sistemas" e "análise" foram incluídas na lista de stopwords, pois eram de pouca expressão para classificar as ementas. Por fim, foi apresentado o agrupamento de disciplinas por similaridade, assim como alguns falsos positivos. O algoritmo permitiu encontrar disciplinas semelhantes entre si, desde de disciplinas idênticas até disciplinas com parte da ementa similar. Os resultados podem ajudar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Marcela Akemi Yamashita NLTK através de exemplos. Análise de sentimentos e similaridades entre ementas de disciplinas da UFABC. Exemplo: três avaliações aparentemente positivas do livro "Elon Musk: COmo o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro" na Amazon. O que não leva a determinar que as avaliações sejam positivas, negativas ou neutras. Análise de sentimentos: subárea muito popular em PLN. Compreendia os primeiros artigos científicos da área publicados nos finais dos anos 90. Subárea que tem recebido grandes contribuições. Segundo a base Dimensions.ia, foram publicados 8668 artigos na subárea em 2018. Ngram Viewer do Google mostra que houve grande crescimento do interesse em "sentiment analysis". Exemplo de aplicação: mercado de ações. Utilização de análise de sentimentos para auxiliar investidores a verificar o humor dos investidores. Google product Search: reviews de impressora HP Officejet 6500A. Atribuição/aspectros relacionados ao sentimento. Termos correlatos: subjectivity analysis, sentimento analysis, opinion analysis, sentiment mining, opinion mining. Livro referência: Sentiment Analysis and Opinion Mining (Bing Liu). ETools Web Search gerando foamtree de termos correlatos (sentiment analysis tools, market sentiment, opinion mining etc). Google trends também revela aumento de interesse. Análise de sentimentos (AS) ou mineração de opinição (MO): aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres. A AS se tornou de grande relevância para pesquisa de mercado, de opinião e gerenciamento de reputação online. Diversas aplicações: opinião sobre filmes, avaliação de produtos ou serviços, predição do mercado de ações, sentimento público. Subtarefas: classificação de sentimento, geração de lexicon, quantificação de sentimento, extração de opinião. Análise de sentimentos com Naive Bayes (AnaliseDeSentimentosNB1.py). Classificador com boa porcentagem de acertos para duas classes (na ordem de 80%). Como lidar com negação? Por vezes a negação de uma palavra ainda se refere a um sentimento positivo. Solução de Das&Chen ("Yahoo" for Amazon: Extracting market sentiment from stock message boards", APFA, 2001) adicionar o prefixo não_ a cada palavra entre a negação e sinal de pontuação. Exemplo: "eu não gostei muito desse filme, mas..." -> "eu não_gostei não_muito não_desse não_filme". Exemplo de algoritmo em Python (AnaliseDeSentimentosNB3.py). Complexidade das tarefas em AS: Tarefa simples (sentimento positivo ou negativo?), tarefa mais complexa(classificar o sentimento de 1 a 5), tarefa que é um grande desaqfio (identificar tipos complexos de sentimento, identificar alvo, identificar a fonte). SImilaridade entre ementas da UFABC. Objetivo: projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas do catálogo da UFABC usando ténicas de PLN e coeficientes de similaridade. Idea: evitar criação de disciplinas redundantes. Agrupamento de disciplinas similares em grafos. Através de medidas de similaridade encontrou-se disciplinas que são similares entre si. Disciplinas completamente identifcas e até disciplinas com parte de ementa similar. Resultados podem auxiliar tomadas de decisões relacionadas com a logística de ofertas de disciplinas.
Ramon Neres Teixeira Jardim A aula de hoje fala novamente do uso de NLTK, desta vez aplicando-o em análise de sentimentos e similaridade entre ementas da UFABC. Inicialmente foi mostrado um exemplo com 3 avaliações de um livro. Conseguimos entender facilmente que todas as avaliações são positivas, porém não são conseguimos descobrir de qual livro se trata. Intuitivamente, deduzimos que as avaliações são positivas por conta das palavras positivas que aparecem na avaliação. Após isso foram exibidos alguns exemplos do uso de análise de sentimentos no dia a dia, sendo que um deles consegue avaliar o humor de investidores para prever situações em um futuro próximo na bolsa de valores. Outro exemplo é o Google product search, que avalia a positividade de um comentário de um certo produto e consegue também mostrar sobre qual aspecto do produto o comentário se trata. A análise de sentimentos ou mineração de opinião aplica um conjunto de tarefas (algoritmo) para analisar texto e ressaltar as opiniões, emoções, julgamentos e pareceres disponíveis no texto analisado e é muito utilizado para pesquisa de mercado, de opinião e gerenciamento de reputação online dentre outras aplicações. Um analisador de sentimentos precisa fazer algumas tarefas, dentre elas classificar os sentimentos de um trecho de texto, ou seja, decidir se este é algo positivo ou negativo, determinar se uma palavra é positiva, negativa ou neutra, o que pode ser feito através de dicionários e quantificar esta positividade. Ao criar um classificador, é necessário avaliar o seu desempenho. Alguns termos utilizados na medida de desempenho são: falso positivo, falso negativo, verdadeiro positivo e verdadeiro negativo. Deseja-se sempre reduzir os falsos positivos e falsos negativos, bem como aumentar seus opostos. Outros termos são: precisão, que é a razão entre os acertos do algoritmo e o total de testes e a revocação, que é a razão entre os verdadeiros positivos e todos os positivos. Algo que pode diminuir significativamente a precisão de um analisador de sentimentos é a negação. Um avaliador comum poderia avaliar o trecho “não gostei” como positivo, visto que a palavra “gostei” é claramente uma palavra positiva. Visto isso, faz-se necessário tratar negações para entender que palavras positivas em uma frase negada têm significado negativo. Para isso, ao encontrar a palavra não, deve-se atrelar a palavra “não” à cada palavra até um sinal de pontuação, e inverter a positividade de todas estas palavras. Na segunda parte da aula, foi falado sobre a identificação da similaridade entre ementas da UFABC. Foi apresentado um trabalho que tinha como objetivo desenvolver algoritmos para detectar a similaridade entre as ementas das disciplinas da UFABC. Para isso, foi empregado o uso de técnicas de PLN, dentre elas, algumas medidas de similaridade remoção de stop-words e de palavras com pouca expressão.
Matheus de Araujo Vargas Na aula de Processamento de Linguagem Natural do dia 5 de Agosto do professor Jesus P. Mena foram apresentados alguns exemplos e conceitos de análise de sentimentos e de similaridade entre ementas de cursos da UFABC. Para a parte prática, alguns exemplos de implementação utilizando o NLTK (Natural Language Toolkit) foram apresentados. O objetivo da análise de sentimentos é identificar, a partir de um texto, quais são os sentimentos transmitidos por aquele texto (ou pelo autor) ao escrever o texto. Um exemplo de aplicação seria a análise de um texto de avaliação de um livro/filme. Através da análise de sentimentos, seria possível identificar se o indivíduo que escreveu o texto gostou ou não gostou do filme, se ele está feliz, triste ou neutro, etc. A análise de sentimentos é uma subárea muito popular de PLN, podendo ser redigida como um a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres. A Análise de Sentimentos tornou-se uma ferramenta muito importante das áreas de pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. São inúmeras as aplicações. As aplicações mais comuns são opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. Algumas sub áreas se destacam dentro da Análise de Sentimentos. Dentre elas, podemos citar: Classificação de sentimento, que classifica se um trecho de texto é positivo, negativo ou neutro; Geração de lexicon, que determina se uma palavra tende a ser positiva, negativa ou neutra; Quantificação de sentimento, que estima a prevalência de sentimentos positivos, negativos e neutros; Extração de Opinião, que dada uma opinião em uma sentença, identifica o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade e o tipo de opinião. Para realizar a análise de sentimentos em um texto, diversas técnicas podem ser utilizadas, como por exemplo Bag Of Words e Naive Bayes. Ainda é considerada uma tarefa difícil, sendo que analisar se sentimento é positivo ou negativo é uma tarefa mais simples e classificar o sentimento de 1 a 5, por exemplo, é mais complexa. Um grande desafio dessa área é identificar tipos complexos de sentimento, identificar o alvo e identificar a fonte. Foram apresentados também na aula exemplos de aplicação utilizando NLTK e um projeto que identifica o grau de similaridade entre ementas de disciplinas da UFABC. Utilizando medidas de similaridade, foram encontradas algumas disciplinas, no catálogo de disciplinas da UFABC, que são similares entre si. Desde disciplinas completamente idênticas até disciplinas com parte da ementa similar. Acredita-se que estes resultados encontrados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Vinicius Narciso da Silva O tema da aula foi "NLTK através de exemplos: análise de sentimentos e similaridade entre ementas da UFABC". Começamos analisando algumas avaliações de um livro sobre o Elon Musk. O intuito disso foi conjecturar sobre quais informações são relevantes para saber se a avaliação é positiva ou negativa. A Análise de Sentimento é uma subárea de PLN muito popular, tendo os primeiros artigos sobre o assunto sido publicados no final da década de 90 do século passado. O número de pesquisas sobre essa subárea vem crescendo, sendo que em 2018 foram publicados 8668 artigos sobre o assunto. Dentre as aplicações de análise de sentimentos, podemos citar aplicações para o mercado financeiro e sistemas de avaliações. Análise de Subjetividade, Análise de Sentimentos, Análise de Opinião, Mineração de Sentimento e Mineração de Opinião são alguns termos correlatos dessa subárea de PLN. Definindo: Análise de Sentimentos ou Mineração de Opinião é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres. Hoje em dia, essa análise norteia tomadas de decisão em Pesquisas de Mercado, Pesquisas de Opinião e Gerenciamento de reputação online. A AS é dividida em subtarefas: 1) Classificação do sentimento; 2) Geração de léxicon; 3) Quantificação do Sentimento; e 4) Extração de Opinião. Quanto a classificação do sentimento, podemos utilizar o algoritmo Naive Bayes para treinar o calculo do algoritmo classificador. Essa primeira demonstração utilizou-se de uma aplicação classificadora mais simples. Porém, ela tem suas limitações e precisamos tratar alguns casos, como a negação. Identificar se um sentimento é positivo ou não é uma tarefa simples. Classificar um sentimento dentre 5 categorias já um tanto mais desafiador. Identificar tipos complexos de sentimento (por exemplo sarcasmo) é um grande desafio. Por fim analisamos uma pesquisa que buscava similaridades nas ementas das matérias da UFABC. Dentre todas as medidas de similaridade possíveis, a que apresentou os resultados mais satisfatórios foi a do coeficiente do cosseno. Alguma palavras foram removidas da análise por não agregar muito à decisão, já que são muito comuns em diversas ementas. Em linhas gerais, o algoritmo calculava uma matriz de distâncias e a submetia à umas mediadas de similaridade para, aí sim, gerar um grafo dessa matriz. Tiveram satisfatórios, porém também tiveram alguns falsos positivos, como no caso a disciplina "Refugiados: Direito e Política" ser 70% similar com "Mecânica Geral", por exemplo. Foram encontradas também disciplinas 100% similares (que é o caso dos Trabalhos de Graduação). Há também os casos de disciplinas 100% similares em que são a mesma disciplina, só que com outro nome e esse casos, as coordenações deveriam dar uma atenção para eliminar redundância de disciplinas.
Felipe Rigo Yoshimura Na aula 16, foram abordados os conceitos de análise de sentimento e similaridade entre ementas da UFABC utilizando a biblioteca NLTK. Para identificar se uma avaliação de um livro é positiva, negativa ou neutra, utiliza-se alguns trechos do texto podendo ser positivos como "alta excelência", "ótima tradução" e "muito bom", ou negativos como "muito parcial", "cansativo" e "infelizmente é chato". A análise de sentimento é uma subárea muito popular de PLN, teve seus primeiros artigos publicados no final dos 90s, e as contribuições para essa área vem crescendo nos últimos anos. Alguns exemplos são o estudo específico de análise de sentimentos no mercado de ações e avalição de clientes a respeito de determinado produto. Alguns termos correlatos sao: "Subjectivity Analysis", "Sentiment Analysis", "Opnion Analysis", "Sentiment Mining" e "Opinion Mining". A análise de sentimento ou mineração de opinião é a aplicação de um conjunto de tarefas sobre um texto para evidencias: opiniões, emoções, julgamentes ou pareceres. Essas técnicas são muito utilizadas na pesquisa de mercado, pesquisa de opinião e gerenciamente de reputação online. Alguns exemplos mais específicos são opinião sobre filmes; avaliação de produtos e serviços; polarização política; predição de mercado de ações; sentimento público. Um estudo de sentimento público revela que em geral a população está mais negativa com os anos, e que as pessoas são mais positivas em datas comemorativas e pessimistas em dias de tragédias. Algumas subtarefas na análise de sentimento são: classificação do sentimento, geração de lexicon, quantificação do sentimento e extração de opinião. Utilizando as bases de imdb.com, amazon.com e yelp.com criou-se um programa para classificar se uma frase é positiva ou negativa. Para avaliar esse programa, utiliza-se métricas como acurácia, precisão e revocação. Um truque para tratar o caso da palavra não, é junta-la com todas as palavras depois dela até aparecer uma pontuação. Existem problemas de diversas complexidades em AS, classificar entre positivo e negativo é simples, classificar o grau do sentimento é mais complexo e identificar tipos complexos de sentimento entre alvo e fonte é um grande desafio. Na segunda parte da aula foi mostrado um estudo de similaridade entre ementas da UFABC. Neste estudo utiliza-se um pipeline de extração de dados; pré-processamento textual retirando stopwords e usando thesaurus; identificação de similaridade entre ementas;extração de características e visualização de dados. A métrica de similaridade utilizada nesse estudo foi o cosseno, onde se contabiliza o número de palavras nos dois corpus sobre o produto da norma do primeiro copus e a norma do segundo corpus. Esse estudo possibilitará uma melhor tomada de decisão relacionada com a logística de ofertas de disciplinas.
Lucas Ferraz Nicolau Dando continuidade às aulas sobre NLTK através de exemplos, nesta aula foram vistos implementações e conceitos relacionadas a análise de sentimentos e um caso particular de similaridade entre ementas da UFABC. A análise de sentimentos é uma subárea de PLN cujas pesquisas iniciaram por volta dos anos 90. Alguns termos correlatos para este ramo são análise subjetiva, análise de opinião ou mineração de sentimentos onde, alguns autores, preferem utilizar o termos análise de sentimentos mais relacionado a linguística e questões qualitativas, enquanto reservam o termo mineração de opinião para questões computacionais e quantitativas. Esta área ganhou popularidade nos últimos anos devido a grande quantidade de dados disponíveis devido, principalmente, às redes sociais possuindo uma variedade de aplicações possíveis: análise de opiniões sobre filmes, avaliação de produtos/serviços, polarização política. Citando exemplos mais concretos, no mercado de ações pode auxiliar os investidores nas tomadas de decisões enquanto o Google product search sintetiza avaliações de usuários a respeito de um produto. Em resumo, a análise de sentimentos é a aplicação de um conjunto de tarefas sobre um texto para evidenciar opiniões, emoções, julgamentos e pareceres, definido o novo paradigma da pesquisa de mercado, de opinião e gerenciamento de reputação online. Algumas das subtarefas deste ramo são classificação de sentimento, geração de lexicon, quantificação de sentimento e extração de opinião. Dentre alguns exemplos indicados ao longo da aula, foi apresentada a classificação de comentários, em positivos ou negativos, atribuídos a um livro bibliográfico do Elon Musk. Neste caso, um conjunto de palavras caracteriza as avaliações mas ainda existem dificuldades relacionadas a negação de termos e gírias específicas de um contexto regional. Foram apresentadas também a plataforma Carrot2 que identifica termos relacionados e uma pesquisa de sentimento público realizada entre 2010 e 2011 através de tweets. Na implementação utilizada em aula, realizou-se a classificação de sentimentos através de um classificador supervisionado que utilizava o modelo de Naive Bayes para treinamento. Foram utilizados datasets da UCI para treinamento e as negações foram tratadas replicando um termo “não” em cada palavra até o final da oração. Ao longo dos testes, também foram analisadas as medidas de precisão, que considera quanto dos casos identificados como positivos estão corretos, e revocação, que considera quanto dos casos positivos foram identificados corretamente. A aula encerrou apresentando a análise de similaridade entre ementas na UFABC utilizada para identificar a semelhança entre disciplinas, sugerindo quando uma nova disciplina já tem todo seu conteúdo contemplado por outra. Para esta tarefa foi utilizada a técnica de matriz termo-documento onde a melhor medida de distância encontrada foi o coeficiente do cosseno.
Arthur Veloso Kamienski Análise de sentimento (AS) ou mineração de opinião (MO) (do inglês, sentiment analysis ou opinion mining) é uma área do processamento de linguagem natural que visa obter uma indicação da opinião, julgamento, emoção ou parecer (os ditos "sentimentos") do documento em relação ao tópico abordado, através da aplicação de um conjunto de técnicas de análise de texto. A área surgiu nos anos noventa e tem ganhado popularidade dentro da comunidade, tendo se tornado um dos assuntos mais quentes na atualidade. Essa área é muito utilizada para pesquisa de mercado, pesquisa de opinião, e gerenciamento de reputação. Ela pode aplicada à análise de avaliações e comentários, pois saber o que os usuários estão dizendo sobre o conteúdo ou produto pode ser fundamental para o entendimento do contexto e para a tomada de decisões futuras melhores. As avaliações de um livro, por exemplo, podem alterar a compra de um consumidor que as ler. Os sentimentos podem ser extraídos através da análise de frases e palavras que podem indicar uma afeição ou um desapreço. A análise é dificultada, no entando, pois em muitos casos essas palavras são utilizadas em conjunto, alterando o significado geral da ideia que se quer passar. Ainda assim, podemos analisar os atributos que estão sendo discutidos para cada documento e classificá-los de acordo com seu sentimento, extraindo a informação para aquele atributo em específico. A análise de sentimentos pode ser utilizada também para a geração de lexicons, ao determinar se uma palavra tende a ser positiva, negativa ou neutra. Um dos métodos que podemos utilizar para a análise de sentimentos é um classificador Naive Bayes, que utiliza a probabilidade de uma palavra pertencer a categoria de sentimentos no conjunto de treinos para prever a probabilidade de um documento ser de uma classe baseado em suas palavras. Classificadores deste tipo costumam obter resultados de em torno de oitenta por cento de acurácia, precisão e recall. Palavras de negação podem ser um problema para a análise de sentimentos pois invalidam tudo que as segue. Para mitigar esse efeito, pode-se unir as palavras de negação com as que seguem, adicionando-as às palavras seguintes até o sinal de pontuação, gerando novas palavras de sentido oposto às palavras originais e invertendo o sentido da frase. As tarefas de análise de sentimento podem ser simples, indicando apenas se o sentimento é positivo ou negativo, mais complexas, indicando uma escala para a intensidade do sentimento, ou um grande desafio, ao tentar indicar sentimentos complexos, ou as fontes e os alvos desses sentimentos.
Eduardo Haberler Cardoso A décima sexta aula de PLN, ministrada dia 05 de agosto teve como tema central exemplos de aplicações voltadas à área da análise de sentimentos utilizando os algoritmos relacionados à disciplina. A aula foi iniciada com um exercício prático onde ao ler alguns comentários a respeito de um livro, pouca informação se obtida sobre o conteúdo do livro, porém era fácil de identificar o sentimento do leitor vinculado à obra em questão. No caso, o exemplo se tratava sobre o livro "Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro", no qual todos os comentários eram positivos. Porém o que nos fez concluir que os comentários eram positivos foi o uso de palavras-chave específicas que, baseado no senso comum, remetem a emoções positivas, como por exemplo as palavras "ótimo", "excelência", "recomendo" e etc. Porém sob a óptica do algoritmo, o desafio de interpretar um comentário se torna bastante problemático uma vez que o uso de palavras, de senso comum, negativas em determinados contextos, como no caso de ironias, podem não querer remeter a emoções negativas. Nos últimos anos, muitos trabalhos, principalmente utilizando tweets, foram realizados na subárea de análise de sentimentos. O número de artigos publicados desde o final dos anos 90, vem crescendo exponencialmente, principalmente na última década. Um termo equivalente para este tipo de aplicação é a mineração de opinião e podemos definir esta subárea como a aplicação de um conjunto de tarefas sobre análise de textos, com o intuito de evidenciarmos opiniões, emoções, julgamentos ou pareceres. Estas aplicações estão ganhando cada vez mais valor em pesquisas de mercado, opinião ou gerenciamento de reputação online. Diversos trechos de código são apresentados na aula em questão, para o leitor interessado, vale checar o material disponível. Dentre o conteúdo disponível, está apresentado a aplicação utilizando o algoritmo de naive bayes em Python. Este algoritmo, numa aplicação de dois estados (e.g. positivo e negativo) obtém resultados interessantíssimos, com acurácia de em torno de 80%. Para a aplicação deste algoritmo em situações de mais estados, a acurácia média decai significativamente, sendo por volta de 50% com a adição de apenas 1 estado. Basicamente a utilização deste algoritmo neste tipo de aplicação envolve um pré processamento da base, retirando as stopwords, demais informações indesejadas e uma radicalização das palavras. Em seguida o algoritmo é treinado e testado com uma amostra do corpus previamente classificado. No caso de um teste positivo, o algoritmo pode ser aplicado ao restante do corpus disponível.
Rodolfo Azevedo Dos Santos NLTK através de exemplos Análise de sentimentos Similaridade de ementas da UFABC Algumas avaliações de um livro: Opiniões positivas: palavras positivas “bom”, “excelência”, “ótimo”. Em cor verde são palavras positivas (que definem um texto positivo). Termos ambíguos devem ser levados em consideração para análise de sentimentos. Análise de sentimentos: é uma subárea muito popular de PLN (começou no final dos anos 90). Em 2018 foram publicados 8668 artigos. Muito utilizado para analisar tweets (aplicação em redes sociais) Um exemplo para o mercado de ações auxilia a tomada de decisão dos investidores (Financial sentimento analysis) Google Product Search: atributos do produto e sentimentos relacionados a partir de reviews. Estão falando bem ou mal? (mais fácil) Quais aspectos? (mais difícil) Aspecto (atributo): é o atributo do produto avaliado Termos correlatos: Análise de subjetividade Mineação de opinião Mineração de sentimento Carrot 2: passa como parâmetro um termo e ele retorna termos relacionados (similares) AS: Aplicação de um conjunto de tarefas para evidênciar opiniões,emoções, julgamentos ou pareceres (sentimentos humanos) “Santo Graal” de pesquisa de mercado, pesquisa de opinião. Sentimento público: quanto mais alto mais feliz, quanto mais baixo mais triste (é o estudo de caso da pesquisa analisada) “average happiness” Subtarefas de AS: 1)Classifação de sentimentos 2) Geração de léxicos 3) Quantificação de sentimento 4) Extração de opinião (quem está falando, qual o grau e sobre o quê?) Classificação de sentimentos 1 – Positivo 0 – negativo Conjunto de dados: UCI: Base do UCI (Machine Learning Repository) A partir do IMDB, Amazon e Yelp (para cada site extraíram 500 reviews positivos e negativos) Análise de sentimentos: Dado uma frase retorna 0 ou 1. Avaliando desempenho: Falso positivo, verdadeiro positivo, falso negativo, positivo negativo (4 possibilidades) Precision e revocação (recon) Quanto mais próximas de 1, melhor são. Como lidar com a negação? Pré processamento Solução de Das & Chen: Adicionar prefixo “não_” a cada palavra entre a negação até identificar um sinal de pontuação. (pode configurar quais termos são a negação) Tarefa simples: Classificar em positivo e negativo Tarefa mais complexa: Classifica o sentimento de 1 a 5. Grande desafio: quem é o alvo e quem é a fonte? Similiaridade entre ementas: O caso da UFABC Aplicação para o contexto da UFABC. Uma nova disciplina proposta é similar a uma disciplina já ofertada? Medidas de similaridade: distância do cosseno Remove stopwords e palavras de pouca expressão. Considerações finais: Utilizando medidas de similaridade encontra-se similaridade entre disciplinas ofertadas na UFABC.
Caique de Camargo Aula 16 de Processamento de Linguagem Natural. Tema abordado em aula: NLTK através de exemplos: Análise de Sentimentos e Similaridade entre Ementas da UFABC. Análise de sentimento é uma subárea muito popular de PLN, sendo os primeiros artigos científicos publicados em meados do início da década de 1990, aumentando consideravelmente as grandes contribuições na área nos últimos anos, em 2018 mesmo foram 8668 artigos publicados. Existem até sites especializados em áreas específicas, como o Mercado de Ações, que utilizam da análise de sentimento para avaliar o humor dos investidores. Termos correlatos: Subjectivity Analysis; Sentiment Analysis; Opinion Analysis; Sentiment Mining; Opinion Mining. A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: Opiniões, Emoções, Julgamentos, ou Pareceres. A AS tornou-se o “Santo Graal” da: Pesquisa de mercado, Pesquisa de opinião, e Gerenciamento de reputação online. São inúmeras as aplicações. As aplicações mais comuns: Opinião sobre filmes. Avaliação de produtos/serviços; Polarização política; Predição do mercado de ações; Sentimento público. O AS pode ser dividido em subáreas como: Classificação de sentimento: Classifica se um trecho de texto é pos., neg. ou neu. Geração de lexicon: Determina se uma palavra tende a ser pos., neg. ou neu. Quantificação de sentimento: Estima a prevalência de sentimentos pos., neg. ou neu. Extração de Opinião: Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Complexidade das tarefas em AS: Se o sentimento é negativo ou positivo é considerado fácil, mas classificá-los dentro de uma métrica maior do que sim e não é complicado, são considerados um grande desafio: identificar tipos complexos de sentimento, identificar o alvo e identificar a fonte. Similaridade entre ementas: Trabalho da aluna Ana Laura Belotto Claudio que visa "projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando Processamento da Linguagem Natural e diversos coeficientes de similaridade" e tem como conclusão que "utilizando medidas de similaridade, encontramos algumas disciplinas, no catálogo de disciplinas da UFABC, que são similares entre si. Desde disciplinas completamente idênticas até disciplinas com parte da ementa similar. Acreditamos que estes resultados encontrados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade."
Yago Sorrilha NLTK através de exemplos: análise de sentimentos e similaridade entre ementas UFABC Reunindo algumas avaliações de livros, podemos determinar se as avaliações são positivas, negativas ou neutras? A análise de sentimento é uma subárea muito popular de PLN. De fato, os primeiros artigos científicos foram publicados nos finais dos anos 90. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa e somente em 2018 foram publicados 8668 artigos. Exemplo: mercado de ações: utilizar análise de sentimento para auxiliar o mercado de ações de acordo com o humor dos investidores. Termos correlatos: subjectivity analysis, sentiment analysis, opinion analysis, sentiment mining, opinion mining. Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres. A AS tornou-se o "Santo Graal" da pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. São inúmeras aplicações: opiniões sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações, sentimento público. Subtarefas Classificação de Sentimento: classifica se um trecho de texto é positivo, negativo ou neuto. Geração de lexicon: determina se uma palavra tende a ser positiva, negativa ou neutra. Quantificação de sentimento: estima a prevalência de sentimentos positivos, negativos ou neutros. Extração de opinião: dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade e o tipo de opinião. Classificação de sentimento positivo e negativo: classificador de naive bayes Demonstrado exemplos em python Como lidar com a negação? Uma solução é adicionar o prefixo _não a cada palavra entre a negação e o sinal de pontuação. Complexidade das tarefas em AS: Tarefa simples: o sentimento é positivo ou negativo? Tarefa mais complexa: classificar o sentimento de 1 a 5 Tarefa que é um grande desafio: identificar tipos complexos de sentimento, identificar o alvo, identificar a fonte Demonstrado um exemplo de um algoritmo de detecção de similaridade entre ementas de disciplinas da UFABC usando PLN e diversos coeficientes de similaridade Utilizando medidas de similaridade, encontrou-se algumas disciplinas, no catálogo de disciplinas da UFABC, que são similares entre si. Desde disciplinas completamente idênticas até disciplinas com parte da ementa similares. Estes resultados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas da Universidade
Rafael Ribeiro Gomes da Silva Nessa décima sexta aula, continuamos com os tópicos relacionados ao NLTK, mas dessa vez voltados para a análise de sentimentos e no final da aula um estudo feito por uma aluna para a similaridade entre as disciplinas na UFABC. No início, abordamos três revisões de um livro e que aparentemente são positivas, e que seriam indícios de um bom livro e que para os usuários que se importam com esse tipo avaliação, provavelmente comprariam o livro. A análise de sentimentos é relativamente nova, com seus primeiros artigos datados do final dos anos 90. É uma das ramificações da PLN mais estudadas nos últimos anos, só em 2018 foram 8668 artigos voltados ao assunto. É extremamente abordada comercialmente, pois possibilita as pesquisas de mercado, opinião e controle da reputação online. Já que é possível interagir com um cliente insatisfeito de maneira rápida e impedir que a má reputação se espalhe. Além disso, o mercado financeiro também se beneficia, pois, as oscilações no mercado e especulações são passíveis de análise de sentimentos. Para classificar essa Análise de sentimentos/Mineração de Opinião, são geradas subtarefas: classificação de sentimento (indicando se é positivo, negativo ou neutro); geração de léxicon (indicando se uma palavra tende a ser positiva, negativa ou neutra); quantificação de sentimento (estima um valor para os sentimentos) e extração de opinião (levando em conta todas as variáveis, inferir qual é o sentimento final). Como primeiro exemplo prático, vimos uma binarização de Bayes, em que as frases que podem se referir a um sentimento positivo recebem 1 e é atribuído 0 para as negativas. Essa polarização é a maneira básica de ser feita e que produz resultados satisfatórios. Um dos maiores problemas em se trabalhar com AS, é lidar com a negação e através de uma solução elaborada por Das & Chen, onde é adicionado o prefixo not para cada frase, aumentando a acurácia. Outro caso que atrapalha consideravelmente a precisão, são as ironias e sarcasmos, já que as palavras recebem um certo valor de sentimento e é difícil mensurar completamente o contexto. Na segunda metade da aula, analisamos um trabalho de IC, onde foram analisados os catálogos de ementas das disciplinas para identificarem similaridades, facilitando uma possível escolha entre os alunos para suas grades. Possibilita também uma melhor distribuição de disciplina nos quadrimestres seguintes.
Matheus Tulio Pereira da Cruz A aula teve um enfoque em análise de sentimentos nos textos. O primeiro exemplo foram comentários de um livro que quando lemos percebemos que os comentários são positivos. Mas questão que fica é, por que identificamos que os comentários eram positivos? O que identifica se um texto é de cunho positivo, neutro ou negativo são as combinações de algumas palavras ou até palavras únicas. Exemplos: ótima tradução, muito bom, fanfarrão, muito mal escrito, etc. Grande problema, como identificar se uma frase é positiva ou negativa se ela tem termos positivos e negativos? Análise de sentimos é uma subárea muito popular de PLN. De fato, os primeiros artigos científicos foram publicados nos finais dos 90s. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa. Em 2018 foram publicados 8668 artigos. Termos correlatos à análise de sentimentos: \- Subjectivity Analysis. \- Sentiment Analysis. \- Opinion Analysis. \- Sentiment Mining. \- Opinion Mining. A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: \- Opiniões, \- Emoções, \- Julgamentos, ou \- Pareceres. A AS tornou-se o “Santo Graal” da: \- Pesquisa de mercado, \- Pesquisa de opinião, e \- Gerenciamento de reputação online. Possuem inúmeras aplicações: \- Opinião sobre filmes. \- Avaliação de produtos/serviços. \- Polarização política. \- Predição do mercado de ações. \- Sentimento público. Classificação de sentimento: \- Classifica se um trecho de texto é pos., neg. ou neu. Geração de lexicon: \- Determina se uma palavra tende a ser pos., neg. ou neu. Quantificação de sentimento: \- Estima a prevalência de sentimentos pos., neg. ou neu. Extração de Opinião: \- Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Tivemos a apresentação de um projeto de similaridade entre ementas da UFABC. O objetivo era projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando Processamento da Linguagem Natural e diversos coeficientes de similaridade. Utilizando medidas de similaridade, encontramos algumas disciplinas, no catálogo de disciplinas da UFABC, que são similares entre si. Desde disciplinas completamente idênticas até disciplinas com parte da ementa similar. Acreditamos que estes resultados encontrados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Felipe de Campos Mesquita Na aula 16 de processamento de linguagem natural com tema NLTK através de exemplos, os tópicos análise de sentimentos e similaridade entre ementas na UFABC foram abordados. Começamos a aula analisando 3 resenhas de livros como aqueles encontrados em site de compra online, e recortando alguns trechos podemos perceber que nem sempre é uma tarefa fácil, pois termos isolados podem ser interpretados de maneia errada, como podemos perceber nas partes destacadas nos slide, uma mesma frase com: Livro muito bem escrito, mas abaixo das minhas expectativas pode nos levar a uma avaliação positiva considerando o primeiro trecho, por esse e outros motivos, o problemas de classificar resenhas em positivas e negativas pode se tornar uma tarefa difícil. A análise de sentimento é uma subárea muito popular, os primeiros artigos surgiram na década de 90, um exemplo bem famoso é o de análise de sentimentos para o mercado de ações. A análise de sentimentos também é conhecida como mineração de opinião e a ideia é fazer uma análise de texto para evidenciar opiniões, emoções, julgamentos ou pareceres. Outros exemplos de aplicações são opiniões sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. A classificação de sentimento pode ter a classificação positivo (um) e negativo (zero), nos slids podemos ver pseudo códigos de treinamento Naive Bayes e em seguida a aplicação de alguns exemplo usando programas em python. Um dos desafios abordados é o de como lidar com a negação, já que podemos ter mais de uma palavra não em uma frase, e essa palavra pode mudar a análise a ser feita, assim, um exemplo de solução é adicionar o prefixo não_ a cada palavra entre a negação e o sinal de pontuação. A outra parte da aula foi sobre similaridade entre ementas da UFABC e vimos como as medidas de similaridade mostram a similaridade entre alguns cursos da UFABC, desde disciplinas completamente idênticas até com parte da ementa similar, a ideia é que os resultados ajudem na tomada de decisão relacionado a ofertas de disciplinas na Universidade, neste tópico um dos desafios é como tratar palavras que não agregam valor a análise, palavras com pouca expressão, e alguns exemplos são, sistemas, análise, desenvolvimento, introdução entre muitas outras.
Gabriel Peterlini Pinto Aula do dia 05/08, tema “NLTK através de exemplos: Análise de sentimentos e Similaridade entre ementas UFABC”. A aula começou com a análise de algumas avaliações de livros, vimos como exemplos avaliações do livro “Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro” tanto positivas e negativas para identificar o que ou quais partes do texto de cada avaliação caracteriza a mesma como boa ou ruim. A Análise de sentimento é uma subárea muito popular de PLN. De fato, os primeiros artigos científicos foram publicados nos finais dos 90s. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa, só em 2018 foram publicados 8668 artigos na base do site dimensions.ia. A análise de sentimento possui muitas aplicações atuais como para o mercado financeiro de forma ajudar investidores, ou a busca de produtos no google que destaca os atributos mais presentes nas avaliações de outros clientes, entre outros. Mais formalmente a análise de sentimentos (AS) ou mineração de opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos ou pareceres. A “AS” tornou-se o “Santo Graal” de pesquisas de mercado, opinião e do gerenciamento de reputação online. As aplicações mais comuns de AS são: Opinião sobre filmes. Avaliação de produtos/serviços. Polarização política. Predição do mercado de ações. Sentimento público Algumas subtarefas da classificação de sentimento são: * Classificar se um trecho de texto é positivo, negativo ou neutro; * Geração de léxicon que determina se uma palavra tende a ser positiva, negativa ou neutra; * Quantificação de sentimento estima a prevalência de sentimentos positivo, negativo ou netro; * Extração de Opinião: Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Por fim, vimos um exemplo de aplicação da análise sobre as ementas de disciplina da própria UFABC, chegando a conclusão que muitas disciplinas são similares ou até idênticas. Tais resultados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Mayza Cristina da Silva NLTK através de exemplos: - Análise de sentimentos - Similaridade entre ementas UFABC No começo da aula o professor traz alguns trechos de críticas sobre o livro “Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro”. Como podemos garantir que um comentário traz uma crítica positiva ou negativa, ao ser avaliado por um algoritmo? Aqui entramos então na avaliação de sentimentos baseada em análise de PLN. Publicações relacionadas à este tema são mais recentes e têm contribuído bastante para essa subárea de pesquisa. Podemos analisar no gráfico trazido em aula um alto pico de pesquisas no ano de 2008. Esse crescimento continua regular até os dias de hoje. Existe uma trama de assuntos que se correlacionam e podem estar indiretamente ligados com o estudo de sentimentos através de linguagens naturais. A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: Opiniões, Emoções, Julgamentos, ou Pareceres A AS tornou-se o “Santo Graal” da: Pesquisa de mercado, Pesquisa de opinião, e Gerenciamento de reputação online. São inúmeras as aplicações. As aplicações mais comuns: Opinião sobre filmes. Avaliação de produtos/serviços. Polarização política. Predição do mercado de ações. Sentimento público. A análise de assuntos comentados está intimamente ligada com a data de acontecimentos relacionados, como a compra de presentes para mães em dias próximos ao dia das mães, e afins. A pesquisa por alguma personalidade assim que surge algum assunto em que a pessoa esteja em destaque na mídia. Classificação de sentimento: Classifica se um trecho de texto é pos., neg. ou neu. Geração de lexicon: Determina se uma palavra tende a ser pos., neg. ou neu. Quantificação de sentimento: Estima a prevalência de sentimentos pos., neg. ou neu. Extração de Opinião: Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Como lidar com a Negação? Uma solução de Das & Chen: Adicionar o prefixo não_ a cada palavra entre a negação e o sinal de pontuação.
Thiago Bruini Cardoso Silva A décima sexta aula da disciplina explorou ainda mais a utilização da biblioteca NLTK em aplicações que envolvam análise de linguagem natural. Nessa aula, os tópicos que tiveram ênfase foram a análise de sentimentos e comparação de ementas de matérias da UFABC em questão de proximidade. A explicação da análise de sentimentos começou pelo questionamento: "O que torna uma avaliação de livro positiva?". As expressões presentes nos textos nos permitem identificar o que cada avaliador sentiu a criar uma avaliação, logo, isso caracteriza o teor da avaliação. Podemos então, a partir de exemplos de avaliações positivas e negativas, treinar um classificador capaz de determinar o teor de futuras avaliações, definindo assim o que conhecemos como "análise de sentimentos". Entre as aplicações dessa técnica, destacam-se pesquisas de opiniões sobre filmes e avaliação de produtos por exemplo. A análise de sentimentos pode ser dividida em subtarefas: -Classificação de sentimentos: Categorização de frases em positivas, negativas ou neutras; -Geração de lexicon: Definição da característica de uma palavra, ou seja, se é positiva ou negativa; -Quantificação de sentimentos: Determinação da frequência de termos negativos e positivos em frases; -Extração de opinião: Dada uma frase, determinar o quão polarizada está em um sentido, podendo ser essa técnica utilizada em pesquisas de polarização política por exemplo. A classificação de sentimentos em classes é uma tarefa relativamente simples. Para criar um modelo capaz de realizar essa tarefa, é necessário um conjunto de dados com frases e classe binária responsável por representar o sentimento (positivo ou negativo). A partir desse conjunto de dados, é possível realizar o pré-processamento estudado anteriormente para gerar dados estruturados capazes de serem usados para treinamento de algum classificador, como o Naive Bayes. A avaliação de classificadores binários como pode ser realizada por métricas como acurácia, recall, precisão e f1 score. Alguns problemas enfrentados pela análise de sentimentos como a presença de "não" na frase podem ser facilmente tratados com a adição de "não_" em frente a todas palavras seguintes até um sinal, enquanto outros problemas, como a dupla negativa possuem maiores dificuldades de serem tratados.
Jairo da Silva Freitas Junior Nesta aula tratamos num primeiro momento sobre análise de sentimentos usando NLTK. Comentários geralmente carregam poucas informações sobre o contexto a que se referem, porém são ricos em informação para determinar como o usuário avalia aquele assunto. Não atoa, esta área tem crescido vertiginosamente nos últimos anos, com aplicações que vão da avaliação de produtos a decisão de compra e venda no mercado de renda variável (principalmente ações). Em Sentiment Analysis and Opinion Mining, Bing Liu define o conceito de mineração de opinião como a inferência do opinião com base em métricas estatísticas e análise de sentimento como o mesmo objetivo alcançado de forma mais heurística e baseada em análise linguística. Usarei ambos como exemplos, porém. Em 2011 Peter Dodds publicou uma análiseinteressante sobre padrões de felicidade e informação em redes sociais. Este artigo eventos como a morte de Bin Laden e o casamento real aparecem destacados como outliers negativos e positivos, respectivamente. O algoritmo de Naive Bayes é geralmente suficientemente bom para este tipo de tarefa, com acurácia geralmente em torno de 80%. A acurácia é a razão de verdadeiros positivos e negativos sobre o total de amostras. Outras métricas, entretanto, como precisão e revocação (recall) podem ser escolhas melhores a depender do problema. Bases notáveis como o IMDB, Amazon e Yelp podem ser utilizadas para treinamento. Uma dica para lidar com negações é utilizar o prefixo não_ entre a negação e o termo negado. Ao final da aula o professor apresentou o caso de análise de similaridade entre disciplinas da UFABC. Foi realizado pré-processamento com remoção de stopwords, stemming e comparação com um dicionário de palavras de interesse. Calculou-se entãoi a matriz de distâncias entre palavras e a similaridade entre disciplinas. Grafos foram criados para apresentação dos resultados. Os trabalhos de graduação, por exemplo, são 100% similares, assim como algumas disciplinas específicas dos cursos pós-BI (ex: Zoologia de Invertebrados I, Fundamentos de Zoologia dos Invertebrados e Zoologia Geral dos Invertebrados). Os resultados sugerem que há oportunidade de melhorar as ementas das disciplinas e replanejar a oferta das mesmas.
Matheus Dos Santos Pereira Resumo da aula 16 de processamento de linguagem natural, sobre nltk através de exemplos, analise de sentimentos e similaridade entre ementas UFABC Alguns exemplos de analise que podemos fazer, para identificar se uma frase é positiva, negativa ou neutra, é uma subárea muito popular de processamento de linguagem natural, os primeiros artigos científicos foram publicados nos finais dos 90s, nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa, só em 2018 foram publicados 8668 artigos. Foi passado alguns exemplos relacionados ao mercado financeiro e a analise de sentimentos. A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar, Opiniões, Emoções, ,Julgamentos e Pareceres, tornou-se o “Santo Graal” da Pesquisa de mercado, Pesquisa de opinião, e Gerenciamento de reputação online. As aplicações mais comuns são Opinião sobre filmes, Avaliação de produtos/serviços, Polarização política, Predição do mercado de ações, Sentimento público. Algumas subtarefas de analise de sentimentos são, em primeiro lugar, Classificação de sentimento, que se refere a classifica se um trecho de texto é positivo, negativo ou neutro, em segundo lugar, geração de lexicon, que se refere a determina se uma palavra tende a ser positivo, negativo ou neutro, em terceiro lugar, quantificação de sentimento, que é a estima a prevalência de sentimentos positivo, negativo ou neutro, e por ultimo, mas não menos importante a extração de Opinião, que é dar uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. Depois foi demonstrado com exemplos e códigos em python sobre como efetuar estas técnicas descritas acima, assim também com exemplos e métodos de como lidar com a negação na hora de efetuar a analise, a complexidade destas tarefas, após isso foi dado um exemplos pratico usando as matérias da UFABC como conjunto de dados e grafos para visualização dos resultados, assim podemos identificar matérias similares, dentre a grade de matérias da UFABC.
Rafael Pauwels de Macedo Continuando o estudo do NLTK (Natural Language Toolkit) vimos aplicações no espectro da análise de sentimentos e na similaridade de ementas da UFABC. No primeiro momento da aula tivemos como exemplo a interpretação de avaliações sobre o livro bibliográfico de Elon Musk e sentimos um pouco da dificuldade inerente desse exercício, mas percebemos as possibilidades de mapear avaliações positivas, negativas e mistas através do uso de palavras chaves negativas ou positivas. O ato de analisar sentimentos através do texto tornou-se comum após os anos 90, virando uma das subárea mais populares de PLN, tendo só em 2018 aproximadamente 8668 artigos. Havendo um claro aumento de pesquisas sobre o termo no decorrer dos últimos anos. Aplicações dessa análise vão desde como citado avaliação de itens até a determinar o humor de um investidor financeiro. Outros termos correlatos são subjectivity analysis, sentiment analysis, opinion analysis, sentiment mining e opinion mining. As análises de sentimentos (AS) ou mineração de opinião (MO) é a aplicação de análises que evidênciam opiniões, emoções, julgamentos ou pareceres, sendo o Santo Graal da pesquisa de mercado, pesquisa de opinião e do gerenciamento de reputação online. Permitindo como visto em aula até a mapear e correlacionar a felicidade geral da população com épocas do ano e eventos específicos. As subtarefas existentes são classificação de sentimento (negativo, positivo ou neutro), geração de lexicon (determina tendência da palavra), quantificação (quão negativa ou positiva) e extração de opinião. Usando a base de sentenças disponível na UCI vimos a classificação real de sentenças usando um algoritmo simples em python. Que calcularia e daria a resposta de forma binária sobre a positividade de uma frase digitada pelo usuário. Com algumas mudanças no algoritmo começamos a tratar também os casos de negação e vimos como podemos enxergar a complexidade das tarefas envolvidas na análise. Por fim vimos sobre um trabalho realizado na UFABC que estuda justamente a similaridade entre disciplinas, podendo auxiliar decisões de diminuir o número de matérias diferentes que abordam o mesmo conteúdo.
Diego Pereira de Lima Nesta 16° aula do Prof. Jesús P. Mena-Chalco de Processamento de linguagem natural, foi abordado tanto análise de sentimento quanto similaridade das ementas de matérias da ufabc. No início da aula foi evidenciado algumas avaliações de m livro para introduzir o conceito de análise de sentimento e assim discorrer sobre o tema. Neste sentido, foram destacados alguns trechos positivos e negativos. Então, a análise de sentimentos, muito popular em PLN sendo que seus primeiros estudos foram na década de 90 vem aumentando as contribuições cientificas neste tema. Até para investimentos e descobrir o humor do mercado de ações há análises de sentimento disponíveis na internet (Stock Fluence), como também em pesquisa dos google a respeito de produtos e seus comentários. Para referência abordagem conceituais de análise de sentimento é o livro ‘Sentiment Analysis and Opinion Mining’, além de representar também um diagrama do relacionamento dos temas referidos a análise de sentimento. Tanto análise de sentimento quanto mineração de opinião são utilizadas em diversos casos de estudo como avaliações de filmes, livros serviços ou produtos, polarizações política, predição de humor de mercado de ações, ou até sentimento público. Na análise de sentimento, há vários métodos de como implementar este conceito e formas de extrair valor dos resultados, como: Classificação de sentimento por trechos, determinação de termos para análise de sentimento, qualificação de sentimentos e extrações de opinião e sua polaridade são subtarefas de mineração de opinião. Também foi indicado o site da UCI para utilização das bases de dataset e sua utilização nos projetos. Além, de exemplos de implementações para análise de sentimento em alguns datasets, foram explicados também algumas métricas de validação como precision e recall para avaliações de modelos. Por fim, foi apresentado o trabalho de inciação cientifica da Ana Laura, que tinha como objetivo identificar similaridade de disciplinas no catálogo da UFABC. Neste foi apresentado o pipeline do projeto, métricas e medidas de similaridade, o pseudo-código do método e o resultado do agrupamento em grafos.
Paulo Alexander Simoes Aula 16 - NLTK através de exemplos: - Análise de sentimentos - Similaridade entre ementas UFABC Análise de sentimento - É uma subárea muito popular de PLN. De fato, os primeiros artigos científicos foram publicados nos finais dos 90s. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa. Em 2018 foram publicados 8668 artigos (base Dimensions.ia). Existe, inclusive, sites especializados para a Análise de Sentimentos para auxiliar investidores com o humor dos investidores. A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: Opiniões, Emoções, Julgamentos, ou Pareceres. A AS tornou-se o “Santo Graal” da: Pesquisa de mercado, Pesquisa de opinião, e Gerenciamento de reputação online.São inúmeras as aplicações. As aplicações mais comuns: Opinião sobre filmes. Avaliação de produtos/serviços. Polarização política. Predição do mercado de ações. Sentimento público. Classificação de sentimento: Classifica se um trecho de texto é pos., neg. ou neu. Geração de lexicon: Determina se uma palavra tende a ser pos., neg. ou neu. Quantificação de sentimento: Estima a prevalência de sentimentos pos., neg. ou neu. Extração de Opinião: Dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião.Classificação de sentimento: positivo (1) e negativo (0). Para cada frase: A pontuação é 1 (para positivo) ou 0 (para negativo) Bases: imdb.com amazon.com yelp.com Para cada site, existem 500 frases positivas e 500 frases negativas. Projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando Processamento da Linguagem Natural e diversos coeficientes de similaridade. Utilizando medidas de similaridade, encontramos algumas disciplinas, no catálogo de disciplinas da UFABC, que são similares entre si. Desde disciplinas completamente idênticas até disciplinas com parte da ementa similar. Acreditamos que estes resultados encontrados podem auxiliar na tomada de decisões relacionadas com a logística de ofertas de disciplinas na Universidade.
Iasmin de Haro Pracchias A aula do dia 05/08 abordou os temas análise de sentimentos e similaridade de ementas entre matérias da UFABC. A aula se iniciou com a a apresentação de exemplos de avaliações positivas sobre um livro, e o questionamento sobre o que nos leva a determinar que essas avaliações são de fato positivas. Concluímos que isso ocorre por conta de um conjunto de palavras de conotação positiva, e ainda podemos fazer a mesma análise para palavras de conotação negativa ou neutra. Desta forma estamos analisando os sentimentos envolvidos no texto. A análise de sentimentos é uma subárea muito popular dentro de Processamento de Linguagem Natural, e as aplicações mais comuns envolvem temas como análise de opiniões, análise de polarização política, etc. O estudo de Análise de Sentimentos pode ser dividido em cinco subtarefas: classificação de sentimentos (define se os trechos analisados são positivos, neutros ou negativos), geração de lexicon (define se as palavras analisadas são positivas, neutras ou negativas), quantificação de sentimento (estima qual sentimento prevalece no texto analisado), extração de opinião (dado uma opinião identificar as características da mesma, e os atores envolvidos). Vimos alguns exemplos de classificação de sentimentos, e o professor comentou que classificadores que envolvem apenas duas classes devem acertar pelo menos 80% das classificações para serem válidos. São usadas medidas de precisão (quantos dos elementos analisados são relevantes) e de revocação (quantos elementos relevantes foram selecionados) para analisar a precisão desses classificadores. Um dos problemas na análise de sentimentos são as negações que podem estar relacionadas a palavras distantes do 'não' no texto, para lidar com esse problema existe uma forma simples que se trata de adicionar o prefixo _nao a cada palavra do trecho até o próximo sinal de pontuação. No final da aula vimos como foram usados coeficientes de similaridade para encontrar similaridades entres as ementas das matérias oferecidas na UFABC, desta forma podendo agrupá-las e assim permitir um estudo de qual a melhor maneira de ofertá-las.
Luana Ferreira do Nascimento A análise de sentimentos é uma subárea muito popular de processamento de linguagens naturais onde os primeiros artigos científicos conhecidos foram publicados ao fim dos anos 90. Ultimamente esta demanda tem aumentado consideravelmente e nos últimos anos foram realizadas diversas contribuições para esta área de pesquisa sendo que em 2018 foram publicados 8668 antigos sobre o tema. A análise de sentimentos ou também a mineração de opinião são aplicações de um conjunto de tarefas abordando análise de textos para colocar em evidência opiniões, emoções, julgamentos ou pareceres e a análise de sentimentos se tornou um objeto de grande desejo da pesquisa de mercado, também pesquisa de opinião e gestão de reputação online. Podemos contar com inúmeras aplicações relacionadas a análise de sentimentos e dentre elas as mais comumente encontradas são: opiniões sobre filmes, avaliações de produtos e serviços, polarização política, predição do mercado de ações e sentimento público. As matérias inclusas dentro da análise de sentimentos são: Classificação de sentimentos, que é classificar se um trecho de texto é positivo, negativo ou neutro. Geração de léxicons que é determinar se uma palavra tem tendência a ser positiva, negativa ou neutra. Quantificação de sentimentos, que é estimar quais sentimentos são os mais prevalentes, podendo ser sentimentos positivos, negativos ou neutros. Extração de opiniões, ou seja, dada uma opinião a cerca de uma sentença identificar o titular da opinião, qual o seu objeto, a sua polaridade e a força dessa polaridade, e o tipo de opinião dada. A classificação de sentimentos pode ser feita atribuindo para cada frase a pontuação 1 para positivo ou 0 para negativo usando uma base classificada como parâmetro de entrada porém existe o problema de ter negação, onde um não seguido de um gostei pode resultar em um falso positivo, então uma das soluções encontradas para este caso é colocar apenas um não no lugar de nãos seguidos de espaço, assim negaria um falso positivo.m caso acontecesse.
Willian Teruya Kimura Na aula referente ao dia 05/08, foi dado continuação ao uso da biblioteca NLTK por meio de exemplos, no caso os apresentados foram a “Análise de Sentimentos” e “Similaridade entre ementas da UFABC”. Para iniciar a aula, o professor apresentou alguns trechos referentes a avaliações de um livro, sendo que, ao ler cada um separadamente, não é possível extrair muita informação literal relevante. Mas, ao analisar os trechos, eles aparentam ter características positivas que podem incentivar a compra do livro. A partir disso, é levantado questionamentos: o que não leva a determinar que as avaliações sejam positivas negativas ou neutras? A partir disso, o professor apresentou o tema referente a análise de sentimentos, em que se trata uma subárea muito popular em PLN, sendo seus primeiros artigos publicados no final dos anos 90, tendo grande contribuições na área recentemente. Alguns termos correlacionados com análise de sentimentos são: subjectivity anallysis, sentimento analysis, opinion analysis, sentimento mining e opinion mining. A análise de sentimentos é a aplicação de um conjunto de tarefas sobre análise de textos para evidencias opiniões, emoções, julgamentos ou pareceres, e está altamente utilizado para pesquisa de mercado e opinião, além de gerenciar a reputação online. Aplicações que podem aparecer no uso dessa técnica envolvem analisar polarização política, sentimento público e opinião sobre filmes, por exemplo. Para se realizar a análise, é realizado algumas subtarefas: 1 – Classificação de sentimento, 2 – Geração de lexicon, 3 – Quantificação de sentimento, 4 – Extração de opinião. Assim, é possível realizar uma classificação binária de sentimento, sendo 1 positivo e 0 negativo. O algoritmo usado é o Test Naive Bayes. Em seguida foi apresentado um tema desenvolvido por alguns alunos que se trata da Similaridade entre ementas na UFABC. O objetivo foi desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, utilizando-se de PLN e diversos coeficientes de similaridade.
Estevao Crippa da Veiga Avaliações são algumas frases que descrevem o pensamento de uma pessoas a respeito de determinado assunto e podem influenciar na compra ou não de um produto, por exemplo. O que nos leva a acreditar que uma avaliação seja positiva, por exemplo, são termos específicos que não encontraríamos numa avaliação negativa, por exemplo. A análise de sentimento (AS) é uma subárea de PLN com artigos publicados no final dos anos 90. É a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões e emoções. Assim, há uma grande procura pelo seu estudo, pois auxilia na identificação não só do sentimento público como também na pesquisa de mercado. Algumas subtarefas da análise de sentimentos são: classificação de sentimentos, geração de lexicon, quantificação de sentimento e extração de opinião. As três primeiras atividades estão relacionadas com alguma ação associada a positividade do sentimento. Para identificar negatividade em frases, Das & Chen sugeriram a adição do prefixo “não_” a cada palavra entre uma negação e a pontuação, o que aumenta acurácia na classificação de frases em frases negativas. Classificar o sentimento em positivo ou negativo é uma tarefa simples, mas calcular a intensidade da negativa ou da positividade é mais difícil. Mas as tarefas mais difíceis para análise de sentimentos são: identificar tipos complexos de sentimento, identificar o alvo e identificar a fonte. Foi realizado um trabalho na UFABC para desenvolver algoritmos para detecção de similaridade entre as disciplinas da UFABC. Dois pontos bem interessantes a ressaltar desse trabalho são: das disciplinas com mais de 70% de similaridade, aparece uma que não se encaixa no grupo formado, e, além disso, existe um grupo com disciplinas com 100% de similaridade, que são as disciplinas de trabalho de graduação, cuja ementa não se altera. Assim, o trabalho foi de grande importância para auxiliar na logísticas e nas decisões tomadas a respeito das ementas das disciplinas.
Rodrigo San Martin Ignacio Gomes Resumo da Aula 16. NLTK através de exemplos: Análise de sentimentos e Similaridade entre ementas UFABC. A análise de sentimentos pode ser utilizada para determinar em avaliações de livros, por exemplo, quais são positivas, negativas ou neutras. É uma subárea muito popular em processamento de linguagem natural, com os primeiros artigos publicados no final da década de 90. É uma área em forte expansão, em 2018 foram publicados 8668 artigos, de acordo com o banco de dados da dimensions.ia. Também é utilizada no mercado de ações, com empresas como a stock influence que tenta prever o comportamento do mercado de ações de acordo com análise do humor dos investidores. Com base nisso, os investidores podem descobrir, reagir e responder as opiniões do mercado. Ela monitora as medias sociais e analisa o sentimento médio. Outro exemplo é a busca por produtos do google, que seleciona aspectos ou atributos e extrair o sentimento para cada um deles a partir das reviews dos produtos. Outros textos correlatos são análise de subjetividade, análise de sentimentos, análise de opinião, mineração de sentimento e mineração de opinião. A partir da mineração de opinião (MO) pode-se evidenciar opiniões, emoções, julgamentos ou pareceres. É uma das ferramentas mais impactantes em pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. Dentre as aplicações mais comuns estão a avaliação de opinião sobre filmes, produtos ou serviços, polarização política, predição do mercado de ações e sentimento. público. A Classificação de sentimento classifica de um trecho de texto é positivo, negativo ou neutro. A geração de lexicon determina se uma palavra está entre essas 3 categorias. A quantificação de sentimento estima a prevalência de sentimentos e a extração de opinião em uma sentença identifica o titular da opinião, seu objeto, sua polaridade, a força da polaridade e o tipo de opinião.
Murilo Bolzan Dionisio NLTK: O método de criar novas PLNs com o intuito de responder algumas perguntas básicas, como buscar opiniões em uma redação e encontrar similaridades dentre eventos, por exemplo. Análises de livros em um website de comércio (Amazon, Mercado-Livre e etc) seria um outro bom exemplo, pois com isso conseguimos determinar que qualquer uma das avaliações tenha caráter positiva ou negativa. Fazendo uma análise mais profunda da língua portuguesa, percebemos a existência de diversas palavras com significados tanto qualitativos quanto pejorativos, porém necessitamos ampliar essa análise para checarmos expressões e frases, para concluirmos de melhor forma a real intenção do autor do texto. A existência de termos ambíguos, gírias e expressões regionais faz com que a dificuldade desse algoritmo aumente drasticamente, pois é um interpretação que também deve ser levada em conta na avaliação da entrada. Em PLN, essa análise de intenções e sentimentos de quem escreve o texto base é um tema de estudo relativamente novo, fazendo com que o estudo incorra sobre diversos segmentos da atualidade (desde percepções em redes sociais até em profundas a avaliações financeiras). A análise de sentimentos ou mineração de opinião é a aplicação de um conjunto de tarefas sobre a interpretação de algum texto a ser analisado, com essas tarefas podendo ser opiniões, emoções, julgamentos e/ou pareceres. Também é possível existirem subtarefas dentro de cada uma dessas classificações. Ao fazermos a avaliação de sentimentos, conseguimos fazer uso de conceitos binários, onde positivo seria 1 e negativo seria 0. Para isso utilizamos a base do UCI. Após as interpretações serem feitas, podemos perceber 4 possíveis resultados, sendo eles: Positivo correto, onde foi previsto corretamente como positiva a frase; Negativo correto, o mesmo para uma frase negativa; Falso positivo, onde foi previsto como positiva, mas na realidade a frase era negativa; Falso negativo, o inverso do anterior.
Denildo Veloso Braga Aula 16: NLTK através de exemplos: Análise de sentimentos e Similaridade entre ementas da UFABC. Aplicação: avaliações de livros. O que caracteriza uma avaliação positiva? Palavras positivas como bom, legal e excelente. Também existem termos negativos como cansativo, chato e ruim e termos ambíguos. Análise de sentimentos é uma subárea muito popular de processamento de linguagem natural e que cresceu muito nos últimos anos, com análise de sentimentos de tweets, livros, filmes, jogos e outras mídias. Aplicação no mercado financeiro: análise de sentimentos para previsão do mercado de ações. Termos correlatos: mapa de termos próximos. Análise de sentimentos ou mineração de opiniões é aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções ou polarização. Subtarefas da análise de sentimentos: classificação de sentimento: classifica se um documento é positivo, negativo ou neutro; geração de lexicon: determina se uma palavra tende a ser positiva, negativa ou neutra; quantificação de sentimento: estima a prevalência de sentimentos positivos, negativos ou neutros e extração de opinião: subtarefa mais difícil, identifica o nível de polaridade de uma sentença. Classificação de sentimento: usa Naive Bayes para determinar a probabilidade de um documentos pertencer a uma classe. Para calcular as probabilidades, primeiro o algoritmos é treinado usando um corpus. Conjuntos de dados famosos são: IMDb, Amazon e yelp. Avaliação de desempenho: para análise binária de sentimentos, ou seja, com duas classes, positivo e negativo, o desempenho de usar Naive Bayes é, na média, 80%, ou seja, 80% das classes preditas são corretas. Duas medidas de avaliação são precisão e revocação. Tratamento de negação: uma estratégia é concatenar o prefixo de negação para cada palavra até encontrar um sinal de pontuação. Tarefas difíceis para classificação de sentimento: identificar alvo, tratar dupla negação e ambiguidade. Caso de uso: identificação de similaridade entre ementas de disciplinas da UFABC.
Victor Arruda Ganciar Nessa aula demos continuidade aos exemplos de aplicações que utilizam processamento de linguagem natural, mais especificamente Análise de Sentimentos e Similaridade entre Ementas na UFABC. Análise de Sentimento é uma área muito popular de programação neurolinguística, os primeiros artigos foram publicados na década de 90 e nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa, de fato, só no ano de 2018 foram publicados 8668 artigos científicos. A Análise de Sentimentos, também conhecida como Mineração de Opinião, é aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: opiniões, emoções, julgamentos ou pareceres. A Análise de Sentimento tornou-se o “Santo Graal” da pesquisa de mercado, da pesquisa de opinião e do gerenciamento de reputação online. São inúmeras as aplicações que podem utilizar a análise de sentimentos, as mais comuns são: opinião sobre filmes, avaliação de produtos e serviços, polarização política, predição do mercado de ações e sentimento público. Subtarefas na Análise de Sentimentos: * Classificação de sentimento: classifica se um trecho de texto é positivo, negativo ou neutro; * Geração de lexicon: determina se uma palavra tende a ser positiva, negativa ou neutra; * Quantificação de sentimento: estima a prevalência de sentimentos positivos, negativos ou neutros; * Extração de opinião: Dada uma opinião em uma sentença, identifica-se o titular, o objeto, a polaridade, a força da polaridade e o tipo de opinião. O objetivo do projeto de detecção e similaridade entre ementas da UFABC é de projetar e desenvolver algoritmos usando o processamento de linguagem natural e diversos coeficientes de similaridade. Utilizando as medidas de similaridade foi possível encontrar algumas disciplinas, no catálogo da UFABC, que são similares entre si, desde de disciplinas completamente idênticas, até disciplinas com parte da ementa similar. Esse resultado pode na tomada de decisões relacionadas à logística de oferta de disciplinas na universidade.
Tiago Suzukayama A aula foi sobre dois dipos de NLTK por exemplo: análise de sentimentos e similaridade entre ementas UFABC. Com base em três avaliações aparentemente positivas de um livro, poderiamos decidir comprar e ler o mesmo. Mas o que não leva a determinar que as avaliações sejam positivas, ou negativas ou neutras? A análise de sentimento é uma subárea muito popular de PLN. De fato, os primeiros artigos científicos foram publicados nos finais dos 90s. Nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa. Em 2018 foram publicados 8668 artigos. A análise de sentimentos ou mineração de opinião é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar: opiniões, emoções, julgamentos ou pareceres. O a AS tornou-se o santo graal da pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. Suas aplicações são quase infinitas, como opinião sobre filmes, avaliação de produtos, polarização política, predição do mercado de ações e sentimento público. As subtarefas da AS são: classificação de sentimento, geração de lexicon, quantificação de sentimento e extração de opinião. A classificação de sentimento pode ser binária: 1 para positivo, e 0 para negativo. Para a similaridade entre ementas da UFABC, como objetivo, temos projetar e desenvolver algoritmos de detecção de similaridade entre ementas de disciplinas associadas ao catálogo da UFABC, usando processamento da linguagem natural e diversos coeficientes de similaridade. O processo consiste em: ler e criar as estruturas de dados para o catálogo, pré-processar os dados textuais extraídos do catálogo, identificar similaridades entre ementar e extrair as características e visualizar dados. Por fim, é possível concluir que algumas disciplinas da UFABC possuem alguma similaridade, desde disciplinas completamente idênticas até disciplinas com partes similares. Com estes resultados é possível tomar decisões relacionadas a oferta de disciplinas na faculdade.
Julia Messias Costa Análise de Sentimentos no Processamento de Linguagem Natural Conseguimos identificar comentários positivos a respeito de um livro, mas como conseguimos fazê-lo? O que nos faz perceber qual o cunho de um texto (positivo, neutro ou negativo)? A resposta está não só em palavras únicas, mas principalmente na combinação de palavras. Um problema é: como identificar se uma frase é positiva ou negativa quando há palavras dos dois "tipos" nela? A análise de sentimentos é uma subárea de grande popularidade dentro da área de processamento de linguagem natural, sendo os primeiros artigos publicados no final dos anos 1990, mas com um índice crescente de publicações, já que em 2018 foram publicados mais de 8 mil artigos. Os principais termos correlatos à análise de sentimentos passados em sala foram: Subjectivity Analysis, Sentiment Analysis, Opinion Analysis, Sentiment Mining e Opinion Mining. A análise de sentimentos (AS) ou Mineração de Opinião (MO) é basicamente a aplicação de várias atividades a respeito da análise de textos, sendo isso para evidenciar um ou mais dos quatro fatores a seguir: opiniões, emoções, julgamentos e pareceres. A análise de sentimentos tornou-se uma área de extrema importância com muito enfoque das seguintes áreas: pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. As aplicações são diversas, sendo as principais delas: opinião sobre filmes, avaliação de produtos e/ou serviços, polarização política, mercado de ações e sentimento público. A diferença entre classificação de sentimento, geração de lexicon e quantificação de sentimento é que a primeira classifica um trecho de um texto como positivo, negativo ou neutro; já a segunda determina a tendência de uma palavra a ser positiva, negativa ou neutra; enquanto a terceira estima a prevalência de sentimentos positivos, negativos ou neutros.
Lucas Vitalino Severo Pais O tópico desta aula foi sobre análise de sentimentos. Análise de sentimento de texto (em inglês sentiment analisys) é uma classe de métodos de análise de conteúdo em linguística computacional destinados à identificação automatizada em textos de vocabulário emocionalmente diverso e a avaliação emocional de autores (opiniões) em relação a objetos referidos no texto. Sentimento é a atitude emocional do autor de uma afirmação para um objeto (um objeto do mundo real, evento, processo ou suas propriedades ou atributos), expresso no texto. O componente emocional, expresso no nível do lexema ou fragmento comunicativo, é chamado de sentimento lexical (ou sentimento lexical). O sentimento de todo o texto pode ser definida como uma função (no caso mais simples) a soma do sentimento lexical de suas unidades (sentenças) e as regras para sua combinação. É um tema muito popular na área de pesquisa de processamento de linguagem natural tendo seus primeiros artigos publicados na década de 90. Há muitas utilidades, todas relacionadas a automatização de tarefas com grandes bases de dados de texto, como por exemplo pesquisas de opinião e satisfação, avaliações de usuários, medição de polarização, predições de ações na bolsa baseado no humor dos investidores e outros. Dentre as subtarefas dentro de analise de sentimento temos classificação de sentimentos, geração de lexicon, quantificação de sentimentos e extração de opinião. Uma técnica conhecida para fazer a análise de sentimentos é usar classificadores naive bayes com um dicionário de adjetivos para tentar inferir se a opinião geral do texto é positiva ou negativa. Em algumas frases pode ser difícil tratar o caso negativo de algumas expressões, a solução de Das & Chen é prefixar as palavras de expressões negativas com um "não_" para que sejam mais facilmente identificados por classificadores.
Matheus Miranda Teles NLTK através de exemplos. Nesta aula foram feitaos análise de sentimentos e similaridade entre ementas na UFABC. Para comprar um livro, avaliamos se as pessoas que já levam deram suas opniões sobre para nos guiar sobre a qualidade do mesmo, e tendo em vista alguns textos, o que nos informa que aquelas avaliações são positivas ou negativas. Avaliações positivas com frequencia podem possuir palavras como muito bom, otimo livro etc, enquanto as negativas possuem as palavras chato, cansativo etc. Essas análises são denominadas análise de sentimento, e é muito popular em PLN. Um exemplo prático é o mercado de ações, onde existem robos especializados a lerem notícias sobre empresas avaliar os sentimentos e assim fazer suas decisões. A Análise de sentimento é o Santo Graal das pesquisas de mercado e de opinião e possuem inúmeras aplicações, como dito antes na predição do mercado de ações ou para avaliação de produtos ou serviços. Existem subtarefas na análise de sentimentos, e são elas a classificação de sentimento, onde um trecho é classificado como positivo, negativo ou neutro, a geração de lexicon, onde se determina uma palavra como positiva, negativa ou neutra, a quantificação de sentimento, onde estima a prevalencia de sentimento, e a extração de opinião, onde dada uma opinião, identificar o titular, o objetivo, a polaridade etc. Para lidar com a negação é dificil e existe uma solução, onde dada uma negação, deve-se adiciaonar o prefixo não antes de cada palavra até o sinal de pontuação. Na análise de sentimentos, é simples analisar se um texto é positivo ou negativo, já é mais dificil classificá-lo numa escala de sentimento e um grande desafio é identificar os tipos complexos de sentimento, o alvo, e a fonte
Gustavo Murayama O NLTK pode ser utilizado para realizar uma análise de sentimentos ou identificar similaridade entre documentos. A Análise de Sentimento (AS) é uma subárea muito popular em Processamento de Linguagem Natural, com um número grande de artigos a respeito, com termos correlatos como Subjectivity Analysis, Sentiment Analysis, Opinion Analysis, Sentiment Mining e Opinion Mining. Quando tratamos da análise de sentimentos, é importante levar em conta que somente a palavra sozinha pode não indicar um sentimento positivo, negativo ou neutro, pois alguma outra palavra está modificando o sentido da palavra que está sendo analisada (um advérbio, por exemplo). A palavra “desista” indica um sentimento negativo, mas precedida de um advérbio de negação como “não” torna “não desista” uma frase com sentimento positivo. A AS (ou Mineração de Opinião, MO) é uma aplicação de um conjunto de tarefas sobre análise para evidenciar opiniões, emoções, julgamento ou pareceres. Tem inúmeras aplicações, das quais as mais comuns são análise de opinião sobre filmes, avaliação de produtos/serviços, polarização política, predição do mercado de ações e sentimento público. A classificação de sentimento ocorre sobre um trecho de texto, e os classifica como positivo, negativo ou neutro. A geração de lexicon determina se uma palavra tende a ser positiva, negativa ou neutra, a quantificação de sentimento estima a prevalência de sentimentos positivo, negativo ou neutro e a extração de opinião identifica o titular da opinião, seu objeto, polaridade, força e tipo de opinião de uma sentença. Utilizando o algoritmo Naive Bayes, podemos ter uma boa acurácia dos textos analisados, em torno de 80% de acerto. Uma forma de lidar com a negação nas frases é adicionar o prefixo “não” a cada palavra entre a negação e o sinal de pontuação.
Felipe Dias Correia A aula 16 abordou novamente sobre NLTK, mas como exemplos de análise de sentimentos e similaridade entre as ementas da UFABC. Dado o inicio da aula, foi usado exemplos de avaliações de livros, com opiniões e revisões, e o objetivo da análise de sentimento ou mineração de opinião é buscar destacar se a avaliação é positiva ou negativa. Outro exemplo foi dado sobre o mercado de ações, onde o algoritmo busca auxiliar os investidores e retornar o humor dos outros investidores. A análise de sentimento procura evidenciar nos textos as opinões, emoções, julgamentos e pareceres dos usuário de acordo com o texto em análise, e sua aplicações podem ser usada em opiniões de filmes, avaliações de produtos, polarização política, predição do mercado de ações e sentimento público, onde esse último foi mostrado um gráfico do sentimento publico ao decorrer do período entre outubro de 2010 e setembro de 2011, mostrando que em épocas festivas como natal e ano novo, o sentimento é mais positivo, e no período de maio até setembro, vai decaindo. As subtarefas são: Classificação de sentimento; Geração de lexicon; Quantificação de sentimento; Extração de Opinião. E também foi mostrado algoritmos de AS, onde positivo é classificado como 1 e negativo, como 0, e para o conjunto de dados, foi usado o UCI. E após o exemplo, também abordou a forma de identificar uma negação, por ser algo mais difícil de identificar no texto, por não ser apenas "negar uma palavra" e sim entender o contexto e classifica-lo se é positivo ou negativo. Também mostro o algoritmo de detecção de similaridade entre ementas da disciplinas da UFABC, onde mostrou as técnicas para fazer o agrupamento e as ligações entre as ementas.
Henrique Augusto Santos Batista Analise de sentimento de uma subárea muito popular de processamento de linguagem natural onde os primeiros artigos científicos foram publicados no final doa anos noventa, essa demanda tem aumentado nos últimos anos foram realizadas grandes contribuições para essa subárea de pesquisa, em 2018 foram publicados 8668 antigos sobre o tema. A analise de sentimentos ou a mineração de opinião é a aplicação de um conjunto de tarefas sobre analise de textos para evidencias opiniões, emoções, julgamentos ou pareceres e a analise de sentimentos se tornou o “Santo Graal” da pesquisa de mercado, pesquisa de opinião e gerenciamento de reputação online. Existem inúmeras aplicações relacionadas a analise de sentimentos, dentre elas as mais comuns são: opinião sobre filmes, avaliação de produtos e serviços, polarização política, predição do mercado de ações e sentimento público. As subtarefas de análise de sentimento são: Classificação de sentimento que é classificar se um trecho de texto é positivo, negativo ou neutro. Geração de léxicon que é determinar se uma palavra tende a ser positiva, negativa ou neutra. Quantificação de sentimento que é estimar a prevalência de sentimentos positivos, negativos ou neutros. Extração de opinião que é dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião. A classificação de sentimento pode ser feita atribuindo para cada frase a pontuação um para positivo ou zero para negativo usando uma base classificada como parâmetro porem existe o problema da negação onde um não seguido de um gostei pode dar um falso positivos então uma das soluções encontradas para isso é colocar um não_ no lugar de não seguido de espaço assim negaria um falso positivo
Lucas Zanoni de Oliveira Na aula 16 do dia 05/08 tivemos continuidade do NTLK através de exemplos, sendo por análise de sentimentos e similaridade entre ementas UFABC, onde inicialmente foi pego um livro como exemplo (“Elon Musk: Como o CEO bilionário da SpaceX e da Tesla está moldando nosso futuro”), onde foram analisadas algumas opiniões dadas sobre o mesmo. Essa análise pode ser denominada como de sentimento, sendo uma subárea bem popular da PLN como um todo, tendo início em meados dos anos 90 e possuindo um grande volume de contribuições recentemente. Esse conceito pode ser denominado também como mineração de opinião (MO), sendo definida como a aplicação de uma série de tarefas sobre análises textuais com o intuito de evidenciar opiniões, emoções e até julgamentos; tendo se tornado um “santo graal” da área de BI (inteligência de negócios/mercado) e sendo aplicada em casos como de: opiniões sobre livros ou filmes, avaliações de produtos, polarização política, predição do mercado de ações e até sentimento público. Algumas subtarefas da AS são: classificação de sentimento, geração de lexicon, quantificação de sentimento e extração de opinião. A classificação de sentimento pode ser positiva ou negativa, assumindo os valores de 1 ou 0, respectivamente. Em seguida, foi mostrado um exemplo em python desta aplicação. A segunda parte da aula foi referente à similaridade entre ementas (caso UFABC), que possui como objetivo projetar e desenvolver algoritmos detectivos de similaridades entre ementas distintas porém associadas ao catálogo da UFABC, sendo utilizado para isso PLN e alguns coeficientes de similaridade. Sendo assim, depois foram mostradas as relações dentre algumas matérias por meio de agrupamentos, sendo classificadas em acima de 70% e 100% similares, gerando uma espécie de grafo.
Rafael Correia de Lima O tema dessa décima sexta aula do curso de PLN foi Análise de Sentimentos e Similaridade entre Ementas de disciplinas na UFABC. O exemplo inicial foi desenvolvido em torno da identificação de opiniões de leitores em uma loja de livros. É fácil para um leitor ao ler as avaliações dos outros identificar se estas são positivas ou negativas, isto é, se os outros leitores recomendam a compra ou não. Mas um sistema inteligente para a classificação destes textos pode não captar com precisão o tom real das opiniões. A área de análise de sentimentos busca desenvolver metodologias mais apuradas para a identificação desses sentimentos e é uma das áreas mais populares de PLN. Os primeiros artigos no assunto datam da década de 90. Dentre as aplicações abordadas está a recomendação de compra e venda de ações de acordo com a opinião dos investidores sobre os papéis. Além disso se tornou uma área muito importante para empresas auxiliando em pesquisas de mercado e opinião e gerenciamento de reputação online. Um dos modelos de classificação binário (positivo ou negativo) é o Naive Bayes. Um ponto relevante levantado para a correta classificação dos textos é o tratamento de negações no texto, cuja solução foi apresentada por Sanjiv Das e Mike Chen em 2001 e consistia da adição de um prefixo de negação das palavras entre a negação original e o próximo sinal de pontuação. Ao final da aula foi apresentado um projeto desenvolvido na UFABC para a busca de similaridades entre ementas de disciplinas, o qual se propôs a analisar a existência de sobreposição de assuntos entre diferentes disciplinas. Essa análise possibilita melhor organização de ofertas de disciplinas na universidade.
Gustavo Zanfelice Dib Uma tarefa do processamento de linguagem natural é identificar o contexto geral do texto. O primeiro exemplo apresentado em aula são as avaliações (feedback) de um livro, onde as palavras "positivas" são destacadas. Essas são as palavras que desejamos buscar. Além de termos 100% positivos, existem termos ambíguos, Por exemplo "Leitura fácil porém decepcionante". Search.carrot2.org (Clustering Engine): Agrupa o resultados de uma busca específica em clusters Análise de Sentimento / Opinion Mining / Market Sentiment / Machine Learning / Algorithms Análise de Sentimentos ou Mineração de Opinião é formar um conjunto sobre uma análise para tentar agrupar Opiniões, Emoções, Julgamentos ou Pareceres. Subtarefas: Classificação de sentimento: Positiva/Negativa/Neutra Geração de lexicon: Verifica a tendência de uma palavra ser positiva, negativa ou neutra Quantificação de sentimento: Verifica a intensidade da análise anterior Extração de Opinião: Dada uma opinião, deseja-se identificar a polaridade e contexto geral da opinião exposta. Bases abertas IMDB, Amazon Os dados utilizados foram rotulados na mão anteriormente, logo, o aprendizado é monitorado. Avaliando o desempenho: Existem diferentes validações para o desempenho de um modelo. Um método é avaliar os Falsos e Verdadeiros positivos e negativos. Essas medidas são Revocação, Precisão, Acurácia, F-Score, entre outras. Os exemplos de classificadores exibidos em aula utilizam o Naive Bayes para as predições com bases já Taggeadas. Uma boa prática para analisar o texto seria realizar um pré-processamento das informações. Ainda assim, existem frases muito similares com sentidos completamente oposto, por exemplo, ‘não gostei’ e ‘realmente gostei’. Nestes casos, existe uma estratégia que é replicar o “não” em todas as outras palavras até a próxima pontuação, seja ponto, vírgula ou qualquer similar, para verificar o contexto.
Matheus Fama Machado de Sousa Resumo: Análise de sentimentos (AS) A Análise de sentimentos (AS) ou Mineração de Opinião (MO) é a aplicação de um conjunto de tarefas sobre análise de textos para evidenciar opiniões, emoções, julgamentos, ou pareceres. A AS tem grande importância nas áreas de Pesquisa de Mercado, Pesquisa de opinião, e Gerenciamento de reputação online. A análise de sentimentos tem inúmeras aplicações como em opiniões sobre filmes, avaliação de produtos ou serviços, polarização política, predição do mercado de ações, sentimento público. Como subtarefa, a mineração de opinião pode classificar trechos de textos em positivos ou negativos, pode determinar se uma palavra tende a ser positiva, negativa ou neutra, pode quantificar o sentimento estimando a prevalência de sentimentos positivos, negativos ou neutros, e também pode extrair opiniões dada uma sentença, identifica o titular da opinião, seu objeto, sua polaridade, a força dessa polaridade, e o tipo de opinião Classificação de sentimento: positivo (1) e negativo (0) A negação pode ser um problema na hora de analisar uma sentença pois tem a capacidade de inverter o sentido real da emoção. Uma das maneiras de lidar com negação, proposta por Das & Chen, seria adicionar o prefixo “não_” a cada palavra entre a negação e o sinal de pontuação. Assim : Eu não gostei muito desse filme, mas... Ficaria : Eu não_gostei não_muito não_desse não_filme, Analisando o aspecto de complexidade, classificar se um sentimento é positivo ou negativo é uma tarefa simples mas classificar um sentimo, no entanto, é uma tarefa complexa. Por fim, o grande desafio atualmente é identificar os tipos complexos de sentimentos assim como seu alvo e a sua fonte.
Lucas Monteiro de Oliveira O objetivo da aula de número 16 foi apresentar cenários de aplicação do NLTK através de exemplos práticos, focando em análise de sentimentos e similaridade entre ementas da UFABC. O primeiro exemplo apresentado abordou como identificar expressões chaves para avalaiar sentimentos em avaliações realizadas sobre uma biografia de Elon Musk. Foram apresentadas avaliações positivas, negativas e mistas, sendo a última a mais difícil de ser classificada dado o cenário. A subárea de análise de sentimentos é extremamente popular e data de meados dos anos 90. O campo de estudo está em acensão uma vez que este tipo de análise pode ser cada vez mais encontrada de acordo com o gráfico mostrado no slide 9 da aula, somente em 2018 foram 8668 artigos publicados. Uma das aplicações já existentes consiste em por exmeplo analisar como o mercado de ações pode reagir dada uma mudança de sentimento quanto a alguma parte do mercado. Apesar de existirem diversos termos para descrever esta area, o mais usado é analise de sentimentos, embora possam ser encontrados expressos como extração de opinião, mineração de opinião, mineração de sentimentos e análise de subjetividade. Devido à caracteristica de classificar as opniões de modo a separá-las de acordo com o seu contexto semântico, as tecnicas de AS, ou Análise de Sentimento, tornaram-se o “Santo Graal” das pesquisas de opnição, uma vez que podem entregar resultados parecidos mas de maneira automatizada. Dentre as subtarefas possíveis dentro da area de AS, estão a: classificação de sentimento, geração de lexicon, quantificação de sentimento, e extração de opinião.
Brian Alves Andreossi Aula 16 Nltk em análise de sensações Uma possível análise dos sentimentos do texto estão em palavras ou conjuntos de palavras com conteúdo positivo ou negativo. É possível observar algumas palavras com sensação parcial em avaliações pela Internet por exemplo. Algumas avaliações podem submeter sensações dúbias ou mesmo medianas. Ainda é possível encontrar gírias, também podendo ser adepta a qualquer um dos lados. Análise de sentimentos é algo bem popular em PLN. Começou no final dos anos 90 e teve um progresso significativo nos últimos 10 anos. Ano passado teve mais de 8500 artigos nesta área. É possível fazer análise de sentimento na área de finanças, mais especificamente no mercado de ações. Existem sites na internet especializados em Análise de Sentimentos que auxilia investidores com interpretação do humor. Outro exemplo de relevância é o mecanismo de busca de produtos do google, que consegue separar atributos e baseado no texto vincular uma barra representante do sentimento. Pode ter outros nomes, como análise de subjetividade, Mineração de opinião Existem diversos termos correlatos: Análise de subjetividade, análise de sentimento, análise de opinião, mineração de sentimento, mineração de opinião. Subtarefas na AS ou MO Classificaçao de sentimento: texto positivo, negativo, neutro Geração de lexicon: determina se uma palavra tende a ser positivo negativo ou neutro. Quantificação de sentimento: estima a prevalência de sentimentos positivos, negativo ou neutro. Extração de opinião: dada uma opinião em uma sentença, identificar o titular da opinião, seu objeto, sua polaridade, a força da polaridade e o tipo de opinião
Anderson Chaves Faria A aula foi focada sobre análise de sentimentos de textos e como avaliá-los, a grande dificuldade se encontra em textos que são "neutros" ou que possuem uma mesma quantidade de palavras que caracterizam um sentimento positivo como de palavras que caracterizam um sentimento negativo. A análise de sentimento (AS) é uma subárea muito popular de PLN, e não atoa: o valor que analisar reviews e críticas trás para todo e qualquer negócio é imensurável, e grandes empresas não tem como avaliar todo tipo de review/feedback para entender o que o consumidor pensa sobre um determinado produto ou serviço. Também conhecida como mineração de opinião, a AS se tornou o supra sumo das pesquisas de mercado/opinião e gerenciamento de reputação online e ela busca primariamente analisar textos buscando opiniões, emoções, julgamentos ou pareceres. Ela pode ser dividida também em "subtarefas": analisar um texto, analisar uma palavra, quantificar se a prevalência da opinião é positiva, negativa ou neutra e a extração total da opinião: identificando o titular, objeto, polaridade, tipo de opinião e a força dessa polaridade Por fim revimos alguns conceitos de aprendizado de máquina propriamente ditos, códigos exemplos na biblioteca NLTK e sobretudo a avaliação de desempenho (conceito de precisão, revocação, verdadeiros e falsos positivos, falsos e verdadeiros negativos. Então foi apresentado um comparativo entre disciplinas da faculdade, com algumas sendo totalmente idênticas às outras, um dado que pode auxiliar futuras tomadas de decisão para reestruturação de cursos dentro da universidade e a logística de oferta.


Número de resumos processados: 71.

Observação:


Arquivo gerado por um programa.