This project is an end-to-end machine learning pipeline aimed at building a Question Answering model for the Persian language. The pipeline encompasses four main phases: Requirement Engineering and Specification, Data Gathering, Preprocessing, and Exploratory Data Analysis (EDA), Modeling and Comparison of Different Baselines, and finally, Deployment and Monitoring.
In this phase, the project goals, requirements, and specifications were defined. Key tasks and objectives included:
- Identifying the need for a Persian Question Answering model.
- Defining the scope and objectives of the project.
- Determining the target audience and use cases.
- Setting up success criteria and performance metrics.
In this phase, the focus was on obtaining relevant data, preparing it for modeling, and conducting exploratory data analysis. Key tasks and objectives included:
- Sourcing Persian language text data suitable for question answering.
- Preprocessing the data, which may include text cleaning, tokenization, and handling missing values.
- Performing EDA to gain insights into the dataset, such as distribution of data, question-answer pairs, and potential biases.
This phase involved building, training, and evaluating various machine learning models for question answering. Key tasks and objectives included:
- Developing baseline models using common techniques and algorithms.
- Experimenting with advanced models, such as transformer-based architectures, for improved performance.
- Evaluating model performance using appropriate metrics, such as accuracy, F1 score, and others.
- Comparing and selecting the best-performing model(s) based on predefined criteria.
In the final phase, the focus shifted towards deploying the selected model(s) and establishing a monitoring system. Key tasks and objectives included:
- Deploying the question answering model in a suitable production environment.
- Setting up monitoring and alerting systems to track model performance and potential issues.
- Ensuring scalability, reliability, and efficiency of the deployed system.
- Ongoing monitoring and maintenance to address any drift in data or model performance.