Cette chose est un devoir majeur pour un cours d'examen de premier cycle. Il a été essentiellement écrit de manière aléatoire. À cette époque, je ne savais rien et je ne pouvais pas utiliser toutes sortes d'API, donc la mise en œuvre dans de nombreux endroits était très inappropriée. De plus, le modèle a également sélectionné le modèle le plus simple afin d'économiser des problèmes, et il n'a aucune valeur de référence au niveau du code et au niveau académique.
De plus, comme il n'y a aucune autorisation d'utiliser les données, je ne peux pas divulguer l'ensemble de données. Veuillez comprendre
Système de questions et réponses chinoises basées sur LSTM
Ce projet réalise la fonction de trouver la phrase où la réponse à une question donnée est située dans plusieurs phrases en établissant un modèle de réseau de mémoire à deux voies et à court terme. Sur la prémisse de l'utilisation de ressources Internet tierces , Develop.data peut être vérifiée en utilisant le modèle formé à la formation.data. Le MRR peut atteindre 0,75 ou plus.
Comment courir
Dépendance environnementale
programme Version python 3.5.2 Tensorflow 1.2.1 jieba 0,38 Cuda 8.0 (8.0.61.2) bouton 5.1 Cuda et Cudnn sont tous deux des dépendances de TensorFlow. Veuillez vérifier la documentation officielle TensorFlow pour obtenir la méthode d'installation. Le reste peut être installé à l'aide de la commande
pip installInstructions d'utilisation des ressources tierces
- Lorsque vous effectuez une segmentation de mots sur le texte chinois, la segmentation Jieba est utilisée
- Lors du codage de bons mots, le codage d'intégration des mots est utilisé afin d'éviter les pertes de performances causées par un codage à un hot. Le Vector Word utilise un fichier vectoriel de mot à 50 dimensions obtenu par une formation de données hors ligne en wikipedia chinois
Exécuter le programme
Après avoir installé la bibliothèque de dépendances, exécutez simplement main.py directement. S'il existe un modèle qui a été formé, le programme vous invitera à charger le modèle directement ou à recommencer la formation.
main.py ne reçoit pas de paramètres. Si vous devez modifier la configuration, veuillez modifier directement le code. Il existe des commentaires chinois détaillés dans le fichier, veuillez les modifier en conséquence
Taevaluation.py est un script d'évaluation qui peut fournir des évaluations de MRR, MAP et ACC @ 1, écrite par l'assistant enseignant adjoint. J'ai apporté quelques modifications au format d'entrée et de sortie
Sur la formation
Lorsque vous choisissez de ne pas utiliser le modèle formé, ou il n'y a pas de modèle formé, le programme utilisera les données dans Training.data et Develop.data pour former le modèle. Lorsque vous utilisez des paramètres par défaut, la formation consommera jusqu'à la mémoire de la mémoire 8G + 2G. Veuillez vous assurer que l'ordinateur dispose à l'avance suffisamment de ressources matérielles pour prévenir les rapports d'erreur. Le processus de formation complet a duré environ 12 heures dans mes conditions GTX 850m + i5 4210h.
De plus, lorsque j'ai ajusté les paramètres, même avec les mêmes paramètres, les résultats de chaque formation peuvent toujours fluctuer d'un maximum de 0,03 en utilisant la métrique MRR, et la raison n'est pas claire. En raison du matériel personnel et des limites de temps, seul un ajustement de paramètres très approximatif a été effectué, et la plupart des paramètres ont encore de la place pour une optimisation supplémentaire. Si vous êtes intéressé, vous pourriez aussi bien essayer de l'optimiser.