A classificação do sentimento neural visa classificar o sentimento em um documento com modelos neurais, que tem sido os métodos de ponta para classificação de sentimentos. Neste projeto, fornecemos nossas implementações de NSC, NSC+LA e NSC+UPA [Chen et al., 2016], no qual as informações do usuário e do produto são consideradas por meio de atenção em diferentes níveis semânticos.
Resultados da avaliação na classificação do sentimento no nível do documento. ACC. (Precisão) e RMSE são as métricas de avaliação. 
Na tabela acima, modelos de linha de base, incluindo majority, trigram, textfeature, upf, avgwordvec, sswe, rntn + rnn, vetor de parágrafo, jmars e upnn são relatados em [Tang et al., 2015].
Fornecemos conjuntos de dados IMDB, YELP13 e YELP14 que usamos para classificação de sentimentos em [download]. O conjunto de dados deve ser descomprimido e colocado na pasta NSC/, NSC+LA/ou NSC+UPA/.
Preparamos os dados originais para fazê -los satisfazer o formato de entrada de nossos códigos. Os conjuntos de dados originais são lançados pelo artigo [Tang et al., 2015]. [Download]
Os vetores de palavras pré-treinados são aprendidos em cada conjunto de dados (IMDB, Yelp13, Yelp14) separadamente.
O conjunto de dados em cada domínio contém sete arquivos, usando o seguinte formato:
O modelo treinado pode ser encontrado neste link.
Os códigos de origem de vários modelos são colocados nas pastas NSC/SRC, NSC+LA/SRC, NSC+UPA/SRC.
Para treinamento, você precisa digitar o seguinte comando na pasta src/ de cada modelo:
THEANO_FLAGS="floatX=float32,device=gpu" python train.py $dataset $class
Onde o conjunto de dados é a pasta do conjunto de dados correspondente, a classe é o número de domínio correspondente.
Por exemplo, usamos o seguinte comando ao classificar o documento IMDB:
THEANO_FLAGS="floatX=float32,device=gpu" python train.py IMDB 10
O arquivo do modelo de treinamento será salvo no modelo de pasta/ BestModel/ de cada modelo.
Para testes, você precisa digitar o seguinte comando na pasta src/ de cada modelo:
THEANO_FLAGS="floatX=float32,device=gpu" python test.py $dataset $class
Onde o conjunto de dados é a pasta do conjunto de dados correspondente, a classe é o número de domínio correspondente.
Por exemplo, usamos o seguinte comando ao classificar o documento IMDB:
THEANO_FLAGS="floatX=float32,device=gpu" python test.py IMDB 10
O resultado do teste que relata a precisão e o RMSE serão mostrados na tela.
Se você usar o código, cite o seguinte artigo:
[Chen et al., 2016] Huimin Chen, Maosong Sun, Cunchao Tu, Yankai Lin e Zhiyuan Liu. Classificação do sentimento neural com atenção do usuário e do produto. Em Anais da Emnlp. [PDF]
[Chen et al., 2016] Huimin Chen, Maosong Sun, Cunchao Tu, Yankai Lin e Zhiyuan Liu. Classificação do sentimento neural com atenção do usuário e do produto. Em Anais da Emnlp. [PDF]
[Tang et al., 2015] Duyu Tang, Bing Qin, Ting Liu. Aprendendo representações semânticas de usuários e produtos para classificação de sentimentos em nível de documentos. Em Anais da EMNLP.