Essa coisa é um dos principais trabalhos de casa para um curso de graduação. Foi basicamente escrito de maneira aleatória. Naquela época, eu não sabia de nada e não podia usar todos os tipos de APIs, então a implementação em muitos lugares era muito inapropriada. Além disso, o modelo também selecionou o modelo mais simples para economizar problemas e não tem valor de referência no nível do código e no nível acadêmico.
Além disso, como não há autorização para usar os dados, não posso divulgar o conjunto de dados. Por favor, entenda
Perguntas e respostas chinesas baseadas no LSTM
Este projeto realiza a função de encontrar a frase em que a resposta para uma determinada pergunta está localizada em várias frases, estabelecendo um modelo de rede de memória de longo e curto prazo. Com a premissa de usar recursos da Internet de terceiros , o desenvolvimento.data pode ser verificado usando o modelo treinado em treinamento.data. O MRR pode atingir 0,75 ou acima.
Como correr
Dependência ambiental
programa Versão Python 3.5.2 Tensorflow 1.2.1 Jieba 0,38 CUDA 8.0 (8.0.61.2) cudnn 5.1 CUDA e CUDNN são dependências do tensorflow. Verifique a documentação oficial do TensorFlow para obter o método de instalação. O restante pode ser instalado usando o comando
pip installInstruções para o uso de recursos de terceiros
- Ao realizar segmentação de palavras no texto chinês, a segmentação de Jieba é usada
- Ao codificar boas palavras, a codificação de incorporação de palavras é usada para evitar as perdas de desempenho causadas pela codificação única. O Word Vector usa um arquivo vetorial de palavra 50-dimensional obtido através do treinamento offline de dados na Wikipedia chinesa
Execute o programa
Depois de instalar a biblioteca de dependência, basta executar o main.py diretamente. Se houver um modelo que tenha sido treinado, o programa solicitará que você carregue o modelo diretamente ou inicie o treinamento novamente.
main.py não recebe parâmetros. Se você precisar modificar a configuração, modifique o código diretamente. Existem comentários chineses detalhados no arquivo, modifique -os de acordo
TaEvaluation.py é um script de avaliação que pode fornecer avaliações de MRR, mapa e acc@1, escrito pelo assistente de assistente de ensino. Fiz algumas modificações no formato de entrada e saída
Sobre treinamento
Quando você optar por não usar o modelo treinado, ou não há modelo treinado, o programa usará os dados em treinamento.data e desenvolve.datos para treinar o modelo. Ao usar parâmetros padrão, o treinamento consumirá até 8G Memory + 2G Video Memory. Verifique se o computador possui recursos de hardware suficientes com antecedência para evitar relatórios de erros. O processo de treinamento completo levou cerca de 12 horas sob minhas condições GTX 850M+I5 4210H.
Além disso, quando ajustei os parâmetros, mesmo com os mesmos parâmetros, os resultados de cada treinamento ainda podem flutuar em um máximo de 0,03 usando a métrica MRR, e o motivo não está claro. Devido a hardware pessoal e limitações de tempo, apenas um ajuste de parâmetro muito aproximado foi realizado e a maioria dos parâmetros ainda tem espaço para otimização adicional. Se você estiver interessado, é melhor tentar otimizá -lo.