Certains code pour faire la modélisation du langage avec des keras, en particulier pour les tâches de réponses aux questions. J'ai écrit un très long article de blog qui explique comment beaucoup de ces travaux, qui peuvent être trouvés ici.
attention_lstm.py : LSTM Attentional, basé sur l'un des articles référencés dans le billet de blog et autres. Une application l'a utilisé pour le sous-titrage de l'image. Il est initialisé avec un vecteur d'attention qui fournit la composante d'attention du réseau neuronal.insurance_qa_eval.py : Cadre d'évaluation pour l'ensemble de données InsuranceQA. Pour que cela fonctionne, clonez le référentiel de données et définissez la variable d'environnement INSURANCE_QA dans le référentiel cloné. La modification config ajustera la façon dont le modèle est formé.keras-language-model.py : La classe LanguageModel utilise les paramètres config pour générer un modèle de formation et un modèle de test. Le modèle peut être formé en passant un vecteur de questions, un vecteur de réponse à la vérité au sol et un mauvais vecteur de réponse à fit . Ensuite, predict calcule la similitude entre une question et une réponse. Remplacez la méthode build avec le modèle de langue que vous souhaitez obtenir un modèle formable. Des exemples sont fournis en bas, notamment le EmbeddingModel , ConvolutionModel et RecurrentModel . # Install Keras (may also need dependencies)
git clone https://github.com/fchollet/keras
cd keras
sudo python setup.py install
# Clone InsuranceQA dataset
git clone https://github.com/codekansas/insurance_qa_python
export INSURANCE_QA= $( pwd ) /insurance_qa_python
# Run insurance_qa_eval.py
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling/
python insurance_qa_eval.pyAlternativement, j'ai écrit un script pour démarrer sur une instance de plate-forme Google Cloud (Ubuntu 16.04) qui peut être exécuté via
cd ~
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling
source install.pyJ'ai travaillé à rendre ces modèles disponibles prêts à l'emploi. Vous devez installer la branche GIT de Keras (et peut-être apporter des modifications) afin d'exécuter certains de ces modèles; Le projet Keras peut être trouvé ici.
Le programme Runnable est insurance_qa_eval.py . Cela créera un models/ répertoire qui stockera une histoire des poids du modèle lors de sa création. Vous devez définir une variable d'environnement pour lui dire où se trouve l'ensemble de données Insurance_QA.
Enfin, ma configuration (qui, je pense, est assez courante) est d'avoir un SSD avec mon système d'exploitation et un disque dur avec des fichiers de données plus grands. Je recommanderais donc de créer un models/ un lien symbolique du répertoire de projet à quelque part dans votre disque dur, si vous avez une configuration similaire.
J'ai ajouté un argument de ligne de commande qui utilise Flask pour servir à un port. Une fois que vous avez installé Flask, vous pouvez courir:
python insurance_qa_eval.py serveCeci est utile en combinaison avec NGROK pour surveiller les progrès de la formation de votre bureau.