Em um corpus multilingue de sentimentos


7

Estou procurando compilar um corpus de sentimentos para artigos de notícias em vários idiomas (~ 100 mil por idioma. Para um experimento de aprendizado de máquina) em que cada artigo é rotulado como positivo, neutro ou negativo. Pesquisei alto e baixo, mas não consegui encontrar nada parecido com este disponível. Eu já tenho os artigos de notícias em cada idioma.

Minha pergunta à comunidade é: como você conseguiria isso com a maior precisão possível?

Eu estava olhando pela primeira vez para o Mechanical Turk , onde você pode contratar pessoas para rotular cada artigo manualmente para você. E este pode ser o melhor caminho a seguir, mas caro . insira a descrição da imagem aqui

Em seguida, pensei em todas essas bibliotecas populares existentes (alguns dos Mechanical Turk quais já usado) que faça análise de sentimento ( AFINN , Bing Liu , MPQA , VADER , TextBlob , etc.)

  1. Ideia de sentimento

Minha idéia atual é que eu publique cada artigo de notícias em algumas dessas bibliotecas (por exemplo, AFINN, TextBlob e VADER) e nos artigos que mostram positivo, negativo e neutro por unanimidade, embora todas as três libs sejam aceitas no corpus. Parece um processo de verificação bastante forte e razoável?

  1. Idéia de idioma

A próxima edição refere-se à própria linguagem. O pipeline de 3 libs acima pode ser executado em inglês sem problemas. No entanto, essas bibliotecas não suportam a uniformidade de muitos outros idiomas (espanhol, alemão, chinês, árabe, francês, português etc.). Eu estava pensando em fazer o que o VADER sugere e pegar as notícias em idiomas que não o inglês e enviá-las pela Tradução do Google API para colocá-los em inglês e enviá-los pelo pipeline de 3 lib existente acima. Sei que haverá uma perda na semântica para muitos artigos. No entanto, minha esperança é que artigos suficientes sejam traduzidos o suficiente para que alguns passem pelo pipeline de 3 lib.

Estou ciente de que a tradução e o envio de artigos de notícias através desse canal de sentimentos triplos às cegas pode levar um corpus de 100 mil e produzir 10 mil resultados. Eu estou bem com isso. A precisão e o preço são a minha preocupação. Eu posso facilmente adquirir mais dados.

O que você faria para ser uma maneira mais precisa de obter um corpus de sentimentos de artigos de notícias? Existe uma prática recomendada existente para montar um corpus como este?


2
Penso que o principal problema disso é que, quanto mais tempo um artigo, menos claro é o sentimento. Um longo artigo de notícia pode facilmente conter partes positivas, negativas e neutras em diferentes proporções. É por isso que você vê a análise de sentimentos principalmente em textos curtos, como respostas a pesquisas, tweets etc. É bastante claro em seus artigos a que sentimento eles devem ser atribuídos?
oW_

Interessante. Obrigado pela sua resposta! Não está claro qual é o sentimento geral para os arquivos.
20918 Chris

@ Chris, se não está claro qual é o sentimento, por que você deseja rotulá-lo? Qual é o objetivo de ter o sentimento por artigo?
Bruno Lubascher 22/11

Obrigado @BrunoGL. Gostaria de rotular cada artigo para um conjunto de treinamento. Estes são artigos aleatórios. Estou usando-os especificamente para generalização (treinando um NN) em todo o corpus.
23418 Chris

Que tal rotular não todo o artigo com um único sentimento, mas cada linha dos artigos pode ter seu próprio sentimento?
Atmarges

Respostas:


1

Várias perguntas e pensamentos vêm à mente.

  1. Quais idiomas estão no corpus? Isso pode afetar quais serviços você pode aproveitar.
  2. Gosto da "Ideia de sentimento" para idiomas suportados nativamente pelos serviços que você mencionou.
  3. Eu manteria a "Idéia do idioma" como último recurso, pois é possível que o mecanismo de tradução não capture o sentimento do idioma original.
  4. O Turk mecânico seria uma boa opção se você puder limitar o número de amostras enviadas para classificação. Para cada idioma, você pode tentar agrupar as passagens, por exemplo, contagem de palavras em 30 (você escolhe) clusters e, em seguida, realizar amostragem dentro dos clusters para identificar passagens candidatas a serem enviadas ao Mechanical Turk. Eu usei essa técnica para tentar amostrar o espaço vetorial de maneira mais uniforme.

Não descarte o comentário de oW_. Você deve considerar seriamente dividir os artigos em parágrafos. Você sempre pode agregar as pontuações do parágrafo ao artigo, mas é difícil obter uma pontuação representativa à medida que o texto fica mais longo.

HTH

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.