The core of the project is creating a Named Entity Recognition (NER) model built using a Bi-directional Long Short-Term Memory (BLSTM) network, a Convolutional Neural Network (CNN) for character-level embeddings, and a Conditional Random Field (CRF) layer.
This project uses uv for environment management. To set up the required Python environment, run the following command in the root directory:
uv syncThe main logic for data processing, model training, and evaluation is contained in the solution.ipynb notebook. To run the project, open this notebook in a Jupyter environment and execute the cells sequentially.
- Python 3.11
uvfor environment management- The Python dependencies are listed in the
pyproject.tomlfile.
- CPU/GPU: Apple M4 Air
- Memory: 16GB
- Parallelization: No parallelization used
- Runtime: The training process takes approximately 35 minutes