A Keras implementation of Microsoft's R-NET neural network for question answering on the SQuAD dataset.
R-NET-in-Keras is an open-source implementation of the R-NET neural network architecture, designed for machine reading comprehension and question answering tasks. It replicates the model from a Microsoft Research Asia technical report, targeting the Stanford Question Answering Dataset (SQuAD) to predict answers from given passages. The project includes code for training, evaluation, and analysis, with a focus on reproducing reported performance metrics like exact match and F1-score.
Researchers and developers working in natural language processing (NLP) and deep learning, particularly those interested in question answering systems, model reproducibility, or experimenting with Keras-based neural networks.
It provides a transparent, community-driven implementation of a cutting-edge (at the time) NLP model, complete with detailed documentation on challenges and adjustments, making it a valuable resource for educational purposes and further research in neural network architectures.
Open R-NET (hy` առնետ 🐁) implementation and detailed analysis: https://git.io/vd8dx
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes a detailed blog post and README notes that openly discuss implementation hurdles and deviations from the original paper, such as adjustments to hidden layer sizes and dropout, fostering reproducibility and community learning.
Provides a clear Keras-based codebase for studying advanced neural network components like self-matching attention and pointer networks, as described in the Microsoft Research technical report.
Offers a downloadable pre-trained model in Release v0.1, enabling immediate experimentation or benchmarking on SQuAD without the need for full retraining.
Documents specific performance metrics (e.g., EM=57.52%, F1=67.42% on dev set) and practical adjustments, such as reducing hidden dimensions to 45 to combat overfitting, based on empirical testing.
Fails to achieve the original paper's scores on SQuAD, with a significant performance gap (e.g., dev set F1=67.42% vs reported 79.7%), indicating potential bugs or misinterpretations in the implementation.
Requires specific Keras version 2.0.6 and involves multiple preprocessing scripts, making it difficult to run on modern systems and increasing the risk of dependency conflicts.
The README admits uncertainties about correct dropout application and weight initialization, and acknowledges possible bugs, which undermines confidence in the model's reliability.