Metáfora Chinesa
Tarefa Compartilhada CCL 2018 - Reconhecimento de Metáforas Chinesas e Análise de Sentimentos
Descrição da tarefa
- Detalhes da missão: http://ir.dlut.edu.cn/news/detail/508
- Atualização: a subtarefa 1 é uma tarefa de duas categorias. Você só precisa identificar se é uma metáfora verbal.
- Horário: Prazo final às 9h30. Cada equipe pode enviar resultados nos dias 9 de setembro, 16 de setembro, 23 de setembro e 30 de setembro, a partir das 22h de todos os domingos. Cada equipe só pode enviar no máximo três vezes por semana, e de acordo com os últimos resultados enviados calcular o; classificação. Será anunciado no site (http://ir.dlut.edu.cn/) antes das 17h dos dias 10, 17, 24 de setembro e 1º de outubro.
- Dados de treinamento: http://ir.dlut.edu.cn/File/Download?cid=3 "Dados de avaliação de reconhecimento de metáfora chinesa e análise de sentimento CCL 2018"
- Dados de teste (sem rótulo): http://ir.dlut.edu.cn/File/Download?cid=3 "Dados de teste de reconhecimento de metáfora chinesa e análise de sentimento CCL 2018"
- Lembrete: De acordo com os requisitos do organizador, este conjunto de dados só pode ser utilizado para esta tarefa de avaliação. Para outros usos, entre em contato com o organizador.
Estrutura do repositório
- /Corpus: Armazena o corpus de metáforas chinesas da Penn StateUCMC (ainda não usado)
- /data: dados de treinamento e teste
- /dicts: os dicionários relacionais das duas subtarefas, bem como o vocabulário
- /memo: ata da reunião
- /model_structure: diagrama de estrutura do modelo nn
- /paper: literatura relacionada
- /pretrained_emb: incorporação de palavras pré-treinadas baixadas da Internet (com base na Wikipédia), filtradas
- /src: código
- /resultados: resultados da avaliação do modelo e rótulos de teste gerados
- /models: Você mesmo precisa construir esse caminho. Abaixo estão dois subcaminhos: /verb e /emo, que são usados para armazenar os modelos treinados.
- /submission: arquivos de resultados enviados, armazenados por data
Estrutura de código
- Código principal:
- conf.py: Defina vários parâmetros
- multi_cgru_keras.py: estrutura do modelo
- train.py: treine o modelo em 90% dos dados de treinamento
- eva_model.py: Avalie o desempenho do modelo em 10% dos dados de treinamento
- generate_test_labels.py: prevê rótulos no conjunto de testes
- Código auxiliar:
- split_data.py: divida o conjunto de treinamento em 90% (para treinamento) e 10% (para avaliar o desempenho do modelo)
- back_translate.py: Use a API do Google Translate para adicionar dados de treinamento
- convert_data.py: converta dados de xml para txt e converta rótulos numéricos em rótulos de texto fáceis de entender
- data_provider.py: leia os dados e prepare-se para o treinamento
- filter_wordemb.py: Filtra vetores de palavras pré-treinados com base em dados de treinamento e teste, retendo apenas palavras que aparecem nos dados (os vetores de palavras do wiki atuais foram filtrados)
Como executar código
- Defina parâmetros relevantes em conf.py
- Execute train.py para treinar o modelo
- Execute eva_model.py para avaliar o desempenho do modelo
- Com base nos resultados da avaliação da terceira etapa, selecione o modelo com melhor desempenho e use generate_test_labels para gerar rótulos de dados de teste.
Feito
- Linha de base NN: Com base no CGRU, o melhor desempenho (precisão) é de cerca de 70% para a tarefa1 e cerca de 39% para a tarefa2.
- Comparação: Linha de base da maioria, tarefa2 37%
- Comparação: linha de base ingênua baseada no léxico emocional, sem aprendizado de máquina, tarefa2 51%
- Com base no NN Bseline, experimente os seguintes recursos:
- Otimize a camada de incorporação
- Use incorporação pré-treinada para substituir a incorporação aprendida pelo próprio modelo. O melhor desempenho da tarefa2 é de cerca de 50%.
- Emenda de vetores de palavras: combinada com a redução do parâmetro suave, macro task2 f - 39,6%
- Retrotradução
- Google Translate 6 idiomas, testou vários métodos de filtragem, task2 tem o melhor desempenho de cerca de 53%
- Outras estruturas de modelo
- Use incorporação diretamente como recursos de classificação
- LSTM + totalmente conectado: macro task2 f - 40%
- Uma pequena análise de erro:
- Observou-se que o overfitting era grave, então tentei ajustar l2(↑), dropout(↑), smooth(↓), mas não foram encontradas grandes mudanças. Ao mesmo tempo, constatou-se que o desempenho do mesmo modelo. estava instável (a diferença entre múltiplas execuções da tarefa2 poderia chegar a 10%)
- Alguns dos casos ruins são sentenças com transições (por exemplo, contêm palavras como "como poderia não ser", "não pode", "desde", etc.)
- Verificou-se que algumas das anotações nos dados eram questionáveis
- Obtenha o corpus de metáforas chinesas da Penn State, que pode ser usado para incorporação de palavras de autotreinamento
- Corpus de treinamento complementar: use outro corpus em inglês para traduzi-lo de volta para complementar o corpus de treinamento
- Ajustar parâmetros
Lista de tarefas
- Experimente mais recursos com base na linha de base do NN:
- Continue a otimizar a camada de incorporação
- Use outras incorporações pré-treinadas: por exemplo, incorporação treinada no corpus de metáforas da Penn State, incorporação ELMo, etc.
- Adicione o vocabulário emocional a nn:
- Incorporação de rótulos: O método existente é usado apenas para rótulos com relacionamentos progressivos (muito neg, neg, neutro, pos, muito pos)
- subcategoria de verbos e substantivos
- Relação de dependência
- Ao observar os dados, examine o papel das palavras funcionais nas duas subtarefas e, em seguida, decida quais informações sobre as palavras funcionais adicionar ao modelo. Palavras funcionais: Que tipo de informação é útil?
- Experimente outras estruturas de modelo:
- (Consulte o artigo 'A linha de base precisa de mais amor: em modelos simples baseados em incorporação de palavras e mecanismos de agrupamento associados')
- Use o Transformer como codificador de frase (veja o artigo 'Atenção é tudo que você precisa')
Recursos
- Corpus de metáforas chinesas da Penn State (http://www.personal.psu.edu/xxl13/download.html)
- Biblioteca de Ontologia de Vocabulário Emocional da Universidade de Tecnologia de Dalian (http://ir.dlut.edu.cn/EmotionOntologyDownload)
Organizador
Laboratório de Pesquisa de Recuperação de Informação da Universidade de Tecnologia de Dalian